Inspiration
I took a $60 Uber to this hackathon. Alone. Then I walked in and saw two people from my flight. Same airport, same destination, three separate cars. Genius system.
Cars sit parked most of the day, and people keep driving alone to the same places. We wanted idle cars and shared trips to count as emissions cuts, not just a cheaper ride.
Call. Ride. Save the planet while you're at it.
What it does
You call a phone number. Eco, our voice agent, greets you by name, and you say where you're going. It books the trip in under a second and reads back the match.
On our demo trip, Alex drives Maya and Jordan to Meijer in Sam's Tesla. That's a projected 7.7 kg of CO2 avoided, 86% lower than three separate gas trips.** The planner skips the closest, cheapest car (a Civic) and picks the lowest-emission one that fits. Sam, the owner, approves from his own login, and the trip shows up live in the app.
Riders see the true cost ($4.23 each). In our model, data revenue and campus sustainability funding cover it, so the rider pays zero.
Every confirmed ride also creates a trip in a buyer data portal: same car, different drivers. Insurers, city planners and AV developers are the buyers, and the owner earns from it.
How we built it
- Backend: FastAPI and PostgreSQL. The planner groups riders and picks the vehicle by lowest trip CO2. Code validates every plan against seats, time windows, detours, range and double-booking.
- Voice: an ElevenLabs agent on a Twilio number, booking through an MCP server. Phone, browser widget and website all run the same code.
- App: React with rider, owner and buyer logins.
- Models: three scikit-learn models (anomaly detection, driver risk, energy use), fitted offline on a simulated dataset of 6 drivers, 48 trips and 774 miles.
Challenges
For hours, every inbound call died at second zero. Outbound worked the whole time. The cause: one missing variable in Eco's first message. We made every voice tool safe to repeat, so a retried call can't double-book you or text you twice. Twilio's trial cap blocked texts, so notices show in the app instead.
What we're proud of
A real phone call that books a real trip and shows up live in the app. 208 backend tests, 53 frontend tests, and a 47-check preflight that tells us if the demo is ready.
What we learned
Voice agents fail quietly. Idempotency matters when an LLM can retry a tool. And every number should carry its own assumptions.
What's next
Real telemetry from real drives, road routing with a maps key, per-trip insurance, scenic, night and EV-charger routing, and a campus sustainability office as the first customer.
The dataset is simulated, the models are fitted for real on it, and CO2 figures are projections, not measurements.
Built With
- claude
- elevenlabs
- fastapi
- lovable
- mcp
- ngrok
- postgresql
- python
- react
- scikit-learn
- tailwindcss
- tanstac
- twilio
- typescript
Log in or sign up for Devpost to join the conversation.