Training
Programs (periodization)
Routines with rep ranges give you double progression — add weight when you own the range. Programs are the next level up: percentage-based training cycles that wave intensity across weeks and raise your training max each cycle. Forge ships two schemes, and every number they produce is documented in the math.
How a program works
- A program has a scheme (5/3/1 or a linear block), an ordered list of lifts, and per-lift training maxes (TM). Creating one prefills each TM at 90% of your best estimated 1RM — the conventional starting point.
- One session = one lift. The program card always shows what's next — "Week 2 · Bench Press · 84×3 · 96×3 · 108×3+" — and Start session opens a live workout with every prescribed set prefilled: weight and reps, so logging a set is one tap. The last set of 5/3/1's loading weeks is an AMRAP (+): beat the target.
- State advances only when you finish. Finishing the session moves the program to the next lift; completing all lifts advances the week; completing the cycle raises every training max by its increment (default +2.5, +5 suggested for lower-body lifts). Cancelling a session changes nothing — no burned slots.
The two schemes
5/3/1 — the classic four-week wave. Percentages of your training max:
| Week | Set 1 | Set 2 | Set 3 |
|---|---|---|---|
| 1 — 5s | 65% × 5 | 75% × 5 | 85% × 5+ |
| 2 — 3s | 70% × 3 | 80% × 3 | 90% × 3+ |
| 3 — 5/3/1 | 75% × 5 | 85% × 3 | 95% × 1+ |
| 4 — deload | 40% × 5 | 50% × 5 | 60% × 5 |
Linear block — four weeks from volume to intensity, then the TM moves:
| Week | Prescription |
|---|---|
| 1 | 3 × 10 @ 70% |
| 2 | 3 × 8 @ 75% |
| 3 | 3 × 6 @ 80% |
| 4 | 3 × 4 @ 85% |
Weights round to your plate step (2.5 by default) and never round below one step.
The raw scheme tables are also served by the API at /api/programs/schemes —
the app can never show you numbers that differ from the documentation.