Inspiration
This project was inspired by our own travel plans. Just a couple weeks ago, we were trying to plan a trip to Thailand and Japan this winter, and we quickly realized how hard it was to organize a trip when we didn't know the geography of the area. We wanted to visit multiple cities in each country, but due to being unfamiliar with the area, we didn't know what the most efficient route would be. We didn't know what was popular in each area, what places there was to visit based on our personal interests, and how to go about going to the locations we found. Trying to plan our own trip made us realize how time-consuming travel planning can be. At the same time, we were preparing for SpurHacks and brainstorming what kind of project we could build. We knew we wanted to make something that solved a real-world problem and made life easier for the people around us. That's when we thought about the challenges we were facing planning our own trip and realized it was a common problem for many travelers. For a lot of people, just finding a time to take a vacation is already hard let alone researching the geography of an unfamiliar country, choosing a good route between cities, learning about each destination, figuring out what to do in each one, and then planning how to get from place to place within each city. It can be overwhelming. That's why we created Itinera, a tool that was built to made this process smoother.
What it does
Itinera is a travel planning app that helps users create smarter, more efficient itineraries whether they're visiting multiple cities or exploring a single one. Users can input a list of cities they want to visit. Itinera then finds the most optimal order to travel through them. Within each city, users can select their personal interests and the app will generate recommendations of places to visit based on both those interests as well as suggestions based on what the area is popular or known for. Once the user selects the places they want to visit in a city, Itinera maps out the most efficient route between them. The result is a personalized, location-aware travel itinerary that takes the guesswork and stress out of planning.
How we built it
We used Next.js and React for the frontend, Tailwind CSS v3 for styling, and integrated the Google Maps JavaScript API to handle route planning and map rendering. For personalized place suggestions, we built a backend route using the OpenAI API.
Challenges we ran into
- Getting the Google Maps API to properly render optimized multi-stop routes
- Making sure the OpenAI API returned consistent JSON outputs
- Handling state management across multiple selected cities
- Time pressure, we built and debugged everything within a tight window
Accomplishments that we're proud of
- Building a working multi-city travel planner from scratch
- Integrating AI suggestions into an interactive map interface
- Deploying a clean, responsive product end-to-end in just a few days
- Making something we actually want to use on our own upcoming trip
What we learned
- How to work with the Google Maps Directions and Places APIs
- How to query and parse structured responses from LLMs like GPT-3.5
- The importance of good UI/UX in route planning apps
Built With
- google-maps
- next.js
- openai-api
- react
- tailwindcss

Log in or sign up for Devpost to join the conversation.