About the Project
We used SPOT like everyone else at IU, and after one too many times missing a bus because the app showed it somewhere it wasn't, we decided to just build something better. That was the whole inspiration — nothing fancy, just genuine annoyance turning into a weekend project.
What We Built
A real-time Bloomington Transit tracker built with React Native and Expo, pulling directly from the Bloomington Transit GTFS Realtime API with a refresh every 10 seconds. The app includes live bus tracking on an interactive map, full route overlays, a departure schedule table by stop and route, and arrival time calculations based on actual vehicle positions rather than static schedules.
What We Learned
Working with real GTFS protobuf feeds in an Expo environment was a crash course in how messy real-world transit data actually is. Syncing the static feed with live positions while keeping the UI responsive took more iteration than expected.
Challenges
The single biggest challenge was merging everyone's work into one functioning app. Three people building separate pieces across separate branches sounds clean in theory, but resolving conflicts, reconciling different assumptions about data shape, and making the screens actually talk to each other took a significant chunk of our 24 hours. On top of that, decoding the GTFS-Realtime protobuf feed in an Expo environment required multiple approaches before we landed on one that actually worked.
Built With
- api
- expo.io
- github
- google-maps
- javascript
- native
- protobuf
- react
- rest
- sdk
Log in or sign up for Devpost to join the conversation.