
🏀 AI-Powered Tournament Simulator
68 teams become AI agents. Claude simulates every game. ElevenLabs calls every upset. The bracket fills in real time.
136
Teams
134
Games
$0.22
Per Run
40+
Years of Data
/How It Works
Each team is a data profile. Each game is a Claude API call. The bracket is a tree. The agents are the leaves. Claude is the wind.
Each team carries its full identity: KenPom efficiency ratings, key players, play style, volatility score, and Perplexity-enriched scouting reports. No two agents are alike.
Claude analyzes both team profiles, applies our data-driven upset algorithm, and simulates a realistic game — scores, MVP, key moment, and a broadcast-quality narrative.
Results push to every connected client in real time via Convex. The bracket animates. Upsets shake the screen. ElevenLabs v3 reads every result like a sports announcer.

Proven Stats.
Real Results.

/The Stack
Deliberate choice. Raw API calls. Full control.
Next.js 16
Frontend
App Router + React 19
Convex
Real-Time DB
Zero-latency push
Claude AI
Simulation
Sonnet via fetch()
ElevenLabs
TTS v3
Broadcast announcer
/Features
5-signal ensemble: historical rates, efficiency gap, volatility, experience, and AI-interpreted momentum. Cinderellas happen here.
ElevenLabs v3 TTS reads every result with real broadcast energy. Upsets get the full treatment.
Convex reactive push. Zero polling. The bracket updates live as each game resolves.
Track champions across all simulations. Championship probability, Final Four rates, Cinderella tracking.
Perplexity pulls current injuries, streaks, and analyst takes. Claude generates style profiles.
Our ensemble model generates tournament predictions. Bradley-Terry + efficiency + seeds = competitive submission.

Both Brackets. 136 Teams.
/Built By
Director of Strategy & Innovation · Radio Milwaukee
“The bracket is a tree. The agents are the leaves. Claude is the wind.”
I call my development methodology “bumwad coding” — named after the tracing paper architects use to iterate on designs. Every project starts with a blueprint. Only after the architecture is solid do I start writing code, usually with Claude Code as my pair programmer.
68 teams. 67 games. Every matchup simulated by AI. Every upset earned by data. Every story told in real time.
Launch AgentMadness →