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

Share this project:

Updates

Submission history