Every youth game deserves a real officiating crew.
WhistleCrew is an AI officiating crew for youth basketball, built to referee grassroots games in real time — two sideline cameras and a team of AWS AI agents that call the game consistently, transparently, and with a full explanation for every call.
No wearables on players. No special ball. No scramble to recruit officials. WhistleCrew earns trust in stages — shadowing human refs first, then assisting them, then running games autonomously. Current status: a validated prototype running in Shadow Mode on recorded footage — not yet deployed in a live venue.
From the recorded dribble-drill clip in our benchmark suite (photo is illustrative): pivot foot slid 0.102 m after the gather; whistle at 440 ms.
The problem
Youth basketball is running out of referees.
Leagues across the country cancel games, compress schedules, or hand the whistle to whoever is available — because there aren't enough trained officials for grassroots basketball. The result is inconsistent calls, frustrated families, and games that feel unfair no matter who wins.
Games without a crew
When officials don't show, leagues improvise: parent volunteers, single-ref games, or cancellations. Quality — and trust in the result — drops with every shortcut.
Same play, different call
Human crews vary by experience, angle, and fatigue. A travel called in the first quarter is ignored in the fourth, and nobody can show their work afterwards.
No scorebook you can trust
Paper scorebooks get lost, stats are never captured, and families leave with nothing — no highlights, no record, no way to settle a disputed call.
- WhistleCrew's answer: put the crew in the venue permanently — cameras that never miss a rotation, a rulebook that never gets tired, and a record of every decision.
- Nothing asked of players: no sensors, no instrumented ball, no check-in hardware. If kids can play the game, WhistleCrew can officiate it.
How it works
Two cameras in the gym. A full crew in the cloud.
A venue edge device watches the game locally — so latency stays low and the system keeps working through brief network drops — while specialist AWS agents make, explain, and record every decision.
See the game
Two synchronized sideline cameras feed an on-site edge node (NVIDIA Jetson Orin or RTX-class mini-PC) running player tracking and pose estimation.
Send events, not video
The edge converts pixels into structured VisionEvents — positions, possession, foot placement — and streams them over a secure WebSocket. Raw video is kept only briefly for review, then deleted on the fixed retention schedule below.
Agents decide
AWS agents apply the selected league profile — NFHS Youth by default, or NBA — to each event, score their confidence, and route the call: instant whistle, tablet review, or silent drop.
Everyone sees why
The call is announced courtside, written to the official scorebook, explained in plain language, and sealed into a tamper-evident audit log.
Hybrid-edge architecture
A 1-second edge-to-cloud heartbeat with a dead-man switch reconciles game state after any disconnect — the scorebook never silently diverges.
The product
Not one model. A crew — each agent with one job.
WhistleCrew mirrors how a real officiating crew divides responsibility, so every decision can be traced to the agent that made it and the evidence it used.
Crew Chief
Orchestrates the crew and enforces the confidence ladder: 95%+ is an instant call, 70–94% becomes a reviewable tablet flag, below 70% is dropped and never reaches the court.
95 / 70 GATEEyes
Multi-player tracking and pose estimation on the edge isolate skeletons, ankle and wrist keypoints, and ball possession — packaged as standardized VisionEvents.
EDGE · REAL-TIMERulebook
Deterministic logic from a single rules source of truth, with selectable league profiles — NFHS Youth (traveling 4-44, out of bounds 7-1, three seconds 9-7, backcourt 9-8) and NBA (shot clock, 8-second backcourt, defensive three seconds) — ruling the same way on the first possession and the last.
NFHS + NBA · DETERMINISTICVoice
Turns each ruling into a spoken announcement at the scorer's table and over the venue PA, so the gym hears the call the moment it is made.
SPOKEN ANNOUNCEMENTSScorebook
The official record: sequence-ordered state transitions guarded by conditional checks, so a call can never be applied twice or out of order — even across reconnects.
SEQUENCE-LOCKEDExplainer
Turns every ruling into a plain-language explanation for coaches and parents, tied to the exact VisionEvent behind it. Disagreement becomes a conversation, not an argument.
EVERY CALL EXPLAINEDOps
Runs the pre-game readiness checks, the roster consent gate, and live system health monitoring — and raises the alert when anything needs a human.
GAME-DAY OPSLeague profiles
One rules engine. Two games — youth and NBA format.
WhistleCrew now ships selectable league profiles from a single rules source of truth. Pick the profile at game setup — on the MVP runner (--league nfhs_youth or --league nba) and on the scorer's tablet — and the court geometry, timing, and detectors all follow that profile. The profile is recorded in the game manifest and summary, so every package states which rulebook produced it.
NFHS Youth
DEFAULT PROFILEThe original WhistleCrew game, unchanged: built for grassroots and high-school basketball under NFHS rules, with youth court dimensions and event-based timing.
- Court & timingYouth court · youth timing
- Periods4 × 8-minute
- Shot clockNone imposed by default
- BackcourtEvent-based (NFHS 9-8)
- Core detectorsTravel (4-44) · OOB (7-1) · 3-sec (9-7)
NBA
RULES-PROFILE READYThe full NBA format encoded as a selectable profile — court, clock, and an NBA-only detector — so an NBA-format game produces an NBA-ruled package from the same crew.
- Court94 × 50 ft
- Three-point arc23′9″ (corner 22′)
- Shot clock24 s · 14 s on offensive rebound
- Backcourt8 seconds
- Periods4 × 12-minute quarters
- NBA-only detectorDefensive three seconds
Stadium dress rehearsal passed: the tablet server handled spectator polling load, concurrent ingest, mid-game crash recovery (kill -9 + restart restores the exact pre-crash book via a write-ahead event log), network-partition flush, and a 10,000-event game + overtime endurance run.
Subsequent runs go further: hot-standby failover — a second node mirrors the game live, and when the primary was killed mid-game the standby was promoted with the exact same book and the game finished on it; quantified spectator load — live state reads held a median (p50) of about 120–140 ms with 150 concurrent viewers; a segmented write-ahead event log with salvage recovery, so corruption costs only the records after the last valid segment boundary, and any losses are counted exactly — instead of losing the game; and a protected game-finalize endpoint that refuses a duplicate finalization.
The spectator-load, failover, and recovery figures above are single-run sandbox measurements; the human-verified evidence behind the published accuracy claims is n=1 — one verified game, with the remaining sequences agent-reviewed only.
See it work
One game, three levels of trust.
WhistleCrew earns autonomy in stages — the same path a league would take. Switch modes to see what the system does at each level. The feed below reflects the live tablet wiring verified end-to-end: the recorded 440 ms travel, a reviewable flag, a dropped candidate, and a human-resolved out-of-bounds.
Shadow Mode: WhistleCrew watches alongside human officials and logs every call it would make. Nothing reaches the court — the “Ghost Referee” record is compared against ground truth to build verified accuracy before anyone trusts it with a whistle.
Try the certainty gate
Every candidate call carries a confidence score. Move the slider to see exactly where WhistleCrew draws the line between blowing the whistle, asking a human, and staying silent. Low-confidence game-stoppers — like a hard out-of-bounds — pause the game and escalate to the scorer's tablet instead of guessing.
Game-day showcase
The screen you hand to guests.
The scorer's tablet runs the game; the showcase dashboard wins the room. Served by the same tablet server at /showcase, it's a broadcast-style live page built for everyone watching on game day — investors, league officials, families in the stands — fed by the same real game state as the operator's screen.
Offline-capable by design: zero external dependencies — no CDN fonts, no third-party scripts — so it runs on venue Wi-Fi that barely exists. And it's read-only: guests can watch every call unfold, but they can't touch a single whistle.
The end-to-end MVP
One command in. A complete officiated game out.
Feed WhistleCrew a raw game video and it produces the full package a league, a coach, and a family each need — every call traceable to the exact pipeline event that produced it. Unruled events never become calls; nothing is fabricated to fill the sheet.
- League selectable per game: --league chooses the profile — nfhs_youth (the default) or nba — and the chosen profile is recorded in the manifest and summary.
- Scorer's tablet, live: the tablet UI runs on the real CrewChief → gate → Rulebook → Scorebook stack. Resolving an escalation applies exactly one sequence-checked transition — a second tap is rejected.
- Fail-closed by design: court-dependent detectors refuse to run without calibration, contact is a review-only proxy (never autonomous), and slow-motion footage triggers abstention instead of a guess.
- Venue self-onboarding: a 10-second empty-court stream auto-maps the court homography, so a new gym can be set up without a specialist visit.
calls.json + explanations
Timestamped calls with the active league profile's rule citation, confidence, decision, plain-language explanation, and an evidence pointer to the source VisionEvent.
Official scorebook & play-by-play
Sequence-watermarked scorebook (JSON + readable sheet) and a play-by-play feed matched 1:1 to the calls.
Stats, highlights & summary
Per-player stat sheet, highlight markers for families, and a summary report that states the system's limitations honestly.
Verified proof
Benchmarked like a product, reported like an audit.
The prototype has been run end-to-end — raw video in, whistle out — and stress-tested against degraded gym footage: dim light, blur, glare, low resolution, noise, and dropped frames. These are the numbers a buyer's engineer can re-run from the repository.
| Measure | Result | What it means |
|---|---|---|
| Video-to-whistle (travel) | Whistle at 440 ms · 98.4% conf. | Public dribble clip run through the full edge pipeline: pivot slide 0.102 m vs. 0.08 m threshold, ruled a violation under NFHS 4-44. |
| False whistles, legal play | Zero — every variant | Across all 7 benchmark variants (clean + 6 gym degradations), the verified legal-dribbling window produced no false whistle. The system abstains rather than guesses. |
| Travel recall (7 variants) | 6 / 7 within tolerance · 4 / 7 at the gather | Clean, dim, blur, and low-res footage catch the verified travel at the gather itself; remaining matches land within the scoring tolerance. Misses are abstentions from thin ball evidence, disclosed in the docs. |
| Player coverage | 93–96% across variants | Multi-player tracking holds up under degraded footage; appearance-aware stitching keeps identities stable through occlusions. |
| Slow-motion footage | False positive eliminated | A structural tempo gate detects dilated footage and abstains — 0 whistles on the slow-motion clip, and 0 frames flagged across all 14 real-time benchmark runs. |
| Test suite | 338 tests, all passing | Covers detectors, both league profiles, scorebook integrity, tablet API, audit hash-chain verification, and end-to-end package consistency — the full suite runs offline, no AWS access needed. |
| Tablet loop (live HTTP) | Verified end-to-end | Instant tier flips possession; a 0.81 candidate flags only; a 0.55 candidate never surfaces; a manual out-of-bounds resolution applies exactly once — duplicate resolves return 409. |
| Ball-model promotion gate | Zero false whistles shipped | Custom vision models must pass a zero-false-whistle promotion gate before they can ship. Two candidate models have been rejected by that gate; the proven stock model remains the default. |
| Calibration | Rebuilt · ≤ 0.15 m RMS on synthetic courts | The calibration workflow has been rebuilt and proven on synthetic courts to reach the venue bar of 0.15 m RMS or better when court points are picked accurately. Real venue calibration is still pending — no venue has been calibrated yet. |
Data retention
Youth data, minimized by architecture.
Youth games are full of minors on camera, so WhistleCrew splits everything it records into two tiers — and the tier that holds video of kids is never kept long-term.
Tier 1 — The ledger
KEPT 3 YEARSOnly the anonymized record needs to survive: events, decisions, rule citations, the hash-chained audit trail, and official scorebooks — sealed under tamper-proof S3 Object Lock for 3 years.
- What's keptAnonymized JSON ledger
- How it's sealedS3 Object Lock, 3 years
Tier 2 — The media
AUTO-DELETEDRaw footage is kept only long enough to be useful, then hard-deleted on a fixed schedule — never archived, never repurposed.
- Raw game videoHard-deleted at 30 days
- Evidence clipsHard-deleted at 90 days
Business model
Leagues pay for officiating. Families pay for the memories.
Two revenue lines share one installation: the game WhistleCrew officiates is the same game that produces every family's highlights and stats.
League & venue officiating
Per-game or per-season pricing for leagues, schools, and tournament operators — priced against the cost and scarcity of human crews.
- Fixed two-camera venue kit + edge device, self-onboarded
- Shadow → Assisted → Autonomous rollout lowers adoption risk
- Scorer's tablet included — no extra game-day staff to hire
Consumer game content
“The Strava for rec basketball”: every officiated game automatically generates what families already try to film from the bleachers.
- Automated highlight reels clipped to real game events
- Official stat sheets for every player, every game
- A data asset that compounds with every venue installed
Millions of youth games a year
Youth basketball is one of the largest participation sports in the U.S. — and every one of those games needs officials, a scorebook, and a record.
Category position
Camera systems today record or stream games; officiating systems need wearables or instrumented balls. No identified competitor referees the game itself with cameras alone.
Future of Officiating
Built for the NBA Launchpad program's officiating track — a 15-page application with verified metrics, technical innovation, and an R&D pilot proposal (Jr. NBA / G League sandbox venue).
Roadmap
From validated prototype to league standard.
Build complete, application ready
Working video-to-whistle prototype, end-to-end MVP, live scorer's tablet, dual-league rules profiles, 338-test suite, and the NBA Launchpad application package. Venue pilots are the natural next step.
Game-day resilience spec written — UPS-backed camera power, dual-carrier cellular failover (AT&T/T-Mobile) if venue Wi-Fi drops, a hot-standby node, a spare tablet, and a paper scorebook as the final fallback — so a game finishes even when the venue's infrastructure doesn't.
Launchpad pilot & first leagues
Sandbox-venue pilot (Shadow, then Assisted with a haptic-alerted human supervisor), production vision weights trained on annotated venue footage, first paying leagues.
Scale
Multi-venue rollout, autonomous-mode certification with league partners, consumer highlights/stats launch.
Growth
Regional league networks, tournament circuits, and adjacent sports.
For buyers & acquirers
A diligence-ready asset, described honestly.
WhistleCrew is listed for acquisition. Everything below is verifiable from the repository and documentation — a buyer's engineer can re-run the benchmark and the full test suite in an afternoon.
What's included
- Complete codebase — ~28,600 lines of Python: edge vision pipeline, five rule detectors, agent crew, scorebook, tablet server, AWS CDK infrastructure, and venue tooling. Standard, hireable stack — Python throughout, AWS infrastructure as code with CDK, no exotic dependencies.
- Working end-to-end MVP — one command converts raw game video into calls, scorebook, play-by-play, stats, and highlights, with committed sample packages.
- Benchmark evidence base — 5 human-annotated clips, 7-variant degradation suite, and documented results including the misses.
- NBA Launchpad application package — 15-page submission with verified metrics, technical-innovation and R&D pilot proposals.
- Legal & safety framework — draft EULA classifying the product as a Sports Administrative and Scoring Utility, consent gate design, and tamper-evident audit architecture. Secrets audit clean across full git history.
- This website & brand assets — WhistleCrew name, identity, and domain presence.
Business facts
- Stage
- Validated prototype · pre-revenue
- Category
- Sports technology · AI officiating
- Platform
- Hybrid edge + AWS
- Tests
- 338 passing
- League profiles
- NFHS Youth (default) · NBA
- Mode today
- Shadow (pilot-ready)
- Program
- NBA Launchpad — submission-ready
Questions
What leagues and buyers ask first.
Own the future of officiating — or put it in your gym.
Whether you're a league looking for a pilot, a partner in youth sports, or a buyer evaluating the acquisition, one conversation covers it.