Inspiration

I built PitchSide from a real travel-planning problem I personally face. When I plan a trip, I usually want to stay within a budget, but I also want to visit the places I saved earlier restaurants, Instagrammable spots, landmarks, and local experiences. The problem is that everything is scattered across different apps: flights in email, hotel confirmations in booking apps, restaurant reservations somewhere else, tickets and QR codes in Apple Wallet or screenshots, and saved places buried in Instagram or Google Maps.

For the 2026 World Cup, this problem becomes even bigger. Fans will be traveling between busy host cities, managing match times, budgets, hotels, safety, food, and documents all at once. I wanted to build an agent that does more than answer questions I wanted it to help fans actually plan and organize the matchday experience.

What it does

PitchSide is an AI matchday concierge for 2026 World Cup fans. A user can enter one natural-language request like:

“Solo, LA July 15-18 2026, $2000, Bob brother +1-555-0123.”

From that one sentence, Mate, the PitchSide agent, understands the destination, dates, budget, traveler type, and safety contact. It then guides the user through a multi-step planning flow: flights, hotels, food, places to explore, matchday planning, safety contact setup, budget tracking, and final review.

PitchSide includes a Live Trip Card that updates as the user adds plans. It tracks budget, itinerary, readiness, safety contact, and trip progress. It also includes a Document Vault concept for keeping boarding passes, hotel details, reservations, QR-style passes, and trip documents in one place.

PitchSide also supports group trip planning with a group ledger for shared plans, cost splits, and responsibilities.

How we built it

PitchSide uses a Next.js frontend deployed on Google Cloud Run. The frontend includes the landing page, team selection, chat workflow, Live Trip Card, dashboard, match center, safety network, and document vault.

The backend is a Python agent built with Google ADK and deployed on Google Cloud Run. Gemini 2.5 Flash on Vertex AI powers the agent reasoning. It helps parse the trip request, decide the next step, and guide the user through a structured planning workflow.

For the MongoDB partner track, PitchSide uses MongoDB Atlas as the persistent memory layer. It stores trip state, itinerary items, bookings, safety contacts, document state, group ledger data, and location/partner data. The project also includes MongoDB MCP server integration so the agent can work with structured data instead of only returning plain chat responses.

Google Cloud Secret Manager is used for production secrets like MongoDB URI and API keys. Personal Google OAuth credentials for Calendar/Gmail are intentionally kept local and are not deployed or committed.

Challenges we ran into

One major challenge was making the app feel like an agent instead of a normal chatbot. I had to design the workflow so Mate could parse a natural-language request, guide the user through decisions, persist state, and update the UI in real time.

Another challenge was coordinating frontend state with backend agent responses. The Live Trip Card, budget, itinerary, safety contact, and document state all needed to stay in sync as the user made choices.

Deployment also required careful handling of secrets. I had to make sure personal .env files, Google OAuth tokens, and credential files were excluded from GitHub and Cloud Run while still keeping the hosted demo functional.

Accomplishments that we're proud of

I’m proud that PitchSide became a working end-to-end product, not just a concept. It has a hosted frontend and backend, a real agent workflow, persistent trip memory, budget tracking, safety contact handling, document organization, and a group ledger.

I’m also proud of the product experience. The app feels like a World Cup concierge, with team selection, matchday planning, action buttons, readiness tracking, and a live trip dashboard.

Most importantly, PitchSide demonstrates the hackathon goal: AI that helps users take action.

What we learned

I learned how important it is to design agents around real user workflows, not just prompts. A useful agent needs memory, tools, state, error handling, and a clear user experience.

I also learned how to connect Gemini, Google ADK, Cloud Run, MongoDB Atlas, MongoDB MCP, and Secret Manager into one working architecture.

What's next for PitchSide

Next, I would expand the saved-places feature so users can connect saved Instagram or Google Maps places and let PitchSide turn them into a realistic route around their hotel, stadium, match schedule, and budget.

I would also improve the document vault with real Gmail parsing for confirmations and QR codes, add stronger group expense splitting, and support more World Cup host cities with live transit, safety, and local business recommendations.

Built With

Share this project:

Updates