-
-
Cascade turns the traveler’s itinerary into a connected trip, identifying commitments, flexible stops, and transportation between them.
-
For every trip connection, Cascade evaluates travel options using timing, distance, and real-time conditions.
-
At each stop, Cascade scores each option and recommends the best way to stay on schedule.
-
When a disruption occurs, Cascade identifies the affected flight and helps the traveler find an updated option to keep the trip on track.
-
Voice agent uses real-time flight data to intelligently generate and book personalized rebooking options, reducing travel time and costs.
Inspiration
Travel rarely goes as planned. A delayed or canceled flight can disrupt airport pickups, hotel check-ins, meetings, and later activities—especially for business travelers, frequent travelers, and anyone managing a time-sensitive itinerary.
As itineraries become more complex, travelers must manually compare routes, transportation options, pickup locations, and timing. Most travel apps address these needs independently, leaving travelers to piece together information across multiple services and manage the connections themselves.
Cascade Repairer is built for travelers who need to recover quickly when plans change. It continuously monitors the itinerary and uses trained machine learning models to find smarter transportation options, repair disruptions, and rebook flights when the original plan is no longer feasible.
Key Features
Automatic Trip Monitoring
Traveler Preference & Constraint Checking
Multiple Recovery Options
Flight & Ground Transportation Repair
Smart Itinerary Reordering
Preference-Based Recommendations
Clear Recovery Explanations
What it does
Cascade Repairer is a conversational AI travel agent that combines voice interaction, machine learning, and agentic orchestration to continuously optimize and repair disrupted itineraries.
Optimize Transportation — A Random Forest model trained on 20,000 transportation samples evaluates 81 actions across 25 travel features—including travel time, cost, walking distance, wait time, congestion, schedule buffer, and traveler preferences—to predict each option and recommend the best route, mode, or pickup. The model is trained as a regression model to predict the utility of each feasible action, allowing Cascade to rank alternatives rather than relying on fixed heuristics. On our held-out evaluation set, the model achieves an R² of 0.942 and 69% action-selection accuracy, compared with 19% for our rules-based baseline.
Explain Decisions — Cascade compares available alternatives and explains why the recommended option is best for the traveler’s current itinerary.
Detect & Repair Disruptions — When a flight is delayed or canceled, Cascade identifies the downstream impact and evaluates replacement flights and transportation while considering hotels, meetings, reservations, and activities as one connected trip.
Adapt to Traveler Priorities — Travelers can ask for the fastest, cheapest, or most reliable option, and Cascade re-evaluates the available choices accordingly.
Work Through Voice —Travelers can make changes conversationally instead of switching between apps, comparing routes, and manually rebuilding their plans.
Core Experience: Plan → Monitor → Detect → Optimize → Repair → Re-optimize
Cascade does not just recommend the next ride or flight. It determines the best next action for the trip as a whole—helping travelers recover quickly when plans change.
How we built it
We built Cascade Repairer as a system that makes decisions using ML models and real-time travel data, rather than a chatbot that simply guesses answers or prices. The backend is a FastAPI service: trained sklearn artifacts are loaded once per process, Sabre / Maps / Uber are called per hop, and a live dashboard streams itinerary status (booked → broken → repairing → fixed) while the traveler is still talking.
The core recovery path is a four-stage decision stack:
Machine Learning — The Decision Layer: Cascade uses two offline-trained scikit-learn models to make recovery decisions. A Logistic Regression model, trained on 9,600 BTS-calibrated flight samples, predicts the probability of an arrival delay of 15+ minutes, achieving 0.76 ROC-AUC and 0.69 accuracy on hold-out data. A Random Forest Regressor, trained on 20,000 transportation actions across 2,000 simulated trip states, scores the utility of walking, transit, rideshare, alternate pickups, leaving earlier, and itinerary reordering, achieving R² = 0.94.
After these models score the available options, Cascade combines their outputs with live travel information and traveler preferences using a ranking function:
$$\mathrm{score}=w_{\mathrm{risk}}P(\mathrm{delay})+w_{\mathrm{price}}\mathrm{fare}+w_{\mathrm{arrive}}\mathrm{clock}+w_{\mathrm{stops}}\mathrm{connections}$$
Agentic System — The Orchestration Layer: An LLM-powered agent connects the decisions into one recovery workflow. It interprets traveler goals, retrieves the current itinerary and live travel data, applies hard constraints, invokes the appropriate ML models and travel APIs, and coordinates flight and ground-transportation recovery. The LLM does not invent fares, delay probabilities, or recommendations—the underlying models and live APIs provide those facts.
Voice Agent — The Human Interface: Cascade is voice-first, allowing travelers to express goals naturally, such as “Get me to my meeting before 9” or “Price matters more than speed.” The agent converts these requests into structured constraints and preferences, then reranks the same feasible recovery options without repeating API searches. It explains each recommendation using the same time, cost, disruption risk, and buffer information shown in the dashboard.
Backend & Infrastructure — The Live Recovery Loop: Built with Python, FastAPI, scikit-learn, pandas, OpenAI Agents SDK, Docker, and Google Cloud Run, Cascade maintains a unified trip state across the entire recovery process. Sabre provides flight options, while Google Maps and Uber estimates provide ground-transportation data. The system continuously follows a detect → filter → score → repair → re-observe loop, allowing downstream transportation and itinerary changes to be coordinated as one connected trip rather than isolated chatbot responses.
Challenges we ran into
Balancing Transportation Objectives: One challenge was the difficulty in providing an accurate selection of the best travel option. The fastest route may be more expensive, while the cheapest option may introduce too much walking, waiting, or schedule risk. Our initial rules-based approach achieved only 19% action-selection accuracy. We trained a Random Forest Regressor on 20,000 transportation actions across 2,000 simulated trip states, using features such as travel time, cost, walking distance, congestion, and schedule buffer.
Making ML decisions understandable: The model produces numbers, but travelers need clear reasons they can act on. We turned raw predictions into simple explanations using the traveler’s itinerary, such as “24% disruption risk, nonstop, lands at 8:50 AM.”
Turning recommendations into actions: Creating the live rebooking system and recovery workflow required multiple steps. The system had to interpret a traveler's request, use the appropriate ML model, obtain live travel options, and update the itinerary. This required a recovery loop of understand → filter → score → tool call → itinerary update → re-optimize, rather than having the LLM simply generate a recommendation.
Building the architecture of the application: Cascade combines many components: voice interaction, machine learning models, live travel APIs, itinerary state, and recovery workflows. One challenge was designing an architecture where all of these systems could work together reliably. We built a shared trip state and an orchestration layer that allows the voice agent, ML models, travel APIs, and dashboard to operate on the same itinerary and coordinate repairs in real time.
Accomplishments that we're proud of
Putting trained ML directly into the decision path. Two scikit-learn models actively influence recovery decisions: the flight-risk model achieves ROC-AUC 0.76, while the Random Forest transportation model reaches 69% action accuracy vs. 19% for the rules-based baseline, with R² = 0.94.
Building a voice agent that takes action. The LLM converts requests like “price matters more” or “get me there before 9” into structured objectives, then coordinates ML models, travel APIs, and itinerary tools to execute the recovery.
Making itinerary repair visible in real time. We are proud of building a live dashboard that lets travelers see transportation options being evaluated, compare alternatives, and watch their itinerary update as Cascade rebooks flights and repairs the trip in real time. Disrupted items move through broken → repairing → fixed in parallel, with the live dashboard reflecting itinerary changes as Cascade repairs the trip.
Connecting the full recovery pipeline. We are proud of building an end-to-end workflow that can take a disrupted trip, identify what went wrong, find the best alternatives, and repair the traveler’s itinerary from start to finish. Voice, ML decision-making, Sabre flight shopping, itinerary state, Google Maps/Uber estimates, and Saily eSIM handoff work together in one conversation → analysis → decision → action → itinerary update workflow.
What we learned
How to use ML as a decision layer, not just a prediction model — filtering out infeasible transportation options first, then using a Random Forest to rank the remaining actions based on time, cost, walking distance, congestion, schedule buffer, and traveler priority. This improved action accuracy from 0.19 to 0.69, with R² = 0.94.
How to combine specialized ML with an LLM agent — giving each component a clear role: ML handles quantitative predictions and action scoring, while the LLM interprets traveler intent, coordinates tools, and turns model outputs into actionable recommendations.
How to build agents around a real system — maintaining persistent trip_id context and synchronized itinerary state so the voice agent, backend, and dashboard all operate on the same trip instead of treating each request independently.
What's next for Cascade Repairer
To move Cascade toward production-ready autonomous travel recovery, our next development roadmap includes:
Real-World Model Training: Retraining the flight and transportation models using real travel data, including actual delays, missed connections, travel times, and whether travelers successfully made their next stop. This would help Cascade make more accurate predictions and recommendations.
On-Device Decision Layer: Convert our ML models to ONNX, allowing Cascade to run transportation and flight-risk predictions more efficiently, with faster inference and less dependence on cloud services.
End-to-End Trip Repair: Expanding recovery beyond flight alternatives to support real rebooking, hotel changes, and downstream itinerary updates.
Proactive Disruption Recovery: Continuously monitoring itineraries and automatically triggering the broken → repairing → fixed workflow when disruptions are detected.
Multi-Channel Concierge: Extending Cascade to WhatsApp and SMS, while preserving traveler preferences and trip context across channels.
Built With
- bigquery
- css
- docker
- fastapi
- featherless.ai
- google-maps
- html
- javascript
- joblib
- openai
- pandas
- python
- resend
- saily
- scikit-learn
- swift
- tavily
- uber
- webrtc
Log in or sign up for Devpost to join the conversation.