a companion for the client.
The athlete sees only their own body, today's session, and the note their coach left after the last one.
the smallest app that keeps them training.
A program only works if it is followed, and it is only followed if logging it costs almost nothing. The companion gives the athlete one screen: today's session, the sets to hit, one tap to mark each done, and the note their coach left last time. No library to browse, no roster to scroll, no other athletes to compare against. The less there is to do, the more of it gets done.
Adherence is the whole game. A perfect program a client abandons beats nothing; a plain one they log every session beats everything. So the companion is built around the single moment that decides adherence: the few seconds between finishing a set and recording it.
one screen, between sets, with chalk on the hands.
This is the entire athlete view, drawn as the phone they actually hold. The session is already built by the coach, so the client never composes anything: they read the next lift, hit it, and tap. Sets fill in as they go, a personal best wears a small data-lean tag, and the coach's note sits at the bottom where it is read last and remembered first.
a line that climbs is the only motivation that lasts.
Eight sessions of one athlete's estimated one-rep max on the bench, drawn on a single honest scale. It is not a clean ramp: there is a flat stretch around sessions four and five where the body was just absorbing the work, then a break through it. The PB at session eight is the same line reaching a little higher, not a different colour or a confetti burst. Seeing the curve is what makes the next session feel worth showing up for.
Estimated 1RM is derived from each logged top set, so the line is built from the same taps that log the workout. It is an estimate and is read as a trend, never a single heroic number.
what the athlete sees, and what stays in the coach's view.
Focus is not a missing feature: it is the feature. Everything that belongs to running a practice lives on the coach's side, and the athlete's app is deliberately emptied of it. The client cannot get lost in a library, cannot compare themselves to the roster, and cannot stumble into another athlete's data. The wall between the two views is the same row-level isolation the rest of the platform runs on, so this is a guarantee, not a layout choice.
| the athlete sees | stays in the coach's view | |
|---|---|---|
| their body | their own metrics over time | every client's metrics, side by side |
| their program | today's session, resolved to weights | the 1,600+ template library |
| their feedback | the note their coach left them | notes across the whole roster |
| other athletes | never visible, never comparable | the full roster, triaged worst-first |
| the library | only the lifts in today's session | 1,100+ exercises, 1,300+ foods |
The isolation is enforced in the database, not the interface. An athlete cannot reach another athlete's data even if they go looking.
the things that get the work logged, ranked.
Adherence is not willpower, it is design. These are the levers the companion pulls to turn a prescribed session into a logged one, ordered by how much each moves real-world logging rates. Friction at the moment of logging dominates everything else: the easier it is to record a set, the more sets get recorded, and the truer every chart downstream becomes.
the honest answers.
Why does the athlete see so little?
Because everything they do not need is something they can get lost in. The coach builds the program, the library, and the roster; the athlete opens the app to one job, today's session, and that narrowness is exactly why it gets done. Less to navigate means more sessions logged.
Why is logging one tap instead of a full form?
Friction at the moment of logging is the single biggest predictor of whether a set gets recorded. A form you fill out between sets, with chalk on your hands, is a form that goes unfilled. One tap marks the set done, the estimated 1RM updates from it, and the work continues.
Why mark a personal best so quietly?
A PB is a real signal, so it is marked as data: a small data-lean tag on the set, not a confetti burst. Loud celebration trains an athlete to chase the dopamine instead of the lift, and it cheapens the next PB. A quiet mark respects the work and ages well across hundreds of sessions.
Can a client see another athlete's program or progress?
No. Each athlete sees only their own body, program, history, and notes. The separation is enforced by row-level security in the database, not by hiding things in the interface, so there is no path to another client's data even by accident.
