Inspiration

Planning a trip often feels like juggling between dozens of tabs like maps, blogs, ticket reservation sites, restaurant lists and a foggy idea of how long anything actually takes. The inspiration for WanderGenie was the desire to simplify this chaos into a single, conversational request. The goal was to build an assistant that understands natural language, interprets preferences and produces a complete itinerary that feels personal, realistic and immediately useful.

What it does

WanderGenie turns any natural-language prompt into a full, structured travel plan. It extracts intent, finds relevant points of interest, builds day-by-day schedules, calculates travel times and generates booking links. It allows users to modify their trip at any point, instantly updating the itinerary. It also pins activities on an interactive map and exports the full trip to calendar events.

How we built it

WanderGenie is built using a multi-agent architecture powered by LangGraph.

A Planner Agent extracts structured intent from the user’s prompt.

A Researcher Agent retrieves POIs through a layered approach: OpenTripMap API → vector database → graph database → LLM fallback.

A Packager Agent produces time-aware itineraries with travel durations, pacing adjustments and booking links.

The backend runs on FastAPI, while the frontend uses React, TypeScript and Mapbox for visualization. Supabase provides the vector database and Neo4j powers relationship-based POI discovery. A custom duration engine, travel-time calculator and calendar export utility is used for the workflow.

Challenges we ran into

Several technical hurdles helped us shape the final system. Orchestrating three specialized AI agents (Planner, Researcher, Packager) to work seamlessly together while maintaining state consistency was one of the biggest architectural challenges. The OpenTripMap API proved particularly strict, often returning zero results for cities outside major metros, which forced us to build a sophisticated LLM-powered fallback system that generates realistic POIs with accurate coordinates on-demand.

Database integration was another major hurdle. We faced schema design challenges when deciding how to store POI embeddings in Supabase's pgvector - embeddings were stored as strings but needed to be parsed as float arrays for cosine similarity calculations. Additionally, coordinating between PostgreSQL (Supabase) for vector search and Neo4j for relationship graphs required careful connection pooling and error handling.

Booking link accuracy became a critical issue when we discovered Google Hotels was misinterpreting date parameters, showing incorrect check-in/check-out ranges. We solved this by switching to Booking.com's structured URL parameters, ensuring 100% date accuracy.

Finally, building a self-improving caching system that stores LLM-generated POIs back into the vector database for future requests required careful schema design and embedding generation. The system now gets faster with every new city queried.

These challenges taught us an important lesson: users shouldn't have to worry about what's happening behind the scenes. If an API fails or a database is slow, WanderGenie should still deliver a great trip plan and it does.

Accomplishments that we're proud of

WanderGenie can reliably produce complete itineraries from a single prompt, regardless of the availability of external data sources. The system now supports trip planning for any city worldwide, not just major tourist destinations, thanks to our LLM-powered POI generation and caching system. The multi-agent workflow feels fluid and conversational, and the system supports intelligent trip modifications that preserve context. The integration of map pinning, booking-link generation and the calendar export makes the assistant feel polished and genuinely helpful. Achieving a fully working, end-to-end system across so many components is something we’re really proud of.

What we learned

Building WanderGenie highlighted the importance of schema design, reliable fallbacks and careful coordination between agents. We learned how to blend structured reasoning with LLM creativity, how to balance external API data with vector and graph-based retrieval and how to design a frontend that updates gracefully as the backend progresses through asynchronous workflows. It also reinforced the value of designing for failure scenarios especially when external APIs are unpredictable.

What's next for WanderGenie - AI Travel Assistant

Our plan for future WanderGenie improvements include adding multi-city trip support, real-time collaboration, integrated restaurant reservations, weather-aware scheduling, budget estimation, offline mode and a mobile app. Integrating deeper personalization, richer POI details and more advanced bookings will help us to push WanderGenie closer to becoming a travel companion rather than just a planning tool.

Built With

Share this project:

Updates