Inspiration
My friends/family and I would always ask each other "Lets go overseas in December / during summer!" But the trip never escapes out of the group chat because planning a trip means comparing flights, weather, dates, and costs across several tabs. Those details change (especially in today's circumstances), and it can be hard to tell when the trip should even happen without it feeling like a research paper. TravelWindow started with a simple question: “When should I go, and why?". Travelling shouln't feel like a chore!!
What it does
Travellers enter a destination, available dates, budget, and weather preferences. TravelWindow compares possible date windows using flight and weather evidence, then gives a recommendation with its reasoning, sources, and limitations.
After seeing a result, travellers can make changes in plain English, such as “no morning flights” or “avoid rainy periods.” TravelWindow interprets the request and checks for a new matching window. A separate Plan my stay feature can help explore accommodation, meals, activities, transport, and their costs.
How we built it
The interface uses React, TypeScript, Vite, and Three.js. A Spring Boot backend manages accounts, trip watches, provider data, and saved recommendations. A Python agent built with FastAPI and LangGraph uses OpenAI to interpret requests and explain results. SerpApi supplies live flight quotes, while Open-Meteo supplies weather data.
Code checks the final recommendation against the actual flight and weather evidence before showing it to the traveller.
Challenges we ran into
Flight providers can return incomplete options, and a quoted fare can change before booking. Weather forecasts also need to be distinguished from historical climate averages. We had to work within API limits while comparing several date windows. (especially serpapi)
Natural-language requests brought their own challenge: “no morning flights” must produce a different result from “I want to fly in the morning.” We added explicit rules and validation so those requests are applied to both outbound and return flights.
Accomplishments that we're proud of
TravelWindow now supports an end-to-end flow from trip preferences to an evidence-backed recommendation, human review, and a revised result after a plain-English request. When the evidence cannot support an exact recommendation, it says so rather than inventing one. We also built an interactive globe, and also a hidden piano game for the waiting screen.
What we learned
AI is most useful here for understanding what a traveller means and explaining the trade-offs. Reliable travel advice also needs strict checks on prices, dates, flight times, data freshness, and missing information. The lodge taught me how to use LangGraph and it's really useful for this application
What's next for TravelWindow
Next, we want to show full live itinerary details: including airlines, flight numbers, airports, and times directly in the result. We also want to improve searches across wider date ranges, add more personal preferences, and test the experience with real travellers.
Hotel Budget will be the next consideration for travellers to indicate. (e.g $500 for accomodations, and it will look through to help find the most ideal window where the rates of airbnb is low, with the agent balancing quality and budget)
Built With
- fastapi
- langgraph
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.