Inspiration

Our prompt was to create a solution that gamifies using alternatives to driving (a web app that rewards people for replacing car trips with walking, cycling, or public transit).

We decided to base our idea on an app we used a couple of years ago: Sweatcoin. The idea is simple: you track your steps, earn points for those steps, and redeem those points for rewards.

We wanted Commutr to follow the same idea, but with a twist: why limit it to walking? Why not reward people for cycling and taking public transit too? After all, all three help reduce car dependency and make transportation more sustainable.

What it does

Commutr is a web app that makes sustainable commuting more rewarding. Instead of just getting from point A to point B, users can earn points for choosing environmentally friendly transportation methods, including walking, cycling, and public transit.

The app is built around a simple idea: the more sustainably you travel, the more you earn. Users can track their progress, build up points, and eventually redeem them for rewards.

We also introduced an Eco Score to help users understand how environmentally friendly their commuting habits are, alongside muta, a friendly seal mascot that is the face of our AI assistant.

Our goal was to make sustainable transportation feel less like an obligation and more like a game people actually want to play.

Under the hood, Commutr verifies trips instead of trusting them. GPS points are checked for impossible speeds, jumps, car-like bursts and fake constant-speed tracks, transit trips must start and end near a real GRT stop, and points are scored from verified distance, mode and a confidence score, with a daily cap. Rewards are gated by the Eco Score. Live Grand River Transit buses show on the map.

Muta is a voice agent you can talk to. Ask "I want a walk of about 2 km, where can I go?" and it suggests real places at that distance, plans the route, and starts the trip. For our demo routes it can also read a street-photo safety rating. It asks for a spoken yes before it finishes a trip or redeems a reward.

All merchants, rewards and users in this build are demo data. There is no real sponsor or government affiliation.

How we built it

We started off by larping on the whiteboard for at least two hours. We discussed possible features, names, colours, branding, you name it.

We eventually settled on a design direction, a green and cream colour scheme, and a seal mascot (because why not).

After figuring out what we wanted the app to look like, we started building the prototype using a combination of Claude and Codex. We used AI to help with development, while we focused on figuring out how the features should work, designing the interface, and putting everything together.

A pretty significant portion of our time ended up going into the UI and branding because we wanted Commutr to actually look like a real app, not just another generic hackathon prototype.

How we used the Gemini API

  • Trip planner: Gemini calls functions over live Grand River Transit bus data and our scoring rules, and returns a structured answer. Every number in a reply is checked against real tool results. If Gemini is slow or out of quota, a computed answer is used instead, so planning never goes down.
  • Route safety: Gemini vision looked at Mapillary street photos along 4 demo walking routes and rated lighting, sidewalks, traffic and crossings. It is an estimate, not a safety guarantee, and it is precomputed so the demo never waits on it. Photos are CC BY-SA 4.0 and credited in the app.
  • Muta's text chat uses function calling over the user's real account data (points, rewards, clubs). The actions it proposes are validated before the app runs them.
  • Place suggestions by distance, so "a walk of about 2 km" gets places near 2 km.

How we used ElevenLabs

  • Muta is a live two-way voice agent on ElevenLabs Agents. Our backend creates a signed link, so the browser never holds the API key and the agent stays private.
  • It calls 10 tools that run inside the app, so what you say moves the screen: open the map, plan a trip, start and finish a trip, redeem a reward, check route safety.
  • It asks for a spoken yes before finishing a trip or redeeming a reward.
  • The mascot animates with the call (listening, thinking, speaking), and the call survives switching tabs.

Challenges we ran into

First, we lowkey had no idea what kind of branding to do. Our initial AI-generated designs looked like absolute slop, so we had to sit down, open up sketchpad, and actually come up with something ourselves. Eventually, we landed on a design we were pretty happy with.

Our second issue was communication. We didn't properly let eachother know who was responsible for what, which came back to bite us when implementing our AI agent.

Turns out, we had both been working on different versions of the same thing. When it came time to merge everything, the AI coding agent got confused about which implementation to use, and we ended up with a pretty broken app.

We basically had to rebuild a good chunk of it to get everything working together again. Lesson learned: even when you're using AI to code, you still gotta communicate with your teammates lol.

On the technical side, our voice agent stalled because place search and trip planning shared one rate limit, and every visitor is the same demo user. We split the limits, added retry times, and put a time budget on planning with a computed fallback. Getting street photos from Mapillary also took a while: we copied the client secret instead of the access token, and every photo request failed.

Accomplishments that we're proud of

One of our biggest accomplishments was creating a design and identity that we genuinely liked. We went from having basically no idea what the app should look like to having a consistent colour scheme, logo, mascot, and interface.

We're also proud of taking a pretty simple concept and expanding it into something that could genuinely encourage people to make better transportation choices.

And, of course, we're proud that we managed to bring everything together despite the communication issues and having to redo parts of the project.

Most importantly, we made something we'd actually want to use ourselves.

What we learned

Probably the biggest thing we learned was that AI doesn't replace communication. Having Claude and Codex write code is great, but when multiple people are working on the same project without properly coordinating, things can go wrong pretty quickly.

We also learned that good design takes more than just prompting an image generator until something looks decent. Sometimes you actually have to sit down, sketch out ideas, and figure out what you want.

On top of that, we got more experience with rapid prototyping, building web applications, and turning a rough idea into a working product under time pressure.

What's next for Commutr

We'd love to turn Commutr into something people could actually use for their daily commutes.

Our next steps would be improving the accuracy of transportation tracking, developing a proper rewards system with real businesses, and making the Eco Score more meaningful by estimating how much carbon users save compared to driving.

We'd also like to expand our AI assistant to give users personalized recommendations for more sustainable commutes, and introduce features like leaderboards, achievements, and challenges between friends.

Ultimately, we want Commutr to make choosing public transit, walking, or cycling just a little more fun and rewarding.

And hopefully, with a little less larping on the whiteboard next time.

Built With

Share this project:

Updates

Submission history