Inspiration

Road trips are difficult to plan, and everyone's needs are different. Some travelers want to get from point A to B as quickly as possible, while others want to see hidden gems along the way.

What it does

The Road Trip Butler takes a travel persona, user inputs, and plans a route along with curated stops along the way. The user selects which stops they want and then the entire trip is exported to google maps for easy navigation.

How we built it

  • Flutter + Serverpod for a full-stack solution
  • Google Routes, Google Places, and Google Gemini Flash 2.5 are all used to plan the route, find relevant stops, and then create the curated itinerary
  • A server is running on Serverpod Cloud, so the Android APK can be downloaded from the github repository to test the app.

Challenges we ran into

  • Serverpod and Serverpod Cloud were both a breeze to use. The main challenges I faced was with the Gemini API integration. I spent a lot of time designing the flow so that the AI would do a great job planning the route, only use real places, and would also complete the planning in a timely manner.
  • Detour timing was also challenging. With the way I was only sending segmented portions of the polyline to Google Places, reasonable detour timing was tricky.

Accomplishments that we're proud of

  • The Gemini AI designs the search prompts for Google Places and then selects from verified Google Places results when designing the itinerary.
  • The UI is easy to use and the Google Maps export is seamless.

What we learned

  • We learned how easy Serverpod is to build full stack apps with, and how easy Serverpod Cloud makes deploying the server
  • The AI integration in an app was new for me, and I enjoyed learning how to work with it.

What's next for Road Trip Butler

  • I hope to use this app on future road trips myself and to continue to improve both the UI and the brains for how itineraries are planned.
  • Multi-day itineraries and sharing the butler's trip with other users would be great to add.

Built With

Share this project:

Updates