/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 native╰ Crosshair map picker with fullscreen expand/collapse and POI tap-to-select with reverse geocoding
  • Keeping destination data in sync across multiple users in real time╰ Firestore snapshot listeners for real-time sync with pull-to-refresh fallback
  • Designing a voting system that's clear and easy to use at a glance╰ Going / Not Going voting with live counts and destination history with attendance stats
  • Bridging SwiftUI and UIKit for the MKMapView integration╰ UIViewRepresentable 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