Race results and analysis app
ShippedMyRace
Turns a runner's finish time into a full race breakdown, with Garmin Connect sync for training runs.
MyRace turns a finish time into the whole story of a race: rankings overall, by gender and by age group, half splits, age grade, and pace and elevation for every segment of the course.
I built it in Flutter for iOS and Android, porting the web experience to mobile, with a Garmin Connect integration that syncs training runs straight from the watch.
What I built
- Race rankings, splits, age grade and per-segment pace and elevation
- Garmin Connect integration (OAuth 1.0a, Health API) for training runs
- Firebase for auth, data and push notifications
- MongoDB Stitch serverless functions for race data
Stack
- Flutter
- Dart
- Redux
- Firebase
- MongoDB
- Garmin Connect
- MapBox
Screens





