Inspiration

The 2026 FIFA World Cup will be the first ever hosted across three countries - USA, Mexico, and Canada -- spanning 16 cities. For fans traveling from countries like India, Nigeria, Brazil, or Argentina, many of whom have never visited North America, the planning complexity is enormous: different visa requirements per country, unfamiliar transit systems, dietary needs (vegetarian, halal) in foreign cities, multi-currency budgeting, and cross-border logistics. As an Indian student at UMass Amherst who navigated this exact experience - arriving in a new country and later helping 6,000+ incoming students as an Orientation Leader - I built WorldCup TripMate to be the knowledgeable friend every first-time traveler deserves.

What it does

WorldCup TripMate is a multi-tool AI agent that plans complete World Cup trips personalised to the traveler's nationality, dietary needs, budget, and team preferences. It uses 6 specialized tools:

Match Finder - searches the World Cup schedule by team, city, or date Visa Checker - provides nationality-specific visa requirements for all 3 host countries Local Guide - recommends specific restaurants, transit routes, and cultural tips per city Budget Estimator - gives itemised cost breakdowns across flights, hotels, food, and tickets Itinerary Builder - creates complete day-by-day multi-city travel plans Self-Reflection - the agent evaluates and improves its own performance in real-time

How the self-improvement loop works (Arize Integration) Every agent response is automatically traced to Arize Phoenix Cloud via OpenTelemetry. An LLM-as-a-judge evaluator scores each response on 5 criteria: relevance, specificity, cultural sensitivity, accuracy, and actionability. The agent can then query its own performance using the check_my_performance tool, identify its weakest areas, and adapt its behaviour accordingly. For example, if specificity scores drop, it starts including more exact restaurant names, prices, and neighbourhoods.

How we built it

Google ADK (Agent Development Kit) as the agent framework Gemini 2.5 Flash via Vertex AI as the LLM Arize Phoenix Cloud for tracing and observability OpenInference for auto-instrumentation of Google ADK Streamlit for the web interface with a live performance dashboard Python for all backend logic

Challenges we ran into

Configuring OpenTelemetry to correctly route traces to Phoenix Cloud required debugging the OTLP endpoint Vertex AI doesn't allow mixing Google Search with custom function tools, so we optimized our static data tools instead Balancing the self-evaluation loop to be useful without adding too much latency

Accomplishments that we're proud of

The self-improvement loop actually works - the agent identifies its own weaknesses and adapts in real-time. Watching it score low on specificity, then proactively include more exact restaurant names and prices in the next response, felt like a breakthrough moment. We built a genuinely useful 6-tool agent that combines match schedules, visa requirements, local food guides, budget estimation, and full itinerary planning into one coherent experience - all personalized to the traveler's nationality, dietary needs, and budget. The Arize Phoenix integration traces every single agent decision. You can click into any trace and see the full chain: user query → tool selection → Gemini reasoning → tool execution → final response, with latency and cost tracking. This level of observability is something most production AI apps don't even have. The cultural sensitivity angle is personal. As an Indian student who traveled to the US for the first time, I know what it feels like to not know which neighborhoods are safe, where to find vegetarian food, or how transit actually works. This agent gives the specific, practical advice I wish I'd had.

What we learned

How to build production-grade AI agents with Google ADK Implementing observability and self-improvement in LLM applications with Arize Phoenix The importance of culturally-aware AI for serving diverse global users

What's next for WorldCup TripMate

Real-time data integration - connecting live flight APIs (Skyscanner, Google Flights) and accommodation APIs (Booking.com, Hostelworld) so the agent returns actual prices and availability instead of estimates. Expanding the self-improvement loop with persistent memory across sessions. Right now evaluations reset each session. With Phoenix MCP server integration, the agent could query its historical performance across hundreds of conversations, identifying systemic weaknesses like "I consistently underestimate accommodation costs in New York" and permanently adjusting. Community-powered local guides - letting users who've actually traveled to these cities contribute tips, restaurant reviews, and transit advice back into the agent's knowledge base, making it smarter with every traveler's experience. Multi-language support - fans from Brazil, Japan, Saudi Arabia, and Senegal shouldn't need to speak English to plan their trip. Adding Gemini's multilingual capabilities so the agent responds in the traveler's native language while keeping all the cultural awareness intact. A mobile companion app that works offline at the stadium - match day info, transit directions, and emergency contacts available without needing cell service in a foreign country.

Built With

  • arize-phoenix
  • gemini
  • google-adk
  • opentelemetry
  • python
  • stream-lit
  • vertex-ai
Share this project:

Updates