Skip to content
Pain, recovery & load

See the spike
a week before the strain.

Pain is the highest-priority signal a serious lifter generates, and load spikes are where injuries start. flexRep is the only iOS lifting app that surfaces both — per-set pain logging and the Acute:Chronic Workload Ratio — as a clinical-credibility layer that informs your load decisions before an injury, not after.

We'll let you know when there's room.

The safety layer

Four signals, one job: keep you training.

Each one stands on real sports-medicine literature, and each one informs rather than gates. The data was already in your sets — these are the surfaces that finally make it usable.

Per-set pain logging

A leading-edge swipe on any logged set opens a pain sheet pre-linked to that exact set — location, a 0–10 severity scale, and onset (during / after / next day). Pain is a first-class entity, not a free-text note, so a coach or clinician can answer the question that matters: did this exercise reproduce the pain?

Acute:Chronic Workload

A dual-line chart plots your trailing 7-day volume over your 28-day average. A yellow band warns at 1.3–1.5; red above 1.5. It’s the canonical injury-spike signal from the sports-medicine literature (Gabbett, 2016) — and no other consumer lifting app surfaces it.

Big-jump load warning

The moment you log a working set more than ~25% above your best on that lift, a calm half-sheet asks if you meant it — with the exact percentage shown. Returning from injury tightens the threshold to 20%. Informational, never a medical claim, and one tap to log anyway or mute the lift.

A separate rehab stream

Tag any set as rehab and it routes into its own analytics bucket — so PT work can’t inflate your training-load signals. It’s an organizational label only: no locked exercises, no imposed protocols, no altered RPE targets. The chip is nearly invisible until you reach for it.

Acute:Chronic Workload

A decade-old signal. Finally on your phone.

Acute load is your trailing 7-day volume. Chronic load is your 28-day rolling average. The ratio between them is the cleanest early-warning the literature has — climb too fast above your base and the strain risk climbs with it.

The methodology card cites Gabbett directly and names the limits: it’s a population-level threshold, individual recovery varies, and a deload intentionally drops the ratio. When you cross 1.5, a soft notification fires once per spike — debounced, so an extended overreach never spams you.

> 1.5 high-risk 1.3–1.5 caution
ACUTE LOAD vs. 28-DAY CHRONIC · 12 WEEKS
The pain signal, end to end

One swipe. Then it works for you.

Logging pain takes a swipe and a slider. After that, it’s cross-referenced into the picker, charted as a trend, and woven into the verdicts — so the data you captured mid-set actually changes what the app tells you.

01

Swipe to log

Leading-edge swipe on the receipt row → a pain sheet pre-linked to that set. Location grid defaults to your last entry; NRS slider; onset control.

02

Badged in the picker

An exercise with three or more pain entries in the last 30 days shows a 🩹 capsule next to its name. Tap it to see the distinct locations it’s associated with.

03

Read as a trend

Pain plots over time alongside your training, so a building pattern is visible — not buried in a stack of one-off notes you’ll never re-read.

04

Wired into the verdicts

A pain-limited week is read as context, not a failure. Stall verdicts that would fire “frequency drop” during a flare are caveated instead of scolding.

Rehab-grade tracking

The tools a physio would actually ask for.

Pain is the start. Returning to full function needs range of motion, real milestones, and movements that respect the joint that hurts — so flexRep tracks all three, without turning your log into a clinic intake form.

Range of motion, captured

A physiotherapist measures ROM at zero pain. So the pain sheet has an optional, collapsed ROM section — pick a joint (pre-selected from the pain location), set the degrees, choose a side. It only saves when you reach for it, and it charts as a 90-day ROM trend with per-joint deltas.

Functional goals

Milestones that aren’t a number on the bar — “full overhead reach,” “pain-free stairs.” Each carries a status, a progress note, an optional target date, and a related joint. They surface in the coach digest so a clinician sees the goal, not just the volume.

Joint-aware substitutions

Every exercise can carry joint-stress tags — knee-friendly, shoulder-friendly, low spinal load. Filter the picker by them, or open a substitute sheet that leads with movements gentler on the joint that’s complaining. The data is there before you need the swap.

Progress isn't always a line

For when up-and-to-the-right isn't the goal.

Rehab, maintenance, managing a chronic issue, returning from a layoff — these are real training states, and the analytics respect them instead of grading every flat week as a failure.

Consistency over PRs

When your goal is maintenance, rehab, or just staying consistent, the analytics promote showing-up streaks and load stability above a strength line that was never the point.

Maintenance is a verdict

A flat e1RM during a deload or a managed phase reads as “maintaining,” not “regressing.” The verdict language softens to match what you’re actually trying to do.

Limiting factor, named

The daily check-in distinguishes fatigue, soreness, pain, sleep, and time — so a lighter week has a reason attached, and the app reasons about it correctly.

Train hard. Stay in one piece.

The honest analytics that point at a developing spike, name the lift that hurts, and never pretend to be your doctor.