-
-
Enter your starting user preferences to get Trippy to know you
-
Communicate about anything about trip with Trippy like your preferences, recs, upcoming events, to-dos
-
Manually add your own to do
-
Manage all your to-dos
-
Looks like Trippy added some to-dos for you
-
Heres the to-dos Trippy identified for you
-
Enter mutliple different itinerary details and Trippy can handle
-
Trippy looks like it got your preferences right
Inspiration
The initial inspiration for Trippy came about from a teammate's solo Europe backpacking trip from the previous year. After roaming around Prague, there was an incident where an evening of checking out old town did not go as expected due to Prague Castle and several other monuments being closed on Monday. This moment generated stress and frustration for the young solo traveler in formulating and managing track of to-dos to adapt to altered plans. Many recommandations given from other AI chatbots at the time were non-personal for the user preferences and nature of itinerary.
What it does
Trippy is an AI travel co-pilot built with Gemini that is a source of truth for all your itinerary details and abstracts all the complexities that occur on the fly during travels. Trippy is capable of schedule generation with good specificity but is also a travel buddy you can speak to regarding worries, personal preferences, upcoming events, and advice and recommendations. A hallmark feature of Trippy is being able to understand updates to plans and changing itinerary events, offering alternative situations based on nature of changes, and update to-dos for user.
How we built it
Using Gemini API, we prompted Gemini to provide advice and recommendations based on user input. To ensure that Gemini did not hallucinate and had better context of the subject matter, we provided situational context of user entered itinerary, user preferences as well as message history details with requests made to Gemini. Python flask back end handles context switch messaging & understanding user preferences and itinerary details from initial form user input and Trippy conversation details that is translated into request context. Flask is also manages To-do items and is connected to our SQL backend.
Challenges we ran into
One of the biggest challenges we faced was incorporating Google Vertex AI feature calls. We initially were looking to utilize Calendar API and Maps API for project to create more definitive responses to users but we had timeline issues with scope approvals.
Accomplishments that we're proud of
- Being able to create app to help travellers worldwide
- Understanding Prompt Engineering
What we learned
The first thing that we learned is the power of function calling with a highly capable LLM like Gemini 1.5 Pro. It allowed us to connect natural language (the semantic) to very strict API calls (the syntactic) in a way that was easy to prototype with as well as powerful to rapidly add more features. We also learned some tricks along the way on how to prompt the model in order to produce more context-aware responses. This was key for us since we wanted Trippy to always be aware of the user’s preferences, schedule, and location. In addition to learning how to better use Flask with an ORM like SQLAlchemy, we also learned quite a bit about how to organize work among the team and write software in non-monolithic way. We also learned how to create our own AI chat application powered by Gemini — which could be very helpful for other projects as well.
What's next for Trippy
Since Trippy is meant for travelers on the go, we want to first port the app for mobile. Our plan is to leverage Flutter to quickly get support for both iOS and Android. From there, we’ll be able to iterate on the actual capabilities. We want to implement function calling to call the Google Maps API and the Google Calendar API to fetch nearby points of interest as well as make changes to the user’s schedule in real time based on their changing plans. From there, we also want to integrate with Google Maps Reviews in a similar way to be able to better recommend actions to a user based on their preferences. Another idea we played around with was allowing the formation of groups to support personalized trip assistance for a group of travelers. We hope to push this for a public beta soon!




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