Inspiration

We were drawn to this project by the opportunity to build a custom travel recommender system. Designing and implementing our own recommendation pipeline. From gathering user preferences to delivering personalized trip suggestions, it felt both innovative and directly applicable to real-world group travel planning.

What it does

Our solution combines three key components:

User Preference Collection We prompt travelers with open-ended questions about their interests and priorities.

Large-Language-Model Generation Using Google’s Gemini API, we translate those open responses into structured travel profiles and generate candidate travel locations.

Flight-Cost Integration Leveraging the Skyscanner Flights API, we fetch real-time airfare estimates from each participant’s origin to the proposed destinations. The result is a ranked list of trips that balance personal interests with budget considerations.

Challenges we ran into

Frontend Development Building a responsive user interface with JavaScript and Node.js pushed us outside our comfort zone.

Backend Integration Seamlessly connecting our Python-based recommendation engine and FastAPI endpoints to a Node.js frontend required careful handling of asynchronous data flows and cross-language communication.

Accomplishments that we're proud of

Delivered an end-to-end prototype in the allotted timeframe, featuring:

  • Dynamic, LLM-driven travel location generation

    • A polished interactive frontend
  • Successfully blended multiple technologies: LLMs, third-party APIs, FastAPI, and a JavaScript/Node.js UI into a coherent user experience.

What we learned

  • Gained experience regarding Python services from a Node.js application.

  • Prompt Engineering: Refined techniques for extracting meaningful preferences via LLM prompting.

Share this project:

Updates