Inspiration
The inspiration for ItineTailor stemmed from one of the greatest grievances of the trip planning process: opening a travel blog promising itinerary ideas for your desired destination, just to be faced with a mess of irrelevant information. No one wants to sift through countless ads and the blogger's rambling life story to search for their hidden itinerary recommendation with lengthy location descriptions. We wanted to create a tool that streamlines the planning process while still utilizing a travel blogger's expertise.
What it does
ItineTailor parses through the inputted website and extracts it's travel itinerary in clear and concise format. It displays the itinerary in a day-by-day plan with brief descriptions of each days' events, and it also provides the location of each event on a map to help you visualize your trip.
How we built it
ItineTailor was built using Python, ChatGPT API, and Flask for back-end development; TypeScript, CSS, Vite, React, and Google Maps API for front-end development; and Vercel for cloud deployment. We used the lxml library in Python to scrape the website's text, which we then parsed over with the ChatGPT API to extract the website's travel itinerary. We used Flask to build a REST API to send this data to the front-end, which was designed with TypeScript, CSS, Vite, and React. The Google Maps API was used to implement the itinerary location feature of our website. Lastly, we used Vercel to deploy ItineTailor to the cloud.
Challenges we ran into
We initially ran into storage issues regarding the size of the text we scrapped from travel blogs, but we resolved this by adding filters to our text scraping. The most tedious challenge we later encountered was a CORS error when transferring data from the back-end to the front-end, which we eventually solved after considerable trial and error. We also faced a few challenges with designing the ui/ux, but we resolved them after trying out various design options.
Accomplishments that we're proud of
We're proud of how we were able to implement several new and unfamiliar technologies, such as React and lxml, to create our project.
What we learned
We learned a lot more about technologies we had limited exposure to, especially React since it played a large role in our front-end development. We also gained more experience with web scraping and utilizing APIs.
What's next for ItineTailor
We would like to employ a folder feature in ItineTailor that users can save and organize their itineraries with. Folders could be divided by cities, countries, budget, or whatever the user finds most suitable.
Built With
- chatgpt-api
- css
- flask
- google-maps
- lxml
- python
- react
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.