A high-performance interactive mapping application built in C++ using OpenStreetMap data. Achieved O(1) spatial queries across 100K+ Toronto intersections with all functions executing under 150ms.
Warning
Source code is kept private per course policy (UofT ECE297). This repository contains documentation and visuals only.
- Query time: 500ms → 0.2ms (90%+ reduction via perf profiling)
- O(1) intersection lookups using a 160×160 geo-grid index
- Smooth 60fps zoom and pan across 10+ cities
- Zero memory leaks verified across all map datasets
- All required functions execute in under 150ms
- Language: C++, STL
- Graphics: EZGL / GTK3 / Cairo
- Data: OpenStreetMap APIs
- Profiling: perf, Valgrind, Chrono library
- Version Control: Git (3-person team)
- 160×160 geo-grid spatial index for O(1) intersection lookups
- Partial-name search with click-to-highlight intersections
- POI filtering by category (food, medical, transit, etc.)
- Light/dark mode toggle
- Multi-city support
- Integrated "Paimon" travel guide assistant with local recommendations
- Route visualization between any two intersections
4-person team project — UofT ECE297 (Software Design and Communication)