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.
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 Maps04 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.