Skip to content
Methodology

Every chart, explained.

Most lifting apps show you a number and leave you to figure out what it means. flexRep does the opposite: every visualization has a methodology card one tap away, showing the formula, the source, how to read the chart, and why it matters.

Below: the full methodology library, as it appears in the app.

Strength

Estimated 1RM and stall detection.

Estimated 1RM (e1RM) how it's calculated ↘
WHAT IT MEASURES

A back-calculated single-rep max from any working set.

FORMULA e1RM = weight × (1 + reps / 30)
HOW TO READ IT

Plotted as a line chart per exercise, weekly. Use it to compare strength across rep ranges — 225×5 and 245×3 are roughly equivalent and the e1RM tells you so.

WHY IT MATTERS

The cleanest comparable strength metric across varying rep schemes. Epley's formula has the best literature support for the 1–10 rep range that most lifters work in.

Stall detection how it's calculated ↘
WHAT IT MEASURES

A flag raised when an exercise's e1RM stops progressing for 3+ weeks despite stable or rising RPE.

FORMULA stall = (max(e1RM[-3:]) − min(e1RM[-3:])) / median(e1RM[-3:]) < 0.015
HOW TO READ IT

A pulsing orange dot on the exercise card. Tap to see the contributing weeks and the stable-RPE window.

WHY IT MATTERS

Stalls are the most under-diagnosed source of stalled programs. Most lifters notice 4–6 weeks late. flexRep flags within 3 weeks of the plateau forming.

Strength velocity how it's calculated ↘
WHAT IT MEASURES

The slope of e1RM over a rolling 8-week window, expressed as kg/week.

FORMULA velocity[t] = slope(linear-regression(e1RM[t-7..t]))
HOW TO READ IT

Positive = trending up. Negative = decay. A long negative tail with stable RPE is the deload-signal — your nervous system is asking for a week off.

WHY IT MATTERS

Acute-vs-chronic strain analogues for strength. Trending velocity gives a smoother readout than week-over-week deltas.

Volume

Fractional sets and the 11-axis radar.

Hypertrophy research (Schoenfeld 2017, 2019) is clear: secondary muscle work counts — just not at full weight.

11-AXIS MUSCLE BALANCE FRACTIONAL · 4 WK
Fractional-sets muscle volume how it's calculated ↘
WHAT IT MEASURES

A weighted sum of sets per muscle group, weighting primary movers 1.0 and secondaries 0.5.

FORMULA volume[m] = Σ (sets where m is primary × 1.0) + Σ (sets where m is secondary × 0.5)
HOW TO READ IT

11 axes on a radar chart: chest, front delt, side delt, rear delt, lats, traps, biceps, triceps, quads, hams, glutes. A balanced lifter trains across the polygon, not at three points of it.

WHY IT MATTERS

Counting a bench press as 1 chest set + 1 front delt set + 1 tricep set undersells the bench. The fractional model captures what the chest actually got.

Rep-range drift how it's calculated ↘
WHAT IT MEASURES

A stacked-area chart showing the share of weekly sets in each rep range (1–3, 4–6, 7–10, 11–15, 16+) over 16 weeks.

HOW TO READ IT

A widening light band at the top = drifting toward easier work. A growing dark band at the bottom = chasing heavier singles. Stable bands = consistent programming.

WHY IT MATTERS

Slow drift toward higher reps is a stealth source of plateaus. The chart makes it impossible to miss.

Movement pattern breakdown how it's calculated ↘
WHAT IT MEASURES

Sets per movement pattern (push, pull, squat, hinge, carry, lunge, core, rotation) shown as a stacked bar over time.

HOW TO READ IT

Compare bar heights week-over-week. A 4-week push-heavy block shows up immediately. A neglected hinge axis is similarly visible.

WHY IT MATTERS

Movement-pattern balance is the foundation of injury-resistant programming. Most lifters drift toward what they like (push, push, push) without realizing it.

Effort

RPE, RIR, and the effective-rep model.

RPE / RIR per set how it's calculated ↘
WHAT IT MEASURES

Rate of Perceived Exertion, 6.0–10.0 with half-steps. Reps in Reserve is the dual: RIR = 10 − RPE.

HOW TO READ IT

Tap a set to log RPE. The half-step scale (6.0, 6.5, 7.0, …) is granular enough to be meaningful and coarse enough to be honest.

WHY IT MATTERS

RPE-aware analytics use effort, not just iron. A 225×5 at RPE 8 is a different stimulus from 225×5 at RPE 9.5. flexRep's stall detector requires stable RPE — a stall at RPE 7 is a deload signal, not a plateau.

Effective reps how it's calculated ↘
WHAT IT MEASURES

Reps performed close to failure, where the bulk of the hypertrophy stimulus lives.

FORMULA effective_reps_per_set = max(0, reps − RIR + ε) where ε accounts for the last few sub-maximal reps still contributing
HOW TO READ IT

A weekly count of effective reps per muscle group. Compare against the 80–120/week landmarks for hypertrophy (per Helms / Israetel).

WHY IT MATTERS

Total sets is a blunt instrument — a set of 20 at RPE 6 is mostly cardio. Effective reps focus on the work that actually grows tissue.

Recovery snapshot how it's calculated ↘
WHAT IT MEASURES

A per-muscle-group readout of fatigue accumulation since the last training session.

FORMULA recovery = clamp(0, 1, days_since_last × decay − recent_volume × 0.02)
HOW TO READ IT

A horizontal bar per muscle: full bar = recovered, half = mid-recovery, low = freshly trained. Use it to pick what to train today.

WHY IT MATTERS

Most lifters intuit recovery wrong — they train the muscle that's sore, miss the one that's ready. The snapshot is calibrated, not a guess.

Identity

The strength glyph and rhythm waveform.

Two visualizations that are uniquely flexRep — generative, shareable, brand-defining.

Strength glyph how it's calculated ↘
WHAT IT MEASURES

A generative radial shape built from your movement-pattern volumes.

FORMULA r[i] = radius × (0.3 + magnitude[i] × 0.7 + jitter[i]) where jitter[i] = (1 − symmetry) × 0.3 × sin(i × 2.7)
HOW TO READ IT

Each axis is a movement pattern. The longer the spoke, the more sets in that pattern. The warmer the color, the more frequently you train. More circular = more balanced.

WHY IT MATTERS

Most lifting apps give you a number for your training. flexRep gives you a face for it. Share-card material.

Workout rhythm waveform how it's calculated ↘
WHAT IT MEASURES

A Canvas-drawn signature of one session: each set is a peak, each rest is a valley.

FORMULA peak_y[i] = (weight[i] − min(weight)) / (max(weight) − min(weight)); valley_depth[i] ∝ rest[i] / max(rest)
HOW TO READ IT

High peaks = heavy sets. Wide peaks = high-rep sets. Deep valleys = long rest. Heavy-singles day looks nothing like a pump session.

WHY IT MATTERS

Your workout has a shape, and the shape is yours. Visually unique. Meaningful. Shareable.

No black boxes.

Every formula. Every source. Every assumption — visible.