Short posts on what just shipped, how the pipeline works, and how the coaching layer is being trained.
Starts from first principles — what a Counter-Strike demo actually is and what data it exposes — then shows two ways we read strategy out of it: timing heuristics for team tactics, and a calibrated classifier for player roles. Real metrics, confusion matrix and all.
The Lineups library is not hand-authored — it is the output of a five-stage pipeline that starts at a demo on HLTV and ends at a playable clip in our storage. Here is every stage, with the real functions that run it.
The coaching report is the moat. Here is the approach we are taking to make it actually read like a coach — including how pro demos fit in as a reference corpus, not training data.
A walkthrough of the pipeline that turns a finished CS2 match into a finished coaching report without the user touching anything — including the parts where it currently does not yet.
CSReplays started life as a single Python script that parsed a demo and printed a digest. Here is what made it from that script into the first real version of the product.