EJ Lawless
AI Projects / BasketballGraph

BasketballGraph

Basketball, taught the way Math Academy teaches math — plus the computer vision to read real game film.

Visit basketballgraph.com ↗

basketballgraph.com is a live mastery-learning platform: a 48-topic curriculum wired into a knowledge graph with 75 prerequisite edges, running from “what is a foul?” to designing a college practice plan. Topics unlock only when their prerequisites are mastered at 80%+, and everything you learn comes back on a spaced-repetition ladder — 1, 3, 7, 14, 30, 60, 120 days — the same learning science behind the best math platforms, applied to a sport.

The Daily 5 is the growth loop: five questions, identical for every player on earth, generated deterministically from the date — Wordle's trick, needing zero server coordination — with streaks and banked freezes. A Unity prototype extends it to 3D: the floor freezes while you read the defense, runs when you commit, and a debrief compares your read to the coach's.

The computer-vision pipeline

basketballgraph.com — the live dashboard with topics mastered, XP, streaks, and the Daily 5

Behind the site is a genuinely hard CV problem I built a pipeline to solve: take real youth-game footage, detect and track every player, re-identify one specific kid across three different teams, and produce spacing heat maps anchored to actual game events. Player re-identification runs on DINOv2 embeddings (beating color-histogram baselines by ~20 points), and detection jobs fan out across spare Mac minis on the home network as a small distributed cluster.

The pipeline's best trick is how it labels data: off-the-shelf detectors struggle with a fast-moving ball in amateur footage, so the system mines native-4K frames, proposes candidate detections cheaply, and confirms each one with a cascade of Claude vision models before fine-tuning a fast detector on the confirmed set. That propose-then-confirm loop took shot-window recall from 44% to 94% — a self-supervised labeling factory built from one insight about what vision-language models are actually good at: confirming beats locating.