Routines & progression
A routine is a template: exercises in order, target set counts, rep ranges, rest times, and superset links. Start a workout from one and the progression engine fills in what it thinks you should lift today. The rules are below — all of them.
Templates carry structure, history carries weights
Routines deliberately do not store weights. When you start a workout, each exercise pulls last session's sets as ghosts, and — when the routine sets a rep range — a computed suggestion. Weights are state, and the engine updates them every session; a weight frozen in a template would be wrong within three weeks.
Double progression, exactly
When a routine exercise has a rep range (say 6–10), starting a workout runs this check:
- Take every working set from your previous session of that exercise.
- If all of them hit the top of the rep range, suggest last top weight + increment (2.5 by default, configurable per exercise).
- Otherwise, no suggestion — finish filling out the range first.
Deload detection, exactly
With Deload hints enabled in Settings, a second check runs when you have not progressed:
- Look at your last three sessions of the exercise.
- If all three share the same top weight and none of them completed the rep target on every set, the lift is stalled.
- The suggestion becomes ~90% of the stalled weight, rounded to your increment.
The same detector feeds the Stalled lifts card on the stats page, so you hear about a stall on your sofa, not mid-set.