A real-time TTC streetcar tracker for iOS. See where every streetcar is, get arrival predictions, and spot service issues at a glance.
- Live tracking of all 9 TTC streetcar routes (501, 503, 504, 505, 506, 509, 510, 511, 512)
- Interactive map with color-coded vehicle positions and route filtering
- Arrival predictions with live countdown timers
- Service status indicators (good, fair, poor) for each route
- Bunching and gap detection with alert banners
- Offline support via cached data
- Auto-refresh every 25 seconds
| Routes | Detail | Map |
|---|---|---|
| Route list with status badges and vehicle counts | Predictions, direction picker, and alerts | All vehicles plotted across Toronto |
MVVM with async/await. Data flows from the NextBus XML API through XML parsers into observable view models.
Models Sendable structs (Vehicle, Route, Prediction, etc.)
Services API client, XML parsers, cache, service analyzer
ViewModels @Observable classes driving each screen
Views SwiftUI with MapKit integration
- iOS 18+
- Xcode 26+
- Swift 6
- Clone the repo
- Open
TrackThatStreet.xcodeproj - Build and run on a simulator or device
No API keys or configuration needed.
MIT