--- title: MatchDay emoji: ⚽ colorFrom: blue colorTo: green sdk: gradio app_file: app.py pinned: true license: mit tags: - build-small-hackathon - backyard-ai - agents - react-agent - tool-use - nemotron - nvidia - modal - gradio - fifa-world-cup-2026 - travel models: - nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 --- # MatchDay ⚽ — 2026 FIFA World Cup, Vancouver MatchDay is a Layla.ai-style **travel-intelligence agent** with one job: get you to a 2026 FIFA World Cup match in Vancouver with the **cheapest flight, the safest arrival, and a hotel closest to BC Place — explained, not just listed.** Say *"Flying from Montreal, want Canada vs Qatar, mid-range, June 26-29"* and MatchDay's agent builds **3 ranked, scored packages** (flights · hotels · weather · what's near the stadium) on an interactive Leaflet map, each price tagged with **honest provenance** — `● live` vs `example` — so nothing is hallucinated. ## How it works — Brain + Hands - **Brain:** **NVIDIA Nemotron-3-Nano-30B-A3B-BF16** — a 30B-total / **3B-active** Mixture-of-Experts model, served on **Modal A100** via SGLang. It selects tools, reasons, and writes the explanations. **It never calls an API or names a price.** - **Hands:** deterministic Python calls the APIs (flights, hotels, weather, POIs), scores packages with a fixed cost / arrival-buffer / stadium-proximity formula, and attaches provenance to every value. - **Loop:** a bounded ReAct agent (≤5 tool rounds). Nemotron decides the sequence, the hands execute, results return — Nemotron-3-Nano emits structured tool calls via SGLang's `qwen3_coder` + `nemotron_3` parsers. ## Why this is "small" Nemotron-3-Nano-30B is a MoE — only **~3B parameters activate per token**, so the reasoning path is genuinely lean. Heavy 30B inference runs **remotely on Modal** (sanctioned hackathon compute); the Gradio Space itself stays lightweight. ## Tech Nemotron-3-Nano-30B-A3B (3B-active MoE) · Modal A100-80GB (SGLang v0.5.12, `qwen3_coder`+`nemotron_3`) · **gradio.Server** custom frontend (streaming chat + Leaflet map + day-by-day timeline — not stock Gradio) · SerpApi (Google Flights/Hotels/Search) · Open-Meteo · OpenStreetMap · httpx/Pydantic v2. ## Try it - **Live Space:** https://huggingface.co/spaces/build-small-hackathon/matchday - **Agent trace (Sharing-is-Caring):** https://huggingface.co/datasets/build-small-hackathon/matchday-agent-traces - **Field Notes (architecture story):** `matchday/FIELD_NOTES.md` ## Built for Build Small **Track: Backyard AI.** Sponsor tools used: **Nemotron-3-Nano-30B (NVIDIA)** + **Modal** (noted here per the Modal-prize requirement; Modal A100 is the runtime). Targeting: - 🟩 **NVIDIA Nemotron** — Nemotron-3-Nano-30B-A3B is the Brain. - 🟢 **Modal** ($10k/7k/3k) — Modal A100 serves the model. - 🤖 **Best Agent** — bounded multi-step tool use, ≤32B. - 🎨 **Off-Brand** — `gradio.Server` custom UI well beyond stock Gradio. - 📡 **Sharing-is-Caring** — agent trace on the Hub (link above). - 📓 **Field Notes** — architecture blog (`matchday/FIELD_NOTES.md`). - 🏆 **Bonus Quest Champion** + 🎬 **Best Demo** + 🗳️ **Community Choice**. ## Social **Post:** (REQ-04 — link your post, then redeploy). A ready-to-post draft is in `matchday/SOCIAL_POST.md`.