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.
Share this project:

Updates