SportAI watches game and practice video frame-by-frame, turns each player into a skeleton, and flags movement patterns that signal fatigue, asymmetry, or injury risk — before a coach or trainer would spot them by eye.
You point the pipeline at a game video. It tracks every player, measures how their body moves (knee flexion angles, hip drop, landing mechanics, stride symmetry, etc.), and writes a running log. If anything trends the wrong way — a player landing flatter on their right leg, a jumper whose hip drop keeps growing — the system raises an alert so staff can pull them or re-test.
| Metric | Why it matters | Typical flag |
|---|---|---|
| Knee flexion angle | Landing stiffness → ACL risk | < 30° on landing |
| Hip drop (Trendelenburg) | Core / glute fatigue | > 5° asymmetry |
| Stride symmetry index | Hamstring / ankle compensation | > 8% L/R delta |
| Vertical jump delta | Cumulative fatigue vs baseline | > 15% drop over game |
| Landing force (proxy) | Joint load, overuse risk | Spike above P90 |
Ultralytics model, 17-keypoint skeletons at 30 fps on a single GPU.
Stores millions of raw frame-level keypoint rows, indexed by time and player.
Per-player baselines, alert history, rehab notes — the warm layer.
Ops-grade metrics and escalation so the pipeline itself is observable.
Thresholds are re-calibrated nightly from the player's own baseline.
Full stack spins up in one command for testing on a spare box.