Inspiration
Over 3 million students rely on Shuttle-UM buses at the University of Maryland each year. While the Transit App offers reliable real-time tracking, I noticed a gap: it felt too cluttered. Buddy makes navigating campus buses and Metrobus as simple as saying, “Find me a bus to Regents Drive Garage?”
What it Does?
- Listen to natural speech
- Understand bus-related queries like:
- "Find me a bus to Eppley Recreation Center.”
- "Find me a bus from Graduate Hills to Regents Drive Garage.”
- “Show me the bus route”:
This would create a photorealistic 3D map animation for all the bus stops. - "Where am I right now?":
Automatically fetch your location using GPS coordinates and display it. - Retrieve and summarize the bus transit itineraries.
How its built ?
- Flutter + Dart: Built the mobile interface for speech interaction, message rendering, etc.
- Speech-to-Text: Used
speech_to_textpackage to convert voice to text in real-time. - Flask Backend: Acts as a middleware between the app and third-party APIs (Dialogflow, TransitApp, Maps, Gemini).
- Dialogflow: Handles NLP for understanding intents.
- Geolocation: Fetches user coordinates and place names using the Geolocator package and Google Maps Geocoding API.
- Photorealistic 3D Tiles API: Used to show animation and bus stops.
- Transit Routing: Calls TransitApp’s OTP planning API for real-time itinerary results.
- Google Gemini AI: Parses JSON route data and generates clean, human-friendly summaries with coordinates and dynamic Google Maps links.
Challenges:
- Geolocation accuracy: Translating location intents to real GPS data was tricky, especially with ambiguous addresses.
- 3D Maps: Figuring out the animation with each bus stop for the selected bus itinerary was difficult because this feature is in ALPHA by Google.
- Processing .json file having bus routes.
Accomplishments that I'm proud of:
- Generated interactive route summaries with Gemini AI that users can explore via photorealistic 3D maps.
What I learned
Combining Flutter , flask and a bunch of API’s and create a fully working prototype
What's next for Buddy?
More extensive summaries for Bus routes with Gemini API Add real-time bus tracking. Lot of error handling needed for edge cases. Integrate Database and multi-users.
Built With
- dialogflow
- flask
- flutter
- gemini-api
- google-ai-studio
- google-cloud
- google-maps
- javascript
- json
- ngrok
- python
- transit-api

Log in or sign up for Devpost to join the conversation.