RPE is the most misused tool in strength programming. Most coaches either ignore it ("just follow the numbers") or over-index on it ("whatever the athlete says, adjust"). Neither is the whole picture.
This is the working rulebook we use — and what SWEATX's RPE dashboard is built to surface.
RPE, actually
Rating of Perceived Exertion on the Tuchscherer / RTS scale:
| RPE | Meaning |
|---|---|
| 10 | Maximal. No reps in reserve. |
| 9.5 | One more possible at best. |
| 9 | One rep in reserve (1 RIR). |
| 8 | Two reps in reserve. |
| 7 | Three reps in reserve. Typical hard working weight. |
| 6 | Four+ RIR. Warm-up or recovery. |
The scale is load-agnostic: a 5@8 means the last rep of a 5-rep set felt like you could have done 2 more. Doesn't matter if that was 100kg or 200kg.
Why per-set, not per-exercise
The most common mistake platforms make: logging one RPE per exercise, for the whole set of sets.
That throws away half the signal. Take a squat day with 4×5 prescribed @ RPE 8. Here are two athletes who "both hit RPE 8":
Athlete A (steady):
- Set 1: RPE 8
- Set 2: RPE 8
- Set 3: RPE 8
- Set 4: RPE 8
Athlete B (failing):
- Set 1: RPE 7
- Set 2: RPE 7.5
- Set 3: RPE 8
- Set 4: RPE 9.5
Both log "average RPE 8." But athlete B is grinding — that last set is a red flag. If you're only seeing the exercise-level summary, you miss it. By the time performance drops in the next session, you don't know why.
SWEATX logs RPE per set. The dashboard plots them as a dot grid so drift is visible at a glance.
The three signals that actually matter
1. Session-over-session RPE drift at the same load
If an athlete rates the same weight one full RPE point higher than the previous session on the same exercise, that's the earliest signal of accumulated fatigue. Before performance drops, before mood tanks, before the injury.
Rule: +1.0 RPE for the same load on two consecutive sessions = deload trigger.
2. Within-session progression
Across a 4-set prescription, the RPE should stay stable or drift up modestly (0.5–1.0 point). A jump of 2+ points between the first and last set at the same load means the athlete is undersupported — rest periods too short, sleep bad, or program volume over tolerance.
3. Prescribed vs actual divergence
If you prescribed RPE 7 and the athlete consistently logs RPE 9, either:
- The athlete is over-performing (load is too light) — increase weight
- Or they're misrating (new athletes under-rate effort until they've trained through a few true RPE 9s)
SWEATX shows the prescribed-vs-actual delta per set. If it's consistently >1.5 points over multiple sessions, the programming is off.
A pain report changes everything
RPE is useful in isolation. Combined with pain data it becomes predictive.
The mobile app lets athletes flag pain during a set — not between sessions, during. Three questions:
- Where on the body?
- Pain scale 1–10?
- Is it sharp, dull, or crampy?
Coaches see these in real time in the dashboard. A sharp 6/10 low back during squats at RPE 8 is a stop signal. The program doesn't continue in the current form — it gets modified before the next session, not after.
This is what separates a real performance coach's toolkit from a program generator. The generator gives you the plan; the coach adjusts it based on signal.
What to do with a flagged session
When SWEATX flags an athlete with any of:
- +1.0 RPE drift at same load
- Pain report above 4/10
- Missed session (RPE not logged at all)
…the dashboard surfaces it under "Needs attention" on the coach home. Three actions available inline:
- Replace next session with deload — auto-generates a 60% volume / 70% intensity version of the prescribed session
- Message the athlete — quick reply UI, stays inside the app
- Adjust future sessions — reduces load/volume across the remaining week without touching past sessions
All three preserve the program's block structure. The macrocycle doesn't reset because one session got modified.
The programming principle
Programs aren't contracts with the athlete's body. They're proposals. RPE autoregulation is how you move from "the program said to squat 180kg for 5 today" to "the program proposed 180kg for 5 at RPE 8, the athlete logged RPE 9, tomorrow's backoff session drops to RPE 7 instead of RPE 8."
That's the job. The tool should make it effortless.
Try it
Log a session in the SWEATX athlete app and watch the coach dashboard update in real time. Every set logged is a data point; every pain report is a decision forcing function.