Case Study · Draft Night 2026

DRAFT
DAY.

50+
Users
32
Picks
26
Tests
RT
Sync

Real-time NFL draft companion. Bracket predictions, tiered scoring, live reactions, and group prompts to roast GMs — shipped solo for NFL draft night 2026 with Claude Code.

The Problem

Draft night is chaos.

Every year, fans watch the NFL draft monitoring Twitter, their group chat, Google Sheets — trying to track predictions, give hot takes, and roast bad picks. Nobody tracks who predicted what in real time without a lot of manual effort.
war-room-f1fc5.web.app
Draft Day join screen
What I Built

Four core systems.

01
32-Pick Bracket Grid
Each user fills a bracket predicting all 32 first-round picks. Inline stats show consensus rank, ESPN pick probability, reach/value badges, and team needs — so picks are informed, not random.
ESPN ProbabilitiesVegas OddsTeam Needs
32-pick bracket grid
02
Live Pick Flow
Commissioner confirms each pick → animation sequence → scores calculate → reactions fire. The entire room sees the same state in real-time. No refresh, no polling. Firebase RTDB listeners handle the sync.
Firebase RTDBAnimation State MachineReal-Time
Live pick flow with Room Pulse and GM Roast
03
Player Selection Panel
Rich side panel (desktop) / full-screen sheet (mobile) with 49 headshots, measurables, pro comps, scouting notes, and team-need matching. Search, filter by position, sort by rank/value/need.
49 Headshots71 ProspectsResponsive
Player selection panel with headshots and measurables
04
Real-Time Multiplayer
Room-based architecture with Firebase Realtime DB. No user auth needed — just a room code and a name. Commissioner role is permanent (room creator). Scores, reactions, and wagers all sync instantly across 50+ concurrent users.
Room-BasedNo Auth50+ Users
Leaderboard and pick recap
Technical Decisions

Build vs. configure.

1
Firebase RTDB over polling or WebSockets
Draft night is bursty — 32 picks over 3 hours with reaction storms after each. Real-time listeners give instant sync with auto-reconnection and zero infrastructure. Trade-off: vendor lock-in, but acceptable for a one-day event with no backend to manage.
2
No auth — room codes only
Single-night event with trusted friends. OAuth friction at join time is unacceptable when 50 people are trying to join 5 minutes before pick 1. Room code + name is instant. Anonymous Firebase auth handles security rules without user accounts.
3
ESPN probability integration — scrape, not API
No public API for ESPN's Draft Predictor. Built a Python scraper that pulls pick probabilities per player per slot. Name mapping aliases handle mismatches (ESPN's "Rueben Bain Jr." → our "Rueben Bain"). Probabilities baked at build time, not fetched live.
Stack
React 19
TypeScript
Firebase RTDB
Vite
Tailwind CSS v4
Vitest
GitHub Actions CI
Netlify
Try it.
Open Draft Day → ← Back to all projects