Inspiration

The inspiration comes from our personal experience planning a trip. It is always so time-consuming and complicated to figure our where to go and when to go.

What it does

DestinAIry is an AI-generated travel itinerary app that takes the hassle out of planning your next adventure. Simply tell us your destination, budget, preferred activities, and travel dates, and our advanced algorithms will create a personalized itinerary just for you. Our app considers everything from popular tourist attractions to hidden gems, local events, and transportation options. You'll have access to a detailed day-by-day plan with maps, directions, and estimated costs, plus the ability to customize and adjust your itinerary anytime. With our AI-generated travel itinerary app, you can sit back, relax, and enjoy the journey knowing that every detail has been taken care of.

How we built it

OpenAi's chatgpt documentation provided us with the basis of how our bot operates and learns to develop. Using Django as a backend to support any databases created, we wrote the OpenAi software in python where it takes in 9 user agruments including first_name, last_name, destination, personality, age, gender, nationality, date, duration. These arguments let the bot create a prompt for the user that maps out the entire trip they are planning to go on. For the front-end, we ask the user for the input on our html and let the bot access that information to make an educated guess on where they should go based off of the personal parameters. When returning locations on where they should go, the bot considers the popularity rating of the place, locations near where asked to look in, and the time needed to spend there to go to other locations recommended. The data then gets returned in our index.js file where we create markers on a map with those data points to represent where they have to travel. Adding the labels will show you the parameters set by the bot when looking and the map then displays it to the user.

Challenges we ran into

BACK-END ISSUES DestinAIry tries to combine an AI api with a OpenLayers Map API. Though the documentation is easy to follow and flows well, making the api's connect with each other proved to be quite the task. Our main problem we faced is that our bot would display it's prompted answer as well as the data values it decided to attribute them too. In allocating the data values, it did so to try and convert the format to JSON so the OpenLayers map API can read that data and display the information. But, during the transition of generated JSON to making the map api read it, it was not able to transfer smoothly in the format. The main problem was that the JSON took into consideration not only the data attributes but also the answer, or the prompt created by the bot in same field. So the JSON would read the string and our function would not be able to parse through the JSON data values because the answer str would break the syntax of a JSON. To bypass this we plan to rewrite the function parameters to accept the answer value as a string but not store it with the data attributes.

Accomplishments that we're proud of

We are proud of the complex AI that was programmed, as it is able to take results from user inputs on the website and effectively pinpoint recommended locations through the use of APIs. The general appearance of the website was aesthetically pleasing through the use of Figma, HTML, and CSS styling. When given enough personal data, our ChatGPT bot always returns an itinerary in a JSON format. We overcame the problem of max 4096 tokens (in 1 set of prompting & answering) by asking ChatGPT to output itineraries in Comma-separated values, then we used regex to retrieve it, load it as a csv object in Python, convert it into a dataframe, before converting it into a JSON object which will be sent out to any POST requests to our ChatGPT bot. Our ChatGPT bot has an open REST API with an API key which must match in the POST request's authorization header before it will return the JSON object for increased security.

We also tested it with various personal data, and the ChatGPT bot consistently gave solid itineraries for different locations, personalities. For example, we said we wanted an itinerary to Paris and we loved cafe hopping, and it suggested Angelina, and perfectly described it in "Remarks" column that it's famous for its hot chocolate!

What we learned

We learned a small fraction of what AI can do, being able to completely replace many parts of the coding process, providing limitless possibilities for future development

What's next for DestinAIry

Integration with OTAs and direct booking channels of hotels, tourist attractions, etc. DestinAIry will be a personal Concierge who books your entire trip from hotel stay, to attraction tickets, and dinner reservations.

Built With

Share this project:

Updates