How it works
How RIRLift picks your next weight
Updated September 23, 2026
Most lifting programs decide your weights in advance: a percentage of a max you tested once, stepped up on a schedule until a planned deload week. RIRLift works the other way round. Every weight it suggests is worked out from the sets you actually logged: the load, the reps, and how many reps you had left (RIR). This page explains what the engine reads, what it does with it, and where you stay in control.
What it reads, and what it ignores
The engine reads your logged working sets for each exercise, your routine's rep range and RIR target, and the equipment you train with. For a lift you've never done, it also uses your training profile to make a first guess. There is no week number anywhere in the calculation. Programs in RIRLift still run as journeys, with a "week 3 of 8" and a projection of where each lift is heading, but the part that picks the weight is never told which week it is. Delete your logged sets and the lift goes back to a starting estimate, because there is no planned load table underneath to fall back on.
Your reference point for each lift is updated from each session you train it, taken from your best working set, unless you've set it yourself. It isn't a max you typed in once. Warm-up sets don't count toward it. Every weight shows where it came from:
- A plain number means it comes from sets you logged.
- From history means it was worked out from workouts you had logged or imported before the engine first saw this lift.
- Estimate means it's a starting guess, not a measurement yet (see the next section).
- Yours means you set it yourself, and the engine works from your number.
Tap any suggested weight to open Why this weight, which says what the number is based on and, if something held it back, what that was.
The first time you do a lift
On a lift you have never logged, the engine has no measurement, and it says so. It gives you a deliberately light starting weight, labelled Estimate, based on your training profile, the movement and the equipment. The first set is then asked as max reps: as many as you can with good form. That one set turns the estimate into a measurement, and everything after it is prescribed from what you did.
Where no reasonable estimate exists, it doesn't invent one. It asks you to pick a weight you can lift about 10 times and works from there. If you swap mid-session to a lift you've never logged that trains the same movement, its first weight is worked out from your strength on the one you swapped out, adjusted for the equipment, instead of from a generic estimate.
Reps and RIR as one number
A set of 8 reps with 2 left in the tank tells the engine you could have done about 10. RIRLift adds reps and RIR into one number, the reps you could have done to failure, and uses that to compare what you did with what was asked. Moving a load from one of those numbers to another uses the Epley relationship, the same one most one-rep-max calculators use:
next load = load × (29 + reps to failure, logged) ÷ (29 + reps to failure, target)
Your estimated max appears on both sides of that ratio, so it cancels out. The engine never needs to know your one-rep max; it only needs the set you just did and the set you are aiming for.
RIR is your own call, and nobody's is perfect. What matters is that you are consistent, because the engine compares your logged RIR against a target you judge the same way. If you tend to call sets easier than they are, you do it on both sides, and the comparison still holds.
During a session
After every working set, the engine looks at what you logged and may adjust the next set straight away. The reps come first, then the RIR:
- You got the reps and had more left than planned: the next set goes up, as long as your equipment has a step that small.
- You got the reps but went closer to failure than planned: the weight holds. You did what was asked, so you don't get cut for pushing.
- You fell short of the target but stayed inside your rep range: the weight holds.
- You fell below your rep range: the next set comes down, unless you still had more left than planned.
Here's how that plays out with a target of 8 reps at RIR 2 (10 reps to failure), an 8–12 rep range, and 80 kg on the bar:
| You log | Reps to failure | Next set |
|---|---|---|
| 8 reps, RIR 4 | 12 | Up: 80 × 41 ÷ 39 ≈ 84 kg, rounded to a weight you can load |
| 8 reps, RIR 2 | 10 | Holds at 80 kg: exactly on plan |
| 8 reps, RIR 1 | 9 | Holds at 80 kg: you got the reps |
| 7 reps, RIR 1 | 8 | Down: 80 × 37 ÷ 39 ≈ 76 kg, rounded to a weight you can load |
Every result is rounded to a weight you can actually load, from your plates for a barbell or from the jumps your dumbbells and machines really make. Changes are kept to small steps, and a weight never climbs far past the heaviest you've ever lifted on that exercise in one go. An adjusted set is marked as a correction, not dressed up as the original plan.
Between sessions
From one session to the next, RIRLift uses double progression, and it judges it on your weakest working set, not your best:
- Every working set reached the top of the rep range: the weight goes up by one step on your equipment, and the rep target resets to the bottom of the range.
- Not there yet: the weight stays. If your weakest set hit this session's rep target, the next target is one rep more; if not, the target stays where it was.
RIR decides how big the step is, not whether you get it. If your sets were clearly easier than your target, the jump can be two steps instead of one. It never blocks a raise you earned with reps.
On the Coach screen, What moved lists what changed after your last session; tap a row to see why. The workout recap and the home screen show your next session's weights.
When a lift stalls
If a lift goes a few sessions without a new rep (three on the default pace), the workout recap suggests a step back: about 10% lighter by default, rounded to your equipment. You choose Deload or Not yet; nothing changes unless you accept it. If you do, the rep target goes back to the bottom of the range and you build up again from the lighter weight.
This is a response to a measured stall. There is no deload scheduled for week 4 because it's week 4.
Missed sessions and time off
A skipped session changes nothing. Your next session picks up at the weight you'd earned, whenever it happens. Missing a day doesn't count as a stall.
After three weeks or more without training, RIRLift offers Ease back in: one easier week that opens about 10% lighter, then normal progression. You can choose Pick up where I left off instead. The only other time the calendar matters is when a lift hasn't been trained for several months, and then its reference point is treated as out of date and estimated again.
Your controls
- Pace: Steady (smaller, surer steps), Standard (double progression), or Push (bigger jumps, more patience before stepping back).
- Step back when stuck: turn stall suggestions off entirely.
- On, Ask first, or Off: with Ask first, next session's weights are shown on the recap and only saved when you confirm them.
- Fine-tune (Pro): set the biggest step allowed within a session and between sessions, and how much a step back takes off.
You can override any weight on any set. The engine carries on from what you logged.
What it doesn't do
- It doesn't use bar speed. RIRLift isn't velocity-based training. Effort comes from your RIR, which is why the app shows how your logged RIR tracks against your targets.
- It isn't a peaking program. It's built for hypertrophy: rep ranges, double progression and deloads, not blocks that taper toward a single heavy rep.
- It doesn't prescribe load where load isn't the point. Timed holds keep the duration your routine sets; bodyweight exercises get reps until you start adding weight.
- It doesn't know about your sleep or your sore shoulder. It only sees your logged sets. On a bad day, log what actually happened, and the next set adjusts.
FAQ
Is the weight engine free?
Yes. Suggested weights, in-session corrections, progression, stall suggestions, Ease back in and the Pace setting are all free. Pro adds Fine-tune for the step sizes.
Do I need an Apple Watch?
No. The engine runs on iPhone and on Apple Watch. If you log on the Watch, it prescribes there too, and both stay in sync.
Do I need to test my one-rep max?
No. You never test or enter a one-rep max. On a new lift, one max-reps set at a light starting weight gives it the measurement it needs.
What if I'm bad at judging RIR?
Consistency matters more than accuracy, because your logged RIR is compared against targets you judge the same way. The reps also come first: going closer to failure than planned never cuts your weight, and falling below your rep range is what brings it down. For more on estimating it, see the guide to reps in reserve.