Inspiration

Travel planning should feel as exciting as the trip itself.

In reality, it is not. Deciding where is one of many hard parts when planning a vacation. People spend hours bouncing between blogs, social media posts, and Google Maps, trying to piece together a trip that matches the vibe they're looking for. Instead of only dates, and budgets, we speak your language - feelings.

We built something different: a system where you describe any feeling, and hands you a trip.

What it does

Ocio is a web app that turns a single vibe-based prompt into a ready-to-use travel itinerary.

  • Vibe-based search: users describe what they're looking for in natural language - mood/aesthetic/feeling - and Ocio handles the rest
  • Gemini-Powered Destination Matching: The Gemini API interprets the user's prompt and surfaces specific destinations that genuinely match the energy they're after.
  • Points of Interest: For each destination, Ocio returns curated spots - restaurants, landmarks, neighbourhoods, and experiences - tailored to the original prompt, visualized on a map with pins.
  • Videos: additionally, Ocio will display any video content from YouTube, Instagram, TikTok, etc. about the spot to give users an actual view of what they should expect

How we built it

  • The AI Layer: Powered by Gemini API, which handles natural-language prompt interpretation and returns structured destination and POI data. Build into our FastAPI with Python.
  • The Map Layer: Built with Mapbox, rendering each returned destination and POI as an interactive pin on a map. Developed in React.

Challenges we ran into

  • Prompt-to-Structure Reliability: Getting Gemini to consistently return well-structured destination and POI data from open-ended, vibe-based prompts required significant prompt engineering to ensure the output was always map-ready.
  • Vague Input, Specific Output: Translating something as abstract as a "feeling" into concrete, accurate geographic recommendations is inherently difficult. Striking the right balance between creative interpretation and useful results took iteration.

Accomplishments that we're proud of

  • Mapbox Integration: Successfully pinned all AI-generated POIs onto a live, interactive map that updates with every new query.
  • Vibe-to-Itinerary Pipeline: Built a system that bridges the gap between how people think about travel and how travel tools typically work.

What we learned

  • Unstructured Input is Hard to Wrangle: Building on top of open-ended user prompts taught us how much prompt engineering matters when your output needs to be both creative and structured.
  • Visualization Changes Everything: Putting results on a map transformed the experience from a list of suggestions into something that actually felt like a travel plan.

What's next for Ocio

  • User Authentication & Profiles: Introduce accounts so users can log in, manage their trips, and build a personal travel history over time.
  • Flight & Hotel Integration: Pull in real booking data so users can go from itinerary to booked trip without leaving the app.

Built With

Share this project:

Updates