Forge
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.

Reading time —

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.
  • Tapping the card's next-session box opens a preview of every upcoming session — prescribed sets, accessories, deloads, and next cycle's bumped maxes — without starting anything.
  • Works offline. Programs, schemes, and templates cache on every app start, so a dead zone at the gym changes nothing: start the prescribed session, log it, finish it. The program advances locally and the session syncs back — advancing the real state exactly once — when the connection returns.

The two schemes

5/3/1 — the classic four-week wave. Percentages of your training max:

WeekSet 1Set 2Set 3
1 — 5s65% × 575% × 585% × 5+
2 — 3s70% × 380% × 390% × 3+
3 — 5/3/175% × 585% × 395% × 1+
4 — deload40% × 550% × 560% × 5

Linear block — four weeks from volume to intensity, then the TM moves:

WeekPrescription
13 × 10 @ 70%
23 × 8 @ 75%
33 × 6 @ 80%
43 × 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.