Inspiration
As students who travel from Missouri to Kansas, as well as various other destinations for hackathons, competitions, and other academic events, we have all experienced the challenges of planning and traveling to these destinations. Whether it is finding accommodations for the trip, or finding worthwhile places to visit while traveling, many challenges exist for our population. Furthermore, with the tight schedules and budgets that many students have, there is little time or money for inefficiencies in the planning process. Thus, these challenges inspired the development of our application for AI-assisted travel planning to make the travel experience for students and young professionals less stressful, less time-consuming, and generally more enjoyable overall.
What it does
As soon as the application is started, the user will be asked to give permission for location access to provide customized recommendations for traveling. After giving permission, the user will be able to input the destination and start arranging his trip. With the help of the chatbot, the user will receive recommendations on flights, accommodation, and places of interest according to his needs, plans, and budget. This process is backed up by MongoDB Atlas, where the database for travel destinations will be stored. This tool allows storing and managing the data about hotels, places of interest, and user preferences, which makes it easier to provide fast results. Once the user picks their desired services, all booking will be placed in the calendar for convenience.
How we built it
We implemented our data infrastructure using MongoDB Atlas, which serves as the core backend of our application. In MongoDB Atlas, we created multiple collections such as hotels, flights, attractions, user data, and IDs to efficiently organize diverse travel information. Its flexible, document-based structure allowed us to store varied and dynamic data (such as pricing, availability, and location details) in a scalable and efficient way. We connected MongoDB Atlas directly to our user interface, enabling real-time communication between user requests and the database. When a user inputs a destination or trip preference, the system queries the database and returns relevant, personalized recommendations through the chatbot. Atlas’s indexing and query optimization also helps ensure fast and accurate responses as the data grows. We also added a visualization feature that uses stored data to help users compare options, such as the cost of attractions or different travel choices, making trip planning more informed.
Challenges we ran into
Some challenges we faced included exhausting Gemini API usage limits, which required us to optimize how often requests were made. We also had difficulty connecting our MongoDB Atlas database to the frontend while ensuring smooth and reliable data flow between user inputs and backend queries. Additionally, curating accurate and up-to-date travel data was challenging, as we needed to ensure that information like flights, hotels, and attractions remained consistent and reliable for meaningful recommendations.
Accomplishments that we're proud of
Despite these challenges, we continued to push forward and give the project our best effort by finding workarounds for the Gemini API key limitations and iteratively debugging the integration between our MongoDB Atlas database and the frontend. Through continuous testing and refinement, we were able to stabilize the system and ensure smoother communication between the user interface and backend services.
What's next for Compass
In the coming years, we would like to add more functionality to our app to better serve our users' needs. For example, we will include packing tips based on the location and climate as well as information on the special events happening during their travel period.
Log in or sign up for Devpost to join the conversation.