✈️ SkyMatch

🌟 Inspiration

Planning a group trip is notoriously difficult—everyone has different budgets, departure airports, and travel preferences. SkyMatch was born from a desire to take the stress out of this process. Built in response to a challenge proposed by Skyscanner, our project aims to find destination options that work for everyone in a group, not just the loudest voice.

💡 What it does

SkyMatch helps groups of friends discover the perfect travel destination based on:

  • Each person’s origin airport
  • Their budget
  • Individual travel preferences (e.g., adventure vs. relaxation, modern city vs. historic town)

By combining these inputs, SkyMatch identifies destinations that are:

  • Reachable from all departure points
  • Within everyone's budget
  • Aligned with the group’s collective travel style through a dynamic scoring system

🛠️ How we built it

  • Frontend: Developed using Expo, React Native, and TypeScript for a performant, cross-platform mobile experience.
  • Flight Data: Integrated the Skyscanner API to access real-time flight options and pricing.
  • Airport Dataset: Compiled a list of airports and enhanced it with geolocation and qualitative “vibe” attributes (e.g., nightlife, scenery, cuisine). These vibes were generated using a local LLM (Large Language Model) to simulate expert travel curation at scale.
  • Recommendation Engine: Implemented a flexible algorithm that scores destinations based on group alignment, affordability, and travel feasibility.

⚠️ Challenges we ran into

  • Designing an algorithm that fairly balances individual preferences with group constraints
  • Assigning subjective “vibe” attributes to destinations lacking structured data
  • Using reverse geocoding to enrich airport data with country information
  • Handling API rate limits and varying data quality across multiple origins
  • Managing live data flows across simultaneous users

🏆 Accomplishments we’re proud of

  • Delivered a working prototype that intelligently recommends shared destinations in real-time
  • Successfully enriched our dataset with country info and travel vibes using automated tools and LLMs
  • Built a clean and intuitive mobile UI that simplifies complex travel decisions
  • Seamlessly integrated real-world flight data from Skyscanner into a group-oriented workflow

📚 What we learned

  • How to combine structured travel data with subjective user preferences
  • Building scalable, interactive flows using React Native + TypeScript
  • Leveraging LLMs for batch data enrichment and decision-support
  • Designing systems that accommodate multiple users with live inputs
  • Navigating and optimizing API-driven development

🚀 What’s next for SkyMatch

  • Add functionality to suggest ideal travel dates for all group members
  • Enable community profiles and personalized traveler preferences
  • Support flexible departure windows and multi-date searches
  • Introduce collaborative budget tracking and group trip planning tools
  • Automatically generate trip highlights and day-by-day planning recommendations

Built With

Share this project:

Updates