the platform

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.

overview

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.

todayone sessionexactly what to do, nothing else
1 tapto log a setthe friction that decides adherence
pbmarked quietlya small tag, never a celebration
onlytheir own datatheir body, their program, their note
on the gym floor

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.

today's session
todaypush day - 1 of 5 loggedback squat5 x 5 @ 105kgloggedbench presspb5 x 3 @ 82.5kglog setbarbell row4 x 8 @ 60kglog setnote from your coacheasy on the squat depth today,full range matters more than the bar.
An upright phone screen, the athlete's whole view. Logging is a single tap per set because a form to fill out between sets is a form that goes unfilled. The PB is a quiet tag, not a banner: it should reassure, not interrupt the work.
progress they can feel

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, bench press, 8 sessions
9095100105s1s2s3s4s5s6s7s8pb103 kg
One series, one scale, real shape. The plateau is left in because honest progress plateaus, and a chart that hides the flat weeks teaches an athlete to distrust the good ones. The final point is the personal best, marked the same quiet way the app marks it.

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.

focus vs everything

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 seesstays in the coach's view
their bodytheir own metrics over timeevery client's metrics, side by side
their programtoday's session, resolved to weightsthe 1,600+ template library
their feedbackthe note their coach left themnotes across the whole roster
other athletesnever visible, never comparablethe full roster, triaged worst-first
the libraryonly the lifts in today's session1,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.

what drives adherence

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.

one-tap logging (low friction per set)very high
a single, clear today viewvery high
the coach's note, personal and recenthigh
a quiet personal best, earned not gamifiedhigh
a visible progress line over weeksmoderate-high
questions

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.