Inspiration
The 2026 World Cup spreads across 16 host cities and three countries, with millions of fans arriving who speak dozens of languages. Finding the right event, venue, fan zone, or transit option in an unfamiliar city — in your own language — is genuinely hard. We wanted a single assistant that turns "where's the nearest fan zone with a big screen showing tonight's match?" into an instant, grounded answer.
What it does
CrowdCompass Rover is a multilingual search-and-assist agent for World Cup host cities. Fans ask natural-language questions in any language and get ranked, grounded results — events, venues, fan zones, transit links, and matchday guidance — backed by Elasticsearch hybrid retrieval and a Gemini-powered conversational layer that cites its sources.
How we built it
A FastAPI backend orchestrates hybrid search over Elasticsearch (keyword + semantic) via the Elastic MCP server, with Gemini (Vertex AI) handling query understanding and grounded response generation. A React/Vite/TypeScript frontend delivers the chat and results experience. Redis caches hot queries; the full stack is containerized for Cloud Run.
Challenges we ran into
Reconciling lexical and semantic relevance across many languages without losing precision; keeping responses strictly grounded in retrieved documents to avoid hallucinated venues or times; and building a verifiable test suite — 641 backend and 174 frontend tests at 100% coverage — so behavior is provable, not just demoable.
Accomplishments that we're proud of
100% test coverage across 815 tests, a clean grounded-retrieval pipeline, and genuinely multilingual query handling that returns the same high-quality results regardless of input language.
What we learned
Hybrid retrieval tuning matters more than model choice for grounded search; and disciplined coverage gating catches whole classes of regressions before they reach a demo.
What's next for CrowdCompass Rover
Wiring the remaining live-infrastructure steps (live Elastic MCP, Gemini API, GCP project, Redis) and expanding the index to all 16 host cities with real-time event feeds.
Built With
- docker
- elastic-mcp
- elasticsearch
- fastapi
- gemini-(vertex-ai)
- google-cloud-run
- python
- react
- redis
- typescript
- vertex-ai
- vite
Log in or sign up for Devpost to join the conversation.