Inspiration

Urban commuting in the Greater Toronto Area (GTA) is frustrating for many people. Traffic congestion, long bus waits, unsafe bike routes, and rising gas prices make daily travel stressful and inefficient. As students and commuters, we experience these problems firsthand. That’s why we built UrbanFlow. Instead of being just another navigation app, UrbanFlow focuses on smarter urban mobility. It recommends optimized routes based on how you travel, whether by car, bike, or transit, while also considering factors like safer bike paths, traffic conditions, and nearby gas stations with lower fuel prices. Our goal is simple: to make commuting in Toronto smarter, safer, and better for everyday Torontonians. As we expand, we would like to accommodate all of Canada and further as well.

What it does

Our web app makes commuting in the city smarter and easier. Users can share and view real-world info like dangerous intersections, traffic issues, and parking spots so everyone knows what’s happening on the road. The app generates smart routes based on what you care about most: speed, cost, or safety—whether you’re driving, biking, or taking transit. Everything comes together in an interactive map that highlights bike-friendly routes, cheaper gas stations, parking, and risky areas, helping people travel through the city more efficiently. In short: UrbanFlow helps you move through the city the smarter way.

How we built it

For the frontend, we used Vite and React to make the UI fast and responsive. On the backend, we used Node.js and Express to handle all our routing, APIs, and heavy lifting without skipping a beat. For the database, we went with MongoDB to store all the crowdsourced map data and user reports because it just eats. The whole stack is JavaScript end-to-end, making the entire architecture super clean. The server front&back end is fully hosted through Vultr with the database hosted by MongoDB Altas. We've also locked down the database and api interactions through Auth0 to protect against bots and malicious users. Our AI layer uses an agentic Claude loop with live web search — Claude autonomously searches geopolitical news across multiple turns and cross-references with 8 years of Ontario fuel price data (hand-implemented linear regression + seasonal decomposition). We also built a Tesla-style trip planner that simulates fuel consumption point-by-point along a decoded polyline, and a carbon cost navigator fusing 4 live data sources including Toronto's real KSI collision dataset.

Challenges we ran into

Our original architecture relied on a Python back-end, but we quickly encountered critical integration bottlenecks that threatened our aggressive 36-hour timeline. Recognizing the risk, we executed a rapid pivot to a unified Node.js and Express environment to share data models seamlessly between the client and server. This agile engineering decision streamlined our development, allowing us to successfully deliver a highly responsive, data-heavy Map MVP on schedule.

Accomplishments that we're proud of

We built UrbanFlow from scratch, turning a real-world problem into a working smart mobility platform. By combining safer routes, community data, and smarter transportation insights into one experience, we built an app that is more productive than other similar platform out there. The app is fast, mobile compatible and has high functionality. We're particularly proud of building genuine agentic AI architecture — not a chatbot wrapper — and implementing statistical ML from scratch without libraries.

What we learned

Learned how to use dev tools like Auth0 and Vultr. These tools helped us so much with hosting and authentication. Auth0 helped so much with security, we used the features risk assessment, detection models, CAPTCHA for risky users, bot detection, blocked compromised credentials, Suspicious IP throttling, brute force protection, Breached password detection, supplemental signals, biometrics and passkeys. This seamless technology helped us make our website very secure with way less effort than doing it manually. Vultr was a great tool for our frontend web and backend server hosting for an all in one solution. The virtual private cloud was simple to set up while still retaining complexity needed for custom configuration. The custom network configuration that Vultr provides was great to set up ssh and public hosting for our web app.

What's next for UrbanFlow

We want to add a more polished, interactive and detailed user interface. A main goal is to have enough users to create crowd sourced data set. Short term we want to have data for all of Canada, Long term we want to have data around the world.

Built With

Share this project:

Updates