WorldCup Navigator — Project Story
Inspiration
The 2026 World Cup is the biggest one ever played: 48 teams, 104 matches, 16 host cities across three countries. For a fan who wants to follow their team, that's not a vacation — it's a logistics operation. You're juggling match schedules that shift with group standings, hotels in cities you've never visited, flights between them, a budget that evaporates fast, and the constant risk that a venue change or schedule update invalidates everything you booked.
Every existing tool answers questions. None of them owns the problem. We wanted an agent that behaves like a travel operations team: it plans, it executes, it watches, and — most importantly — when the game moves, it replans before you've even heard the news.
What it does
WorldCup Navigator is a multi-agent travel operations system. You tell it something like:
"I want to follow Team USA during the World Cup. My budget is $5,000 and I'm flying from IAD."
It then:
- Saves your profile (team, budget, origin) to persistent memory
- Finds your team's matches — cities, venues, dates — from a curated MongoDB dataset cross-checked against live web sources
- Discovers hotels near each stadium using Elastic geo-search, ranked by price, distance, and rating
- Builds a budget with line items, utilization against your $5,000, and concrete savings suggestions
- Assembles a day-by-day itinerary and saves it as a version
- Creates a GitLab issue for every bookable task — book this flight, reserve that hotel — with due dates and checklists
Then the differentiator: the Monitoring Agent watches for disruptions. When "USA vs Brazil moves from Dallas to Houston," it verifies the change, assesses exactly which hotels, transport legs, and tasks are now invalid, and flags the plan. The orchestrator autonomously replans — new hotels in Houston, recalculated budget, itinerary v2, updated GitLab issues — and presents you a clean diff of what changed. No purchases are ever made; the human stays in control of money while the agent owns the coordination.
How we built it
The system is built on Google ADK with Gemini models, deployed via Vertex AI:
- Orchestrator (WorldCup Navigator) runs on
gemini-3.5-flash; eight specialist agents run ongemini-2.5-flashfor speed and cost - Specialists are exposed as AgentTools (call-and-return), so the orchestrator delegates, aggregates, and verifies consistency across reports — each specialist writes its output to shared session state via
output_key, so downstream agents read upstream results - Two-layer memory: ADK session state with
user:-prefixed keys for fast cross-session recall, mirrored into MongoDB as the durable system of record - MCP integrations map each hackathon partner to the job it's best at:
- MongoDB — memory, profiles, itinerary versions, match data
- Elastic — geo-distance hotel search over an indexed hotel dataset
- GitLab — one issue per travel task; replans update or close superseded issues instead of duplicating
- Dynatrace — service health signals for the Monitoring Agent
- Arize Phoenix — the Evaluation Agent scores every plan for groundedness, budget adherence, and completeness, and flags hallucination risks
- Fivetran — the pipeline that syncs live match/schedule data into MongoDB and Elastic, keeping the system of record fresh
- The replanning loop is a small state machine:
report_disruption()sets areplanning_requiredflag in session state; the orchestrator's instructions make acting on that flag mandatory;mark_replanning_complete()closes the loop with an auditable history
Challenges we ran into
The gemini-3 global endpoint. Gemini 3-series models are only served from Vertex's global location, but ADK's default Gemini client binds to the Agent Engine instance's region and fails with model-not-found. We solved it by subclassing the model integration (GlobalGemini) to pin the API client to the global endpoint while the agent itself keeps running regionally.
ADK's built-in tool constraint. Gemini built-in tools (Google Search, URL context) can't be mixed with other tools on the same agent — so every specialist wraps them in dedicated micro-agents exposed as AgentTools.
sub_agents vs AgentTools. Our first architecture used sub_agents, which transfers control to the specialist — the orchestrator never got results back to aggregate. Switching to the AgentTool pattern was the single biggest architectural fix.
Making partial configuration survivable. With six partner integrations, demo-day risk multiplies. Every MCP toolset is environment-gated: if a credential (or even the mcp package itself) is missing, that toolset silently disables and the agents fall back to web research and session state. The demo cannot be killed by one missing key.
Accomplishments that we're proud of
- A genuine autonomous replanning loop — not a chatbot suggesting you re-check, but an agent that detects, re-coordinates six specialists, versions the new plan, updates the task tracker, and shows you the diff
- All six partner technologies doing real, distinct jobs rather than checkbox integrations
- Itinerary versioning with auditable disruption and replan history
- A system that degrades gracefully instead of crashing — production thinking in a hackathon timeframe
What we learned
Multi-agent design is mostly information architecture: deciding what flows through session state versus tool results versus durable storage mattered more than prompt wording. We also learned that orchestration patterns are not interchangeable — transfer-style delegation and call-and-return delegation produce fundamentally different systems — and that the unglamorous work (env-gating, graceful degradation, version-proof imports) is what makes an agent demo reliable, which is its own kind of feature.
What's next for WorldCup Navigator
- Live data: wiring the Fivetran pipeline to official schedule feeds so monitoring becomes truly event-driven rather than polled
- Notifications: push alerts when a replan happens, with one-tap approve/reject
- Group travel: coordinating plans for a crew of fans with different budgets and origins
- Beyond 2026: the architecture is tournament-agnostic — Olympics, Euros, March Madness, concert tours. Anywhere humans chase a moving schedule across cities, this agent pattern applies.
Log in or sign up for Devpost to join the conversation.