e1RM that knows where it stops.
Brzycki for r ≤ 6. Epley for r 7–10. Capped at 10 reps because no formula past that is validated. Your per-set display still respects your Settings choice; the charts use the blend, consistently.
Three lifts. One 1RM that gets reported. flexRep treats your e1RM, your zone-based RPE drift, and your Wilks score with the same caution a peaking lifter applies to attempt selection — formulas with citations, caps where the literature stops, and a hard refusal to make up the parts in between.
You're training for a number. The app should respect that you know what that number is, what it should be in eight weeks, and what the difference is between a stalled bench and a noisy week. Here's how flexRep meets you at that level.
Brzycki for r ≤ 6. Epley for r 7–10. Capped at 10 reps because no formula past that is validated. Your per-set display still respects your Settings choice; the charts use the blend, consistently.
Linear regression on the last six weeks. We flag a stall only when the slope CI says so — and on a hit, the chart runs cause attribution and ranks the top three likely causes by signal strength.
Three separate fields in the model: identity, pronouns, formula reference. Only the reference drives sex-keyed math, and it's explicitly opt-in. With it set, you see all three with citations. Without, the scores hide and the empty state explains why.
A real plan in the app, not a note on the side. Opener, second, third for each lift, plate-snapped to your gym's loadable inventory and capped against your strength curve. Federation context picks the right score (IPF GL, Wilks, DOTS). Attempt number, paused-bench tag, judge-command tag, depth-met flag, and a made-or-missed outcome all ride with the set for post-meet review. A missed third never gets baked into a PR.
Out of the The Powerlifter's thirty-six daily features, these are the ones that earn their seat at the rack.
Brzycki + Epley with a 10-rep cap. Volume Trend, Strength Progression, and Intensity Distribution can't disagree because they all read from the same blended number.
See itFederation (IPF, USAPL, USPA, WRPF), weight class, opener / second / third per lift — plate-snapped to what your gym actually owns. Attempt number, paused-bench tag, judge-command tag, depth-met flag, and a made-or-missed outcome all ride along with the set. A missed third never establishes a PR.
See itWhen a training max is set, drift is computed per %1RM zone (60–70 / 70–80 / 80–90) instead of against a single modal weight. The deload signal lives where you actually train.
See itTop three likely causes ranked: high volume, RPE drift, frequency drop, no deload in six weeks, bodyweight drop. Verdict + diagnosis on the same screen — and the hypertrophy phase classifier means a block above 10 reps reads as a phase, not a regression.
See itDrop sets snap to what the rack can actually load — the receipt shows "Snapped from 81.6 → 80 kg." Warmup ramp generator plate-rounds each rung. No 1.25-lb proposals at a hotel that only owns 2.5-kg fractionals.
See itProgram → Mesocycle → Microcycle → Routine → per-set prescriptions. Block comparison reads the graph; the inline target shows up on every receipt row at log time.
See itHonest comparison against the apps powerlifters actually use. Three years of meet prep would expose any app's seams; we're naming flexRep's up front.
Volume the literature would recognize.
Your block, as a real graph.
Hand a clean JSON to anyone.
Train hard. Train smart. Train forever.
Show up. Tap. Lift.
Hangboard edges and V-scale grades, first-class.
Sinclair, not Wilks — a separate scoring discipline.
Yokes, sleds, carries, atlas stones — modeled.
Joint angles, per-set grips, fine forearm radar.
Strength + conditioning, one logger, honest math.
All of this, on your device. In your data. No account required to start.