Color Commentary (the only way Jets fans make it into the Superbowl)
We built this for judges to keep open while reviewing submissions — real-time commentary on your reactions.
Core trick
Samples webcam frames every 3 seconds into Gemini Flash, which returns persona-styled commentary and engagement scores for each sample.
Tags
Description
We built this for judges to keep open while reviewing submissions — real-time commentary on your reactions.
Color Commentary gives every moment the drama it doesn't deserve. Point a webcam at anyone and Gemini 3 Flash delivers live sports commentary. Leaning in? Engagement. Phone check? Turnover. Crossed arms? Skepticism spiked.
5 commentator personalities:
ESPN: Classic professional broadcast voice
Eagles Fan: Bleeds kelly green, yells "GO BIRDS"
Jets Fan: Expects everything to fall apart (fair)
Ted Lasso: Relentlessly positive, brought biscuits
AFC Richmond: British football, "absolute scenes" vibes
Auto-detects name tags, tracks engagement/skepticism with live stats, logs events, and triggers crowd sounds when things get dramatic.
The Super Bowl broadcast for people who'll never see one. Looking at you, Jets fans.
README excerpt
# Color Commentary
Real-time AI sports broadcast that treats everyday moments like Game 7 of the Finals. Point a webcam at anyone and get live ESPN-style commentary, engagement meters, and play-by-play logging — powered by Gemini.
**Built at the Gemini 3 Super Hack (January 2026)**
## How It Works
1. Click **START BROADCAST** to activate your webcam
2. Frames are captured and sent to Gemini 2.0 Flash every 3 seconds
3. The AI analyzes what it sees and generates sports-style commentary
4. Commentary types out over the video feed with a broadcast overlay
5. Engagement/skepticism meters and play-by-play log update in real time
## Architecture
```
Browser Next.js Server Gemini API
────── ────────────── ──────────
Webcam → Canvas (JPEG) ──POST /api/analyze──▶ Proxy to Gemini 2.0 Flash
(systemInstruction + image)
UI ◀── JSON response ◀──────────────────────── Structured JSON output
• Commentary overlay (responseMimeType)
• Engagement meter
• Skepticism meter
• Momentum indicator
• Play-by-play log
```
- **Polling architecture** — simple, reliable, no WebSocket complexity
- **Server-side proxy** — API key stays on the server, never exposed to the browser
- **`responseMimeType: "application/json"`** — forces structured output from Gemini
## Stack
- **Next.js 15** (App Router) on Vercel
- **Gemini 2.0 Flash** via REST API (`gene