← All cases

Build case · Product

TrainO: the engine decides the session

A training system that doesn't hand out templates: it reasons each session against your real recovery, with rules I can audit.

The problem

Generic training plans assume every day is the same. They aren't: recovery varies, and a plan that ignores that either undertrains you or injures you. I came to the problem from the wrong side — recovering from an injury — and found that the apps out there were either routine catalogs or black boxes that “adjusted” without explaining why.

The architecture decision

I built the adjustment as a deterministic engine: explicit inputs (history, declared recovery, target progression), rules written before the code, and an output that can always be explained backwards. No model that "senses" the load. When AI participates, it does so within limits: it proposes, it does not decide.

The principle it proves

The system doesn't interpret; it executes. An engine whose decisions you cannot reconstruct isn't adaptive: it's unpredictable, and in something that touches your body that isn't acceptable.

Current state

Functional, on iOS and Android. The journal documents design decisions as they are made.

Where to go deeper