Skip to main content

Progressive Overload in Programs

How HyperIron calculates and applies progressive overload to your workouts. For the underlying science, see Progressive Overload (Concepts).

The four computed targets

Every week, HyperIron computes four values for each exercise:

TargetWhat it controlsHow it changes
WeightHow heavy the load isIncreases ~2%/week (weight mode) or stays fixed (rep mode)
RepsHow many reps per setFixed (weight mode) or increases linearly (rep mode)
RIRHow close to failureRamps down from 3 → 2 → 1 across the mesocycle
SetsHow many sets to performAdjusted by your fatigue ratings

These targets appear as placeholders in the workout screen. You can override any of them — just type a different number.

Starting weight

Week 1 working weight is derived from your reference weight — typically your estimated 10RM for the exercise:

starting_weight = round(reference_weight × 0.85, increment)
  • 0.85 is the starting factor — it leaves room to grow so Week 1 feels comfortable (~3 RIR)
  • increment is the smallest weight jump for the exercise (e.g., 5 lbs for barbells, 2.5 lbs for dumbbells)
  • round() rounds to the nearest increment

Example: Reference weight 235 lbs, barbell (5 lb increment)

starting_weight = round(235 × 0.85, 5) = round(199.75, 5) = 200 lbs

If no reference weight is set, HyperIron shows no weight placeholder — you enter whatever you want, and that logged weight can inform the reference for future mesocycles.

For a complete guide to how reference weights are suggested, set, and adjusted mid-cycle, see Reference Weights.

Weight progression (weight mode)

Each week's weight compounds at ~2% per week from the starting weight:

week_weight = round(starting_weight × 1.02^(week - 1), increment)

Worked example: Bench Press

Reference weight: 235 lbs, barbell (5 lb increment), 6 loading weeks + deload

WeekFormulaRawRoundedRIR
1200 × 1.02^0200.0200 lbs3
2200 × 1.02^1204.0205 lbs3
3200 × 1.02^2208.1210 lbs2
4200 × 1.02^3212.2210 lbs2
5200 × 1.02^4216.5215 lbs2
6200 × 1.02^5220.8220 lbs1
7 (deload)reset200 lbs

The rep target stays fixed throughout — you always train to the prescribed RIR.

Shorter and longer mesocycles

The formula is the same regardless of length. A 4-week mesocycle has fewer compounding steps (~6% total increase). An 8-week mesocycle compounds further (~15% total). The principle is small, consistent increases the lifter can sustain.

Rep progression (rep mode)

Weight stays fixed at the starting weight. Rep targets increase linearly from the bottom to the top of the rep range across the loading weeks:

reps = bottom + (top - bottom) × (week - 1) / (loading_weeks - 1)

Worked example: Lateral Raises

Reference weight: 35 lbs, dumbbell (5 lb increment), rep range 8–12, 6 loading weeks + deload

Starting weight: round(35 × 0.85, 5) = 30 lbs (fixed for all loading weeks)

WeekFormulaRepsWeightRIR
18 + 4 × 0/5830 lbs3
28 + 4 × 1/5~930 lbs3
38 + 4 × 2/5~1030 lbs2
48 + 4 × 3/5~1030 lbs2
58 + 4 × 4/5~1130 lbs2
68 + 4 × 5/51230 lbs1
7 (deload)round(8 / 2)430 lbs

Once you hit 12 reps at the prescribed RIR, increase weight in the next mesocycle and reset to 8 reps. This is how rep progression drives long-term strength gains for exercises where weight jumps are large relative to the load.

When to use rep mode

Rep progression is best for:

  • Isolation exercises (lateral raises, curls, tricep extensions)
  • Dumbbell movements where the next weight up is a big % jump (e.g., 30→35 lbs = 17%)
  • Bodyweight exercises where adding external load isn't practical

Weight progression is better for compound barbell lifts where small increments (2.5–5 lbs) are available.

Automatic fallback

If you keep the program in weight mode, exercises where the weight can't actually change (bodyweight, small weights with large increments) will automatically use rep progression. You only need to explicitly choose rep mode if you prefer rep progression for exercises that could do weight progression.

The RIR schedule

RIR (Reps in Reserve) ramps down across the mesocycle in three phases, regardless of progression mode. The schedule scales to any mesocycle length:

First ~1/3 of loading weeks:  RIR 3  (conservative)
Middle ~1/2 of loading weeks: RIR 2 (moderate)
Final ~1/6 of loading weeks: min RIR (aggressive — at least 1 week)
Deload week: no target (easy effort)

How the schedule is allocated

For mesocycles with 4+ loading weeks:

aggressive_weeks = max(1, round(loading_weeks / 6))
conservative_weeks = max(1, round(loading_weeks / 3))
moderate_weeks = loading_weeks - conservative_weeks - aggressive_weeks
Loading weeksConservative (RIR 3)Moderate (RIR 2)Aggressive (min RIR)
31 week1 week1 week
41 week2 weeks1 week
52 weeks2 weeks1 week
62 weeks3 weeks1 week
83 weeks4 weeks1 week
103 weeks5 weeks2 weeks

Minimum RIR

The min RIR setting (default: 1) controls how hard the final phase gets:

  • 1 (default) — near failure, one rep left in the tank. Safer for compound lifts.
  • 0 — train to failure. Appropriate for isolation exercises and experienced lifters.

You can set this per exercise when configuring your program.

Volume auto-regulation (sets)

Sets per exercise are not fixed — they adjust week-to-week based on your fatigue ratings:

week_1_sets = base_sets (from program template)
week_N_sets = clamp(week_(N-1)_sets + fatigue_rating, 1, 8)
deload_sets = 2 (fixed)
  • Minimum: 1 set per exercise (never drops to zero)
  • Maximum: 8 sets per exercise per session (prevents runaway volume)
  • Deload: always 2 sets regardless of accumulated adjustments

Worked example

Base sets: 3, fatigue ratings: +1, 0, 0, -1, 0

WeekSetsRatingNext week's sets
13+1clamp(3 + 1, 1, 8) = 4
240clamp(4 + 0, 1, 8) = 4
340clamp(4 + 0, 1, 8) = 4
44-1clamp(4 - 1, 1, 8) = 3
530clamp(3 + 0, 1, 8) = 3
63

Volume found its level at 3–4 sets. See Fatigue & Autoregulation for the science behind this.

Complete worked example

Putting it all together for one exercise across a full mesocycle.

Barbell Bench Press — weight progression, reference 235 lbs, 5 lb increment, 3 base sets, 8 reps, min RIR 1, 6 loading weeks + deload.

Starting weight: round(235 × 0.85, 5) = 200 lbs

WeekWeightRepsRIRSetsFatigue
1200 lbs833+1
2205 lbs8340
3210 lbs8240
4210 lbs824-1
5215 lbs8230
6220 lbs813
7 (deload)200 lbs42

Week 1 is intentionally easy (200 lbs at RIR 3 with only 3 sets). By Week 6, the lifter is handling 220 lbs at RIR 1 — 10% heavier and pushing near failure. Volume peaked at 4 sets in weeks 2–4, then backed off when fatigue accumulated.

Deload week

When a deload week is enabled, the final week of the mesocycle uses:

TargetDeload value
WeightReset to Week 1 starting weight
RepsApproximately half of base reps: round(base_reps / 2)
RIRNo target (easy effort)
Sets2 (fixed, regardless of auto-regulation)

Default weight increments

If you haven't configured a custom increment, HyperIron uses these defaults:

EquipmentDefault increment
Barbell5 lbs
Dumbbell5 lbs
EZ bar5 lbs
Trap bar10 lbs
Smith machine5 lbs
Cable5 lbs
Machine5 lbs
Kettlebell0 (use rep progression)
Bodyweight0 (use rep progression)
Bands0 (not weight-based)

Exercises with a 0 increment (bodyweight, kettlebell, bands) skip weight calculations entirely.

Automatic rep progression fallback

When an exercise is set to weight mode but weight progression can't actually produce a change — either because:

  • The exercise has no reference weight (e.g., bodyweight movements)
  • The exercise uses equipment with a 0 increment (bodyweight, kettlebell, bands)
  • The increment is too large relative to the weight for the 2% weekly increase to produce a change (e.g., wrist curls at 25 lbs with a 5 lb increment — the math rounds to the same weight every week)

...HyperIron automatically falls back to rep progression for that exercise's rep targets. Weight stays as computed (flat or null), but reps ramp from the bottom to the top of the range so the exercise still progresses through the mesocycle.

This means you don't need to manually switch individual exercises to rep mode — the system detects when weight can't move and adjusts automatically.

When you can't hit the target

Log what you actually did. If the target is 210 lbs × 8 at RIR 2 but you only get 6 reps, log 6. Your actual performance is always preserved in the workout log and informs future mesocycle seeding.

Common reasons targets feel too hard:

  • Bad sleep or high stress — one bad session doesn't mean the reference is wrong
  • Reference weight was set too high — if it's a pattern across multiple sessions, adjust the reference weight
  • Accumulated fatigue from later mesocycle weeks — this is by design, especially in the aggressive phase

Overriding targets in a workout

You can enter a different weight or rep count during any workout. Your logged values do not automatically change the reference weight or future calculated targets. The progression formulas continue using the original reference weight.

If the targets are consistently wrong, the right fix is to adjust the reference weight directly — this recalculates all future weeks properly rather than creating a one-off deviation.

Adjusting reference weights mid-cycle

If the reference weight is too high or too low, you can change it at any time. See Reference Weights — Adjusting mid-cycle for the full guide, including worked examples and when to adjust vs. when to wait it out.

Progression preview

You can see the projected weight, reps, RIR, and sets for every future week before you train them. This makes it easy to spot problems early — if the final week's weight looks impossible, lower the reference now rather than grinding through. See Progression Preview for details.

AI overrides

With AI coaching, Claude can analyze your performance and suggest modified progression targets — for example, a steeper ramp if you've been consistently beating targets. AI overrides appear in the progression preview as modified values, clearly marked so you can accept or dismiss them.

Across mesocycles

When you finish a mesocycle and start a new one from the same template, HyperIron seeds the new mesocycle from your actual performance. See Reference Weights — Across mesocycles for the full rules.

  • Weight mode: Best weight from the final loading week becomes the new reference. Week 1 starts at ~85% of that.
  • Rep mode: Hit the top of the range? Weight goes up one increment, reps reset. Didn't reach the top? Weight stays, keep building reps.
  • Volume: Final auto-regulated set counts carry forward as starting volume. Over multiple blocks, volume converges on what your body can handle.