Everything the crew does, in one place.

Catchline started as a stroke analyzer. It now also carries the squad and the season: who is rowing, what they lift, what they pull, what is scheduled, and how the two connect. All of it runs in this browser — no account, no server, no upload.

CATCHDRIVEFINISHRECOVERYCATCHDRIVEFINISH

Analyzer

Upload a clip, track the athlete's joints frame by frame, and get a coaching report with an honest confidence grade attached to it.

Body position and timing · tracker is vendored, so it runs offline

Crew Tracker

Squads, biometrics, one-rep maxes, ergo scores, injuries and mobility work — plus every stroke report saved against the athlete it belongs to.

Program Manager

The season's schedule by week, month or block. Test pieces open a recorder that writes results straight back to the athletes.

Reference

Documentation

Read the video requirements before filming anything you intend to trust the numbers from.

FILMING Video requirementsWhat footage the Analyzer needs, why, and the camera errors that produce confident wrong answers. SCHEMA Program file formatThe JSON contract for a season program, including how test pieces link to ergo scores. PROJECT Handoff notesArchitecture, analysis internals, bug history, tuning constants and the roadmap. SAMPLE sample-program.jsonA working 10-week block with four test pieces. Load it in the Program Manager to see the views filled in.
Serving this folder: run python -m http.server 8000 here and open http://localhost:8000. Opening the files directly from disk works, but the browser then caps inline video at 120 MB, hands every file:// page the same storage bucket, and refuses to load the vendored tracker and fonts — so the Analyzer falls back to fetching those over the network. Served over HTTP, the suite makes no network calls at all: the pose model, its runtime and the fonts all live in vendor/.