-
-
Landing page where users can enter a budget for their trip.
-
Users can selecte a city or TripTrove can automatically generate one.
-
TripTrove selects the best flight and hotel based on the budget.
-
TripTrove generates a travel itinerary based on the goals and wishes the user set.
-
Budget breakdown for the trip generated.
✨ Inspiration
Eighty-nine percent of people think travel is stressful. Fifty percent of those say it’s because of the time and research needed. [source]
Planning a trip is difficult. The hundreds of attractions, hotels, and flights possible make it overwhelming to plan a dream trip. It gets even harder to plan when considering a budget. That’s why we built TripTrove, a web app that uses state-of-the-art deep learning to build the perfect travel plan for your budget and interests.
🌎 What it does
TripTrove is an application that generates a personalized travel plan based on a user's budget, dream destination, requirements, geographical location, and more! It provides plane tickets, hotels, and an itinerary (of real attractions!) for each day of your trip. Finally, it comments on why a specific attraction is perfect for you!
So, whether it’s going on a fun trip with friends in New York or having a romantic honeymoon with your significant other in Paris, TripTrove’s also got you covered! Using deep learning, the possibilities are endless; TripTrove will pick attractions that suit your needs, whatever they are.
⚙️ How we built it

Our frontend is built with React, TypeScript, and Next.JS and hosted on Vercel. When typing in a departure city location, the frontend uses the google maps API to autocomplete the city. Additionally, when specifying a destination, our backend provides autocomplete in real-time. After filling in all the inputs, the information is sent to our backend server. The server, built with Python and FastAPI and hosted on DigitalOcean, processes the information sent. It scrapes actual plane tickets, hotels, and attractions in the given destination from booking.com (using an undocumented GraphQL API that we reverse-engineered). We allocate around 30% of the budget for flights, 30% for hotels, and the remainder for attractions.
To curate personalized attractions and to generate comments for why the attraction is perfect, the backend uses state-of-the-art zero-shot learning in conjunction with GPT-4 for the user’s specific requests (e.g., “plan a honeymoon”). Essentially, we take a large number of attractions (>50) and then use deep learning to curate the best one for the user. The language model considers the duration, description, price, and dates of the attraction to make its decisions. It also justifies why it chose an attraction. All of this information is then sent back to the frontend for display.
🚧 Challenges we ran Into
- Scraping the booking.com website for flights, hotels, and attractions proved immensely difficult as the API is undocumented
- Connecting the frontend and backend (interactions are complex between the two due to autocomplete features and progressive loading)
😁 Accomplishments that we're proud of
We are extremely proud of ourselves for developing a fully functioning web application with technologies we did not have much experience working within just 36 hours. Overall, we are proud of developing an application that allows anyone to budget their travel.
📚 What we learned
- We learned how to dynamically scrape (undocumented) GraphQL API in order to get the necessary data for our application
- We learned how to perform zero-shot learning in conjunction with OpenAI’s GPT-4 language model in order to give personalized trip plans for every individual
- We learned how to work with FastAPI and deploy to DigitalOcean
⏭ What’s next for TripTrove
Overall we are happy with the stage we got TripTrove to. However, looking into the future, there are still some things which we plan to do:
- Extend TripTrove to plan road trips (involves considering driving time in the itinerary)
- Improve the speed that the travel plan generated by training a more efficient model and running inference on our own hardware
Built With
- fastapi
- nextjs
- openai
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.