Skip to content
All work

Frontend Engineering / Interactive Experience

Interactive Map of Macedonia

An interactive, bilingual map experience with category filtering, location details and a design system inspired by Macedonian landscapes.

ReactTypeScriptViteTailwind CSSshadcn/uiReact RouterRedux ToolkitRTK QueryJestReact Testing Library
41.6086° N, 21.7453° E

01 Overview

An interactive, bilingual map experience with category filtering, location details and a design system inspired by Macedonian landscapes.

02 Why I built it

Points of interest across the country are scattered across sources. A single, fast, filterable map makes them explorable in both English and Macedonian.

03 Architecture

locationsApi (RTK Query)
        ↓
store ── filtersSlice · uiSlice
        ↓
Map view  ◄─ category filters · search
        ↓
Location details ─► Google Maps

04 Technical Highlights

  • →Category filtering across 8+ location types
  • →Dynamic mapping for new location categories
  • →Code splitting, lazy loading and memoization
  • →Custom context-based i18n (EN / MK)
  • →Token-based design system with HSL theme variables

05 Quality / Testing

Jest and React Testing Library infrastructure for components and state logic.

06 Engineering Decisions

Redux Toolkit slices for filters and UI state, RTK Query for caching location data, and dynamic type mapping so new categories work without code changes.

07 Lessons Learned

Interactive interfaces have many states. Designing state explicitly — filters, selection, loading — makes both the UI and its tests predictable.

08 Links