Skip to content
Charts

Charts that reveal
what numbers hide.

A spreadsheet of your sets is just a long list. A chart is a sentence. flexRep’s analytics layer is built on Swift Charts — Apple’s native framework, used the way it was designed to be used — and every chart in the app exists to turn raw data into a pattern your eyes can read.

Eight headliners below, the full catalog of forty-plus beneath them, a decision layer that draws its own conclusions, and one discipline that runs through all of them.

FEATURED · STRENGTH × TIME

e1RM trend, sixteen weeks.

CATMULL-ROM
300 280 260 240 PR · 275 PR · 295 Wk 1 Wk 4 Wk 8 Wk 12 Wk 16
START 240 lb
CURRENT 295 lb
DELTA +55 lb
PRS 2

A clean line, drawn from left to right, with PRs marked where they actually landed. The y-axis crops to your range; the curve smooths just enough to read the trend; the PR dots are the only thing in gold.

The gallery

Eight headliners. Eight stories.

Each visualization is purpose-built. They share a design language; they don't share a job.

Newly shipped

Three of the newest, worth a closer look.

The catalog grew. These three arrived recently and earn their own frame — load management, a forecast honest about its uncertainty, and a full-body heat map.

The full catalog

Every chart in the app. All 43 of them.

The eight above are the headliners. Here is the whole library, grouped by the surface it lives on — each one with a methodology card, a verdict line, and a spoken descriptor. The ones marked New arrived as the app grew.

Strength & progression

6
  • Strength Trend
    Blended e1RM with a ±1σ confidence ribbon.
  • Estimated 1RM Trend
    Per-exercise e1RM over time.
  • e1RM Forecast New
    Projected trajectory with an uncertainty cone.
  • Weight × Reps Scatter
    Every set on a weight–reps plane with Epley iso-lines.
  • RPE Drift
    Effort creep at the same working weight.
  • RPE Drift by Zone New
    Drift bucketed by %1RM intensity zone.

Volume & intensity

8
  • Weekly Volume
    Tonnage per week, deload-aware.
  • Sets per Week
    Hard-set count over time.
  • Session Volume
    Per-exercise volume, session by session.
  • Muscle Group Volume
    Weekly volume broken out by muscle.
  • Intensity Distribution
    Working sets bucketed by %1RM zone.
  • Intensity × Volume Map New
    Where heavy meets hard, per block.
  • Volume Tolerance
    Your volume against MEV / MAV / MRV bands.
  • Volume Oscillation New
    Week-over-week swing, at a glance.

Muscle & balance

7
  • Muscle Stimulus
    Body-silhouette heatmap, fractional sets.
  • Muscle Atlas New
    Full-body map of where the work landed.
  • Muscle Balance
    Sorted bars against volume landmarks.
  • Effective Reps per Muscle
    Reps near failure, attributed per muscle.
  • Effective Reps Trend
    Stimulating-rep trend for one lift.
  • Antagonist Balance
    Push:Pull, Quad:Hinge and more — with verdicts.
  • Movement Patterns
    Stacked area of your training’s shape.

Rep ranges & adherence

3
  • Rep Ranges
    Where your sets actually live.
  • Rep-Range Drift
    Still training the way you think you are?
  • Routine Adherence
    Prescribed versus actual, per session.

Recovery, load & fatigue

6
  • Load Management · ACWR
    Acute : chronic workload, with caution bands.
  • Recovery-Adjusted Volume New
    Volume weighted by readiness signals.
  • Fatigue Watch New
    An accumulating-strain early warning.
  • RPE Drift Watch
    The three lifts cooking fastest.
  • Set Quality Score New
    A per-session quality read.
  • Pain Trend New
    Logged NRS severity over time.

Body & function

4
  • Body Weight
    Daily noise under a louder trend.
  • Body Fat
    Skinfold or scale — your method.
  • Circumference Trend
    Tape measurements, charted.
  • ROM Trend New
    Range-of-motion recovery for rehab.

Time & consistency

4
  • Training Frequency
    A calendar heatmap of showing up.
  • Filtered Heatmap New
    The heatmap, sliced by any filter.
  • Training Time
    When in the day you actually train.
  • Set Types
    Warmup, working, top, drop — the mix.

Relationships & glanceable

5
  • Exercise Correlation New
    Which lifts move together.
  • Exercise Relationships New
    A constellation of related movements.
  • Verdict Gauge New
    The one-glance read on a metric.
  • Trend Sparkline
    Inline micro-trends, in context.
  • Pulse Trace New
    An EKG-style effort and volume pulse.

And the signals underneath them.

Charts are only as honest as what they’re built from. Every one of these is a first-class, exportable field — not a derived guess.

  • Per-set RPE & RIR
  • Pain · NRS 0–10 + location + onset
  • Range of motion (ROM)
  • Pump & mind-muscle · opt-in
  • Readiness · sleep, soreness, mood
  • Tempo & intra-set rest
  • Set types · warmup, top, drop, cluster, myo-rep, posing, isometric
  • Body · weight, fat, tape, photos
  • Bodyweight / added-load / assist-load
  • Per-gym context & plate inventory
Stories the data hides

Four patterns invisible in a spreadsheet.

Numbers in rows don't say much. The same numbers in a chart say a lot. Here are four real shapes flexRep regularly surfaces — each one would take a coach to see in raw data, and a chart to see at all.

STORY 01

Recomp invisible to the scale.

“My weight hasn’t moved in eight weeks.” Often, that’s the lifter who is recomping — losing fat while gaining muscle. The scale lies; the measurements don’t. The chart shows both at once.

WEIGHT ARM/WAIST weight arm waist wk 1 wk 8

What the chart says: weight is flat, arm up 0.4 cm, waist down 1.1 cm. That’s recomp. Without the chart, that’s “no progress.”

STORY 02

A stall hiding inside a “PR.”

You hit 230 last week, 233 this week, 235 next week. Looks like progress. But you also went from 5 reps to 3 to 2 — the e1RM is actually flat. The numbers in isolation lie. The trend line catches it.

NAIVE WEIGHT 230×5 233×3 235×2 e1RM — FLAT 268 268 269

What the chart says: three “PRs” in a row, all hitting the same e1RM. That’s not progression — it’s grinding the same effective load for diminishing reps.

STORY 03

The hotel gym is quietly lighter.

Your squat numbers drop 6% when you travel. You blame jet lag. The data says it’s the bar — many hotel barbells weigh less than the spec. flexRep tags every set with its gym, so the gap becomes obvious.

HOME — IRON & OAK HOTEL — MARCH TRIP 295 lb avg 277 lb avg · -6%

What the chart says: a consistent ~6% gap across eight comparable sessions. Same lift, same lifter, same RPE — different bar. Probably the bar.

STORY 04

The neglected hamstring.

You squat hard. You deadlift sometimes. The fractional-sets radar shows quads humming along and glutes keeping pace — but the hamstring axis pulls inward, week after week. The pattern only exists in chart form.

hams quads chest glutes

What the chart says: the polygon’s center-of-mass is east of center, and the hamstring axis is the shortest spoke. Three weeks of RDLs would close the gap. The radar made the gap visible.

Beyond the chart

The analytics that don't just plot. They conclude.

A line chart answers “what happened.” These answer “what should I look at first, and why.” Every one is deterministic, cites its source on tap, and refuses to print a confident-but-wrong number.

A verdict on every chart

Below each title sits a one-sentence, rule-based read: “Volume up 18% vs. prior 4 weeks.” “Stalled 4 weeks on Bench — likely RPE drift.” Deterministic, sourced from the same data the chart shows, never hallucinated. Eight seconds gets you the conclusion.

Blended e1RM, no silent switches

Analytics use a blended estimate — Brzycki at low reps, Epley in the middle, capped at 10 — the credible compromise the literature backs. Per-set display still honors the formula you chose; no chart quietly swaps math under your feet.

Stall detection with a cause

When weekly best e1RM stops rising, a slope-test against a confidence interval classifies the state — progressing, maintaining, regressing, deloading, hypertrophy phase. Stalled four weeks? It ranks up to three likely causes: high volume, RPE drift, frequency drop, missed deload, bodyweight drop, or pain.

Volume bands: MEV / MAV / MRV

Per-muscle weekly volume plots against the published consensus landmarks — minimum effective, maximum adaptive, maximum recoverable. Your chest week lands in a green, yellow, or red zone at a glance. The methodology card cites the source.

RPE drift watch

Same lift, same working weight, effort creeping up over 90 days — the cleanest “you’re cooking” signal in your data. The card surfaces the three exercises with the steepest positive RPE slope, bucketed by %1RM zone when a training max is set.

Effective reps per muscle

Reps within ~5 of failure, attributed per muscle via the fractional-set model — closer to the hypertrophy literature than raw volume. Surfaced once your RPE coverage is high enough to make it credible; otherwise an honest empty state, never a misleading zero.

Intensity distribution

Working sets bucketed by %1RM zone against your training max. A powerlifter mid-block sees instantly whether they’re living in the moderate zone when the meet wants heavy — with a “set a training max” prompt rather than a self-confirming 100% pin.

Antagonist balance ratios

Push:Pull, Quad:Hinge, Chest:Upper-Back, Biceps:Triceps over four weeks — each with a sparkline and a verdict chip. When one side has no data it says “No pull recorded,” not a misleading 2.0.

Predicted-vs-actual ribbon

Strength progression draws a 12-week trend with a ±1σ confidence ribbon. The latest point is color-coded by z-score — green inside the band, yellow at the edge, red beyond — so “is this normal?” becomes a visible decision, not a judgment call.

The discipline

Six rules behind every chart.

Each chart follows the same six rules. Together they're what makes the analytics tab feel cohesive — and what makes individual charts read at a glance.

RULE 01

Axes crop to your range.

We don’t draw zero-to-500 lb when your bench has lived between 195 and 235 for the last year. The chart shows the range the data inhabits, so small movements remain legible.

RULE 02

Interpolation chosen per series.

Always-positive data with no zero gaps (body weight, e1RM, bodyfat %) uses Catmull-Rom — smoothest aesthetic curves. Series that can hit zero between positive points (weekly volume, per-exercise sparklines) uses monotone — preserves the shape without dipping below the axis on rest weeks.

RULE 03

Color is signal, not decoration.

Iron orange for the line you came to read. Muted ink for dots, context, and grid. PRs in gold. Patterns in purple. Each color earns its place; no rainbow palettes, no gradients we couldn’t justify.

RULE 04

Motion that supports comprehension.

Each chart draws in on first view — line strokes draw from left to right, dots fade in staggered, fills wash up from the axis. The motion isn’t decoration; it shows you the shape unfolding in the order it actually happened.

RULE 05

Every chart explains itself.

Tap any chart for the methodology card: the formula, the source, how to read it, and what it doesn’t capture. The numbers are not exempt from showing their work.

RULE 06

Nothing ships that wouldn’t pass a critique.

No misleading axis scales. No truncated y-axes that exaggerate trend. No averaging that hides variance. No data-art for the App Store screenshot. If a chart could be screen-grabbed and used to mislead, it doesn’t ship.

Built with Swift Charts

Native. Hardware-accelerated. Local.

Every chart in flexRep is rendered with Apple's Swift Charts framework — used directly, not wrapped, not adapted. The decision compounds into a faster, cleaner, more privacy-aware analytics layer.

Swift Charts native

Apple’s framework, used as provided. The same engine the Stocks app uses. No JS library, no third-party shim.

Hardware-accelerated

Drawing happens on the GPU. Even multi-year charts render at 60 fps on a six-year-old iPhone.

Local computation

All aggregations run on-device. The chart you see was computed against your training history without a single network call.

Export-ready

Every chart can be shared as a PNG share-card; the underlying series export as part of the CSV/JSON bundle, so you can rebuild the chart anywhere.

Spoken, not just shown

Every chart exposes an audio-graph descriptor for VoiceOver, and the Canvas visuals expose navigable regions. A test fails the build if a new chart ships without a spoken descriptor.

EVERY CHART HAS A METHODOLOGY CARD

No black boxes behind any of this.

Each chart in this gallery has a tap-to-reveal methodology card in the app: the formula, the literature source, how to read it, and what it doesn’t capture. We don’t ship charts that we can’t defend on first principles.

See the methodology

Charts that earn their pixels.

Every line, every dot, every axis tick is there because it tells you something a row of numbers can’t.