I built a multi-sport AI forecasting platform solo -- by architecting and directing a fleet of Claude agents through ~1,500 commits, with hard validation gates deciding what ships. Broadcast video in, calibrated probabilities out, every number on the way traceable to a receipt. Open to ML, Computer Vision, Quantitative Research, and Sports Analytics roles -- and to teams that want someone who can direct AI agent fleets that ship verified software.
court-vision -- an end-to-end multi-sport forecasting platform (NBA, MLB, soccer, tennis).
Broadcast Video -> YOLOv8n detection -> SIFT homography -> Kalman+Hungarian tracking
-> OSNet re-ID -> OCR -> court-coordinate features that exist in no public dataset
-> calibrated win-prob + prop models -> possession-level Monte Carlo
-> walk-forward, leak-guarded validation -> receipt-backed evidence layer
What makes it different is the epistemics, not the model zoo:
- Leak-free walk-forward validation with assertion-level per-fold guards and truncation-invariance property tests -- the harness fails the build on lookahead.
- 21,000+ pre-registered hypothesis cards: claim, expected sign, and magnitude written down before outcomes are looked at, then graded mechanically. The large majority of graded cards are honest REJECTs -- which is what real signal discovery looks like.
- A full-season market-efficiency result I publish instead of hiding: my calibrated models match the Shin-devigged closing line within noise on team-strength markets across 6 independent corpora. The one measured win is in-game conditioning (pregame prior fused with realized game state), labelled as calibration, not a betting edge.
- A reject graveyard and retraction log: 500+ candidate signals killed by the gate with reasons recorded; early headline numbers that did not survive adversarial re-audit are documented as retractions, not quietly deleted.
- A receipt system: every headline number on the public evidence surface carries its source artifact path, sha256, honesty label, and as-of date -- and a fail-closed linter blocks the bundle on edge-language or any retracted number.
Start here: docs/JOB_EVIDENCE_PACKET.md
-- the adversarially-audited account of every claim, including the do-not-claim list.
| Repo | The skill it isolates |
|---|---|
| walkforward-guard | Leak-proof time-series CV; the demo plants two real leaks and catches both |
| calibration-gate | Brier decomposition, ECE, PAVA/Platt recalibration + a 2-corpus acceptance gate |
| prereg-cards | Pre-registration workflow: peek-guarded registry, mechanical grading, honesty lint |
| shin-devig | Four de-vig methods incl. Shin (1992) via stable bisection |
| kalman-hungarian-tracker | Multi-object tracking from primitives -- hand-rolled 6D Kalman + Hungarian assignment |
| agentic-fleet-playbook | Orchestrating AI agent fleets that ship verified software, failure modes included |
A solo human directing a multi-model agent fleet: a frontier model decides, reviews, and adjudicates; mid-tier models execute in parallel against frozen contracts; small models scan. Hard guardrails live outside model discretion -- pre-commit hooks, fail-closed lint gates, append-only ledgers, binding invariant files. The patterns (and the failure modes) are written up honestly in agentic-fleet-playbook.
Earlier projects (CV, RL, causal inference, recsys, NLP, MLOps)
game-film-analyzer · sports-vision-tracker · deep-learning-cv · calibcraft · kellycorr · clvtrack · walkforge · rl-portfolio-optimizer · causal-inference-toolkit · recommendation-system · fraud-detection-engine · market-sentiment-nlp · llm-bi-assistant · sports-scout-rag · mlops-monitor · mlops-pipeline · realtime-feature-platform
The market is mostly efficient. Saying so, with instruments, is the credential.

