Inspiration## Inspiration
Bramsee began with a missed class. After moving to Brampton, Sunny relied on Google Maps to travel from Leadership Drive to Algoma University. He arrived early at the recommended stop, but the bus shown in the live predictions never arrived. Trusting that information meant missing an alternative route—and class.
TransSee provided more dependable arrival information in his experience, but navigating it was difficult. We wanted its practical usefulness in an interface that newcomers, first-time riders and people with limited English could follow more easily.
What it does
Bramsee helps riders compare ways to reach their destination through a simple stack of journey cards. Walking and transit options appear together, ordered by estimated arrival time.
Users can search addresses, places or stops; choose a future departure time; view walking directions on the map; and check live Brampton arrival estimates. Accounts support named saved routes, favourite stops, profile photos, email verification and password recovery.
Riders can also share their journey location through a link and choose when sharing ends. Bramsee works on desktop and mobile browsers and supports installation as a progressive web app.
How we built it
We built Bramsee using React, TypeScript and Vite through Vinext, deployed on Cloudflare Workers with a D1 database.
Official GTFS timetables power routing, while Brampton’s GTFS-Realtime feeds provide arrival updates and vehicle positions. Openrouteservice supplies walking directions and address search, with Leaflet and OpenStreetMap powering the map.
A daily GitHub Actions workflow downloads and validates updated timetables, runs routing tests and deploys only after those checks pass.
Challenges we ran into
Our first routing implementation returned no journey where other tools showed alternatives. We had to improve nearby-stop coverage, walking transfers, overnight service handling and the matching of real-time updates to the correct trip date.
We also learned that a connected feed does not guarantee a useful prediction. The interface needed to distinguish live estimates, scheduled departures and stale information clearly.
Deploying accounts, protecting private keys and making shared locations update reliably introduced another set of challenges beyond the initial interface.
Accomplishments that we're proud of
We turned a personal frustration into a working, publicly accessible prototype.
We brought walking and transit into one comparison, added mapped walking guidance, and preserved the original late-night routing failure as a regression test. We also verified account isolation, single-use password resets and the removal of shared location access after sharing stops.
Our first automated timetable refresh successfully downloaded, validated, tested and deployed official transit data.
What we learned
Reliable transit guidance requires more than displaying a countdown. Service dates, walking time, transfer feasibility and data freshness all affect whether someone can actually catch a bus.
We also learned that simplicity takes engineering: the interface becomes easier to understand when the system handles complexity carefully and communicates uncertainty honestly.
What's next for Code-right Till Sunrise
Our team will gather feedback from Brampton riders and test more real journeys, especially late-night trips, transfers and weak-GPS conditions.
Next priorities include multilingual guidance, stronger accessibility support, more flexible routing and GO Transit real-time integration. GO journeys currently use scheduled times. We want to expand beyond Brampton while keeping the same focus: helping an unfamiliar rider reach their destination with less confusion.
Built With
- brevo
- chatgpt
- cloudflare
- vscode
Log in or sign up for Devpost to join the conversation.