Inspiration

Coordinating a group trip is hard. Different budgets, departure airports, and timeframes often make it nearly impossible to find a destination that fits everyone. We wanted to solve that problem and help groups easily discover the best shared destination.

What it does

OnePlaceForAll takes the travel preferences of each user in a group — including departure airport, travel dates, and budget — and finds a common destination that everyone can afford. Each member can join a trip and input their data. Once the group is complete, the app queries flight data and proposes destinations that fit all constraints.

How we built it

We built a FastAPI backend that connects to a Supabase database to store users, trips, and preferences; it's stored in the cloud. We used the Skyscanner Live Pricing API to search for feasible flight combinations from different cities to a common location. Finally, we used the Pexels API to attach a photo to each proposed destination. Nevertheless, the Pexels API has a limit of requests per hour (which is 200) and were limited by this during our development. As for the frontend, we used Angular.

Challenges we ran into

  • Handling multiple origins: Coordinating flight searches from multiple departure airports simultaneously was tricky, especially when aligning dates and budgets.
  • Data parsing: Skyscanner's JSON structure is complex and required careful filtering to extract relevant and affordable results.
  • Time constraints: We planned to incorporate more travel preferences (like vibes), but we focused on building a solid MVP first.

Accomplishments that we're proud of

  • We successfully built a working backend that connects to real-time flight data.
  • We built a clean data model that supports flexible user and trip configurations.
  • We found a feasible solution to match people to a common destination based on real constraints.

What we learned

  • How to work with Supabase, angular and REST APIs under time pressure.
  • How to clean and unify data coming from multiple sources.
  • The importance of good schema design in collaborative projects.

What's next for OnePlaceForAll

  • Add support for more travel preferences like trip vibes and favorite climates.
  • Create a smart ranking of destinations based on group compatibility.
  • Build a user-friendly frontend for public use.
  • Explore integrations with booking platforms and accommodation APIs.

Built With

Share this project:

Updates