Inspiration

Virtual interlining lets travel companies stitch together flights from airlines that have zero partnership with each other — it's how OTAs and travel agencies sell cheaper, more flexible routes. But it comes with a hidden cost: if the first flight is delayed, nobody tells anybody. The airlines don't talk to each other, the booking system doesn't know, and the passenger finds out when they're standing at a gate that's already closed. We kept coming back to the same question: why is this entire multi-billion-dollar exposure handled after the flight is missed, when almost all of the signal needed to predict it already exists — flight status, weather, airport congestion, historical delay patterns? We wanted to build something that acts before the damage is done, not after.

What it does

Our system is an agentic AI platform that continuously monitors every active virtual-interlined journey for a travel operator. It's given one goal — "prevent missed connections" — and figures out the rest itself: pulling live flight, weather, and airport data, running it through four purpose-built ML models (delay prediction, missed-connection prediction, alternative flight ranking, and cost prediction), and reasoning over the results with an LLM to decide if a journey is at risk. If it is, the system searches for alternative flights, estimates the cost of each option, and hands a fully reasoned, ranked recommendation to a human operator — who approves, rejects, or modifies it before anything actually happens. Nothing gets rebooked, spent, or sent to a passenger without a human saying yes.

How we built it

We split the system into two cooperating layers instead of trying to make one model do everything. The LLM agent handles planning, tool selection, and reasoning — it decides what data to pull and when, based on the current risk state of each journey, rather than following a fixed script. The prediction work is handled separately by four specialized models trained on structured data (flight delay history, layover mechanics, alternative-route economics, disruption costs), so the LLM never has to "guess" a probability — it just reasons over numbers it trusts. We wired this into a Human-in-the-Loop approval layer as a hard architectural gate, and built explicit fallback behavior for every external dependency so the agent degrades gracefully instead of breaking when an API goes down.

Challenges we ran into

Getting the "agentic" part right was harder than it sounds — it's easy to build something that looks agentic but is secretly just a fixed pipeline with extra steps. We had to be deliberate about letting the agent actually decide which tools and models to invoke per journey, rather than hardcoding "always call every API." Balancing autonomy with safety was another big one: we wanted the system to do as much of the thinking as possible, but travel disruption recovery touches real money and real passengers, so we drew a hard line around execution — the agent can reason and recommend all it wants, but it never acts alone. We also spent a lot of time thinking through failure modes most demos skip, like what happens when two flight-status APIs disagree with each other.

Accomplishments that we're proud of

We're proud that this isn't a chatbot wearing an "agentic" label — every design decision, from dynamic tool selection to the sense-plan-act-reflect monitoring loop, was built to actually earn that word. We also like that the business case isn't hypothetical: it targets a cost center (rebooking, compensation, manual support) that travel companies already track, so the value is measurable rather than aspirational. And we're proud of how seriously we treated the human side of it — the system explains its reasoning in plain language specifically so an operator can trust and evaluate a recommendation before approving it, not just because it's a nice feature to have.

What we learned

The biggest lesson was that good agentic design is mostly about restraint — deciding what the agent is not allowed to do is just as important as what it can do autonomously. We also learned a lot about the mechanics of the travel industry itself: minimum connection times, why interline agreements exist, and how much operational blindness there still is between airlines that don't formally partner. On the technical side, we came away with a much sharper sense of when to reach for an LLM versus a trained model — they're not interchangeable, and the system is stronger for treating them as specialists instead of asking one tool to do a job it's not suited for.

What's next for Untitled

Next is validating the model chain against real historical disruption and cost data from a pilot partner, since right now our synthetic itinerary dataset proves the workflow but not real-world accuracy. We also want to explore direct airline coordination for predicted disruptions, a passenger-facing self-service layer for lower-risk cases, and using outcomes from approved/rejected/modified recommendations to continuously improve the ranking model. Longer term, we'd like portfolio-level risk dashboards so operators can see disruption exposure across their entire journey book, not just journey by journey.

Built With

Share this project:

Updates

Submission history