/projects/router
The Fairman Rogers Four-in-Hand by Thomas Eakins, 1879-80

Router

A group destination planner for iOS.

SwiftMapKitFirebase

The Fairman Rogers Four-in-Hand by Thomas Eakins, 1879-80


Challenges & Solutions

  • Building an intuitive map-based location picker that feels nativeCrosshair map picker with fullscreen expand/collapse and POI tap-to-select with reverse geocoding
  • Keeping destination data in sync across multiple users in real timeFirestore snapshot listeners for real-time sync with pull-to-refresh fallback
  • Designing a voting system that's clear and easy to use at a glanceGoing / Not Going voting with live counts and destination history with attendance stats
  • Bridging SwiftUI and UIKit for the MKMapView integrationUIViewRepresentable wrapper around MKMapView with SwiftUI state bindings

Technical Details

Interactive MapKit picker with crosshair and POI selection, reverse geocoding for addresses, Firestore real-time listeners for group sync, and a voting system with attendance tracking. 'Take Me There' opens Apple Maps with directions.

Learnings

  • MapKit integration with SwiftUI via UIViewRepresentable
  • Real-time data sync patterns with Firestore snapshot listeners
  • iOS location permissions and CoreLocation best practices
  • Bridging UIKit components into a SwiftUI-first architecture