Inspiration
Every commuter wakes up in the morning unsure of which route is actually fastest. Transit apps show options and how long it takes for the next bus to arrive at your stop, but it can be an inconvienice doing the same thing every day.
We wanted a tool that tells you just from a glance: “If you want to arrive at this time, take this bus at this time.”
PeakRoute instantly finds the fastest bus route based on:
- Your starting point
- Your destination
- An optional arrival time
- Real-time transit data
It returns the top three fastest routes, showing:
- Exact pickup arrival time for your bus
- Bus number
- Total travel duration
How we built it: We built PeakRoute as a full-stack project:
Backend: Node.js + Express server Google Routes API (new Directions v2) for transit and bus routing
Frontend: React + Vite + TypeScript Responsive UI using shadcn/ui and TailwindCSS Autocomplete search inputs for origin and destination
Hardware / IoT Integration: (SenseCAP Indicator)
- ESP32-based SenseCAP Indicator
Challenges we ran into:
- Parsing inconsistent API responses for transit steps
- Integrating two separate ways to display results: a web app and an embedded IoT UI.
What we're proud of:
- Learning to work with the new Google Routes API v2
- Processing and mapping low-level transit leg data into simple, user-friendly summaries.
- How to design and implement LVGL-based UIs on the SenseCAP Indicator.
What we learned:
- How to work with Google Routes API v2
- Working with hardware for the first time
- Exposing endpoints for our frontend as well as our hardware
What's next for PeakRoute:
- User accounts to save frequent locations (Home, Work, School).
- Multi-stop trip planning and accessibility routing.
- Push notifications for “leave now to catch your bus” alerts.
Log in or sign up for Devpost to join the conversation.