About the Project
Inspiration
Traveling should be exciting, not stressful. But we've all been there—arriving at a destination only to realize we need a visa or scrambling to plan a trip with limited time. This was particularly inspired by Vivian's experience in buying flight tickets to South Korea, only to find out that she needed a visa, when she was already in the country.
This frustration motivated us to enhance the Expedia experience by addressing these common travel pain points. We wanted to create a solution that would make travel planning smoother, more intuitive, and stress-free.
What It Does
Our project builds on top of Expedia’s platform and introduces three key features to improve the travel planning experience:
Explore Tab: A dedicated tab that allows users to explore destinations based on their budget, dates, and preferences. It provides flexibility and personalization, making it easier for users to find trips that fit their needs.
Passport Integration: We ensure that travelers never miss critical passport or visa requirements by incorporating an automatic check before booking. This feature pulls data from Sherpa’s API to provide real-time visa and passport information.
Itinerary Planner: Organizing a trip can be overwhelming, so we created an itinerary tool that consolidates all your plans in one place. From maps to activities and helpful tips, everything is neatly arranged for a seamless travel experience.
How We Built It
- We began by identifying the most common frustrations travelers face when using existing platforms like Expedia.
- Because Expedia doesn't have a public api for things such as events, we created our own API that webscrapes information and returns them on our own server. Using this, we integrated our custom features into their existing infrastructure. If we were to work directly with Expedia, we would directly integrate into their internal structure instead of using our own.
- For the Explore Tab, we built a dynamic search engine that allows users to filter results based on budget, dates, and preferences.
- The Passport Integration leverages a Passport Index API and our own API pulls and parses the Passport Index API results to pull real-time visa requirements based on the user's nationality and destination.
- The Itinerary Planner was developed using Gemini 1.5-Flash in a Flask app that is also on our own API and Google Maps API. We used these to generate a custom itinerary for each user depending on their location, time stayed, and preferences. The things are accurate and up to date as the Gemini chat pulls from our own API that gets real-time data straight from Expedia.
Features and Improvements Upon Expedia
1. Visa Requirement Checker
- Feature: Automatically checks whether you need a visa based on your passport information.
- How it Works:
- Users input their passport details, and the system requests visa requirements from our API which in turn pulls real-time data from an sourced API to determine visa requirements for their destination and return formats and caches it in our backend.
- Ensures travelers are aware of necessary documents before completing their booking.
- Improvement: Eliminates the risk of arriving at a destination without the required visa, making travel smoother and stress-free.
2. AI-Powered Itinerary Planner
- Feature: Generates a personalized itinerary using AI based on user input such as dates, budget, or availability.
- How it Works:
- Users can enter just one or more of the following: travel dates, budget, or availability.
- The AI then suggests a comprehensive itinerary that includes activities, locations, and tips tailored to the user’s preferences.
- Improvement: Simplifies trip planning by providing users with a ready-made itinerary, reducing the time spent on research and planning.
3. Pre-Recommended Itinerary Map
- Feature: Displays a map of the user's recommended itinerary based on API data pulled from Gemini.
- How it Works:
- The system uses Gemini's API to provide location-based recommendations for activities and destinations.
- A visual map is generated showing all points of interest and activities included in the itinerary.
- Improvement: Offers a clear visual representation of the trip, helping users navigate their destinations easily and understand the layout of their trip.
Challenges We Faced
Building these features came with its own set of challenges:
- By far our biggest challenge was integration between back end and front end. This is further explored below.
- Building an Expedia mock-up was definitely time consuming and challenging.
- Building and hosting our own API was challenging in many ways but one especially challenging part was getting it hosted non-locally. Because we're poor college students, we needed to find something free. Because our API reaches out to other external endpoints and what not, some hosting services such as PythonAnywhere blocks outward requests towards non-whitelisted links. Thus, we ended up using a temporary replit server that is "mostly-on"
- Designing an intuitive interface that simplifies complex tasks like itinerary planning took several iterations before we landed on the final version.
- Finding the right back end APIs to integrate like Passport Index required careful handling of data formats and ensuring real-time accuracy.
- WE HAVE 3 PEOPLE WHOS DOING A PROPER HACKATHON FOR THE FIRST TIME THIS IS HARD
- one of us just learned how to use apis today... the other one learned typescript today... we learned about google calendar and google maps today.... and other stuff.. alot.. our brain is fried
What We Learned
Throughout this project, we learned how important it is to focus on user experience. Travelers want simplicity and reliability when planning their trips, so we had to ensure our features were both easy to use and highly functional. Additionally, working with multiple APIs taught us the importance of data accuracy and real-time updates in delivering a smooth user experience.
What's Next
We plan to continue improving our project by:
- Productionizing our code
- Expanding the Explore Tab with more personalized recommendations.
- Our API already has endpoints for features like adjusting AI parameters such as budget as well as the ability to respond and ask the AI to change the itinerary accordingly. It just needs to be integrated into the front end.
- Again, our API has an endpoint that creates a Google Calendar for the user with the entire trip planned on it. This feature just needs a front end port.
- Enhancing the Itinerary Planner by incorporating social sharing options so users can collaborate on trip planning with friends.
- Ensure that we remain faithful to the Expedia UI/UX
- Authentication so the users can actually export to the maps and calendar
- Integrate back-end with maps front-end -Deploy google flight like functionality through the use of APIs (we currently have this but we weren't able to deploy it because of time constraints and difficulty debugging; it runs locally)

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