Inspiration
Inspired by our own love for travel, we wanted to create a tool that could help travelers discover new places tailored to their unique interests, making trip planning more exciting and personalized.
What it does
TravelSpark is a personalized travel recommendation app that:
- Allows users to select their travel preferences from a wide range of categories (e.g., outdoor attractions, cultural sites, nightlife, dining).
- Recommends cities that best match the user's interests using cosine similarity.
- Generates a personalized itinerary for the top recommended city, featuring attractions from TripAdvisor.
- Provides flight options to the recommended destination using the Amadeus API.
- Suggests additional activities based on collaborative filtering of user preferences.
- Attempts to determine the user's current location for more relevant recommendations.
How we built it
- Frontend: React with Material-UI for a responsive and user-friendly interface.
- Backend: Flask for processing user preferences and generating recommendations.
- Data Analysis: Pandas and scikit-learn for recommendation algorithms and data processing.
- APIs: Integration with TripAdvisor for attraction information and Amadeus for flight data.
- Location Services: IP geolocation for user location detection.
Challenges we ran into
- Integrating multiple APIs and handling their rate limits and data formats.
- Implementing an effective recommendation algorithm that balances accuracy and performance.
- Designing a user interface that is both intuitive and comprehensive for selecting travel preferences.
- Ensuring cross-origin resource sharing (CORS) worked correctly between our frontend and backend.
Accomplishments that we're proud of
- Successfully implementing a cosine similarity algorithm for city recommendations.
- Creating a visually appealing and responsive user interface.
- Integrating real-time flight data and attraction information from external APIs.
- Developing a collaborative filtering system for additional activity recommendations.
What we learned
- The intricacies of working with travel-related APIs and handling real-world data.
- Techniques for cleaning and preprocessing datasets for machine learning applications.
- The importance of user experience design in travel applications.
- How to effectively combine frontend and backend technologies for a seamless user experience.
What's next for TravelSpark
- Resolving CORS issues between our React frontend and Flask backend. This is our top priority to make the app fully functional.
- Refining the user interface to dynamically display recommendations from our backend.
- Expanding our city database to include more diverse locations.
- Adding user accounts to save preferences and trip history.
- Developing more detailed itinerary planning features.
Log in or sign up for Devpost to join the conversation.