Train

Train is a logbook with a memory. You lift, rate each set with one tap, and the next session's weights follow from those ratings by rules you can read. There is no model guessing at you, and every suggested number says why.

The Train tab: an exercise search, the planned Push day with a Start workout button, Adjust the plan and Session history, then your workouts and programs. Push day in progress: for each exercise, a row to enter reps and weight and a note, with the plan and last time's sets beneath.

Programs and exercises

Planning and logging

The plan editor for Push day: each exercise's target sets as reps times weight, an Add set row, and a note such as 55 hit last time, full three sets now. Rating a set: why the weight left the plan (On purpose, Misread, Equipment), a Left or Right tag, Warm-up and Pain switches, and the How did it go ratings starting with Easy.

The five ratings

RatingMeansNext time
Easy3 or more reps left in the tankUp one increment, or one more rep
Solid1 to 2 reps left in the tankUp one increment, or one more rep
HardEvery rep, last ones grinding, form heldHold
Form brokeEvery rep, but technique slippedDown one increment
Couldn't finishMissed some of the repsDown one increment

Easy and Solid move the same single increment on purpose. A bigger jump for "easy" is exactly the runaway progression this exists to prevent. The two bottom ratings ask for a reason: form, one side, or interrupted. An interrupted set repeats the plan unchanged and neither counts for nor against anything.

How the next weight is decided

A suggested workout: each exercise's proposed sets as reps times weight, with a plain-language explanation of the decision under each exercise.

For each set, read the reps done against the rep range and the rating:

Then the overrides, in order:

  1. Pain flagged anywhere on the exercise: nothing climbs.
  2. The gate: a weight needs the exercise's number of good sessions before it advances. One by default; a technique lift needs at least two. Until then the set holds at the top of the range and the plan says how many good sessions remain.
  3. Deload: Couldn't finish twice running at a weight goes down two increments.
  4. Stall: two sessions at a weight with neither weight nor reps moving goes back to 90%, bottom of the range, to rebuild. A second stall deload within six weeks is not a programming problem: the weight holds and the plan asks you to review the exercise.

Finally the move is clamped (at most the exercise's maximum jump up, two increments down), snapped to the equipment's increment grid above its floor, and a ladder is repaired only downward so no set is heavier than the one it should sit under. A set advances on its own result, never because a neighbour moved.

Time away

Measured per exercise from its last finished session, never from a schedule; a single skipped session is not a layoff.

Days since last trainedEffect
7 or moreNo advance this session; reps as done.
14 or moreWeight down 10%, bottom of the range.
28 or moreWeight down 20%.
56 or moreDown 20%, then the working weight is found again by calibration.

Calibration

A new exercise, or one returning from eight weeks away, is calibrating: up to four sessions in which an Easy set moves the weight up 20% and a Solid set 10%, never more than 20% in one session, at the top of the rep range. The first rating that is not Easy or Solid ends calibration and the ordinary rules take over.

Ladders, straight sets and warm-ups

An exercise runs as a ladder (each set its own rung, ascending or descending) or as straight sets (one decision from the worst working set, applied to all of them, with warm-ups prescribed in front at 60% of the working weight). Neither is more correct. Switching seeds the next plan from what you lifted rather than progressing it. A planned light session puts every weight at 90% and is excluded from every count afterwards. Bodyweight exercises climb reps to the top of the range, then hold; the app never says "add weight" to bodyweight.

The decision record

Every suggested set carries the rule that set it, the weight it moved from, how many increments it moved, your previous reps and rating, and a one-line explanation. The same record goes into the export. History for an exercise is its last ten finished sessions; sets logged before ratings existed read as Solid.

Session history and Apple Watch

Workouts: past Push day sessions with their date, exercise and set counts, and a Show Apple Watch workouts button with a note that overlapping workouts are merged, never doubled.

If you connect Apple Health workouts, from Session history or Settings, the app reads the workouts your Watch recorded. A strength block that overlaps a session logged here is the same workout: it adds duration and average heart rate as context rather than appearing twice. A run or a walk the Watch recorded on its own appears in the history as a workout that happened. Nothing is written back to Health, and none of it touches the calorie budget, which already counts the Watch's burn through the movement connection.

See also: Apple Health, Export.