TrailMix, 2023
Road trip planning with fewer arguments
A hackathon web app that builds a full road trip itinerary from your budget and preferences, using AI agents to call Yelp and Google Maps.
Road trips are supposed to be spontaneous. In practice, they turn into logistics: routes, food, places to stay, and a group chat full of disagreements. TrailMix was our attempt to bring back the fun by taking the planning off your hands.
We built it at LA Hacks. I worked as a backend developer and product manager, across research, ideation, feature prioritization, and technical execution.
Research
We interviewed 10 students and young professionals who had recently taken or were planning a road trip. Four themes stood out:
- Decision fatigue about where to stop, eat, and stay
- Budgeting as a constant source of stress
- Conflict when people wanted different things, like scenery versus speed
- Wanting flexibility, but also the assurance that the big logistics were covered
Mapping the experience end to end made the problem obvious. The emotional low points were all in planning: researching stops, budgeting, and arguing with friends. Once people were on the road, they were mostly relieved.
Existing tools were either too rigid or too open-ended. Google Maps is great for directions but not itineraries. Roadtrippers had strong itinerary tools behind a limited free tier. Spreadsheets and notes were flexible but manual and messy to share.
How it works
You enter your budget and preferences, and TrailMix generates a complete itinerary. Under the hood:
- React and Chakra UI on the front end
- Node, Express, and MongoDB to store users and trips, with JWT auth
- A Flask service where Gemini generates the itinerary and Fetch.ai agents call Yelp and Google Maps
What got hard
Agents mid-build
We planned on plain REST calls, but autonomous agents meant pivoting to a Python layer halfway through and rethinking how async requests and responses flowed. It cost us time and made the design better.
Creative but accurate
Prompts had to balance interesting, scenic stops with hard constraints like budget and drive time. Splitting them into modular segments made the output much more stable.
Outcome
We had a working client and server deployed within the first few hours, integrated Fetch.ai and Gemini for the first time, and shipped a shareable trip dashboard so groups could plan together.
The biggest product lesson: emotional moments, like arguments and fear of missing out, are great signals for which features matter.