2026 NCAA Tournament

March
Madness
Fantasy

Snake-draft NCAA players, score points as they survive each round, and watch your team rise on the live leaderboard.

A full-stack project built solo, end to end — real-time draft room, an actual bracket simulation engine, and two Claude-powered AI features. Three ways in below, no signup required.

Draft Live

Run a real-time snake draft against AI opponents — then see how your team would have scored in the real 2026 tournament.

Start drafting →

Explore Commissioner Tools

See the full commissioner toolkit — standings, rosters, round-by-round scoring, AI recap, bench management — on a fully-played-out 2026 season.

View Completed Season Data

Browse a finished season's final standings and rosters — read-only, nothing to set up.

View standings →

What this is

This is a real fantasy-sports web app for the NCAA March Madness tournament: you draft college players, their actual per-game tournament points accrue round by round, and a benched player automatically promotes into your starting lineup when a starter's team gets eliminated.

It's a genuine full-stack build, not a tutorial project — a real-time snake draft with concurrency-safe pick submission, a live scoring engine, Postgres with row-level security enforced throughout, and an AI draft advisor.

The demo above is the actual app running on real 2026 tournament data — no signup required.

1

Draft Live against AI opponents

A real-time snake draft — server-enforced pick timers, snake order, Claude-powered advisor — against 4 auto-drafting opponents, then see how your team would have scored in the real 2026 tournament.

2

Explore the commissioner toolkit

Land straight in a fully-seeded 8-team league with a season already drafted and scored through the Elite 8. Round-by-round scoring, bench overrides, injury subs, an AI-generated standings recap — the exact same tools a real logged-in league uses.

3

Or just browse the data

No provisioning, no session — a static, read-only view of a completed season's final standings and rosters.

What's actually running under the hood

Live Draft Room

Supabase Realtime broadcasts every pick instantly, with server-enforced pick timers, snake order, and full reconnect/rejoin state recovery.

Real Bracket Simulation

Demo and mock-draft seasons are simulated as a true single-elimination bracket — not independent coin flips — so every elimination and fantasy point traces back to one consistent simulated game.

Claude-Powered Advisors

A Sonnet-backed draft advisor reasons about positional needs and seed risk; a Haiku-backed narrator writes a fresh recap after every round.

Multi-Tenant by Design

Every league is isolated with Postgres row-level security — commissioner tools, rosters, and draft state are enforced at the database layer, not just in the UI.

Full Commissioner Toolkit

Draft order, scheduling, bench-order overrides, injury subs, and manual score corrections — each one gated to the draft phase it actually applies to.

Round-by-Round Leaderboard

Per-player, per-round breakdowns show exactly which games counted, which were bench strikethroughs, and when a player was eliminated.

Stack

Next.js 16 (App Router)TypeScript (strict)Supabase Postgres + RLSSupabase RealtimeClaude APITailwind CSS v4

Built by Kayli Ryan

Kayli Ryan is a full-stack software engineer with 3 years of experience building production web applications. She built this project end to end — Next.js, Supabase/Postgres, real-time features, and AI integration.

Ready to play for real? Create an account and invite your friends.