Real-time NYC subway arrivals on your iPhone.
Never miss your train.
Version 1.0.0 · iOS 17+
Also available for macOS
I commute the same route every day. The only thing I actually need is when is the next train at my stop, on my line, going my direction. The home screen widget does most of the work. Glance at your phone, see the next three trains, walk out of your apartment if one is still catchable. When you need more detail, open the app for service alerts and longer countdowns.
Save up to four stops (line, direction, station) and set your walking time. The app highlights which trains you can still catch and refreshes every 60 seconds while open. Widgets pull fresh data on the iOS refresh cadence.
To add a widget: long-press the home screen, tap +, search "Arrival". The small widget shows three upcoming arrivals. The medium shows three arrivals plus a "Leave now" badge. Long-press any widget and hit Edit to pick which saved stop it displays.
Data comes from the MTA's free GTFS-Realtime feeds, the same source powering the countdown clocks in stations.
- Every NYC subway line. 1/2/3, 4/5/6, 7, A/C/E, B/D/F/M, G, J/Z, L, N/Q/R/W, S.
- All ~496 stations. Searchable picker, filtered by line.
- Up to 4 saved stops. Track multiple stations and directions.
- Home screen widgets. Small (3 arrivals) and medium (3 arrivals + leave-now badge).
- Widget stop picker. Each widget can show a different saved stop.
- Auto-refresh. Arrival data refreshes every 60 seconds while the app is open.
- Walking time. Set minutes per station. Trains you can still catch are highlighted.
- Service alerts. Live delay and planned-work notifications for your lines.
- Native SwiftUI. Follows system dark / light mode.
- Open Arrival and tap Add Stop
- Pick your subway line → direction → station
- Set your walking time (optional)
- Add a home-screen widget: long-press home screen → "+" → search "Arrival"
- Long-press the widget → Edit to pick which stop it displays
git clone https://github.com/madebysan/arrival-ios.git
cd arrival-ios
open ArrivaliOS.xcodeprojBuild and run with Xcode 16+ targeting iOS 17+. The shipped build is on the App Store.
- Swift + SwiftUI
- WidgetKit + AppIntents (configurable home screen widgets)
- Apple
swift-protobuffor GTFS-RT parsing - MTA GTFS-Realtime feeds (free, no API key)
- Swift Package Manager
All train-arrival data comes from the MTA's GTFS-Realtime feeds. Free, no API key required. The app fetches data on-demand and refreshes every 60 seconds while visible.
- Arrival for macOS (menu bar version)
Made by santiagoalonso.com
