Skip to content
Weekly insights

Insights, weekly.
Generated on your device.

Once a week, flexRep reads your training data and produces a short summary of what it sees. The model runs locally — Foundation Models on supported devices, a rule-based engine elsewhere. Nothing about your training leaves your phone. Ever.

The voice is calm coach. The posture is observation, never prescription. The privacy is architectural.

SUNDAY · 06:47 · GENERATED ON-DEVICE WEEK 19 · 11 SETS · 3 SESSIONS

Bench held at RPE 8 for three working sessions. Top weight is up five pounds from the block average. Push volume sits eighteen percent above the four-week mean — pull may want a top-up.

— from your phone, to your phone
FOUNDATION MODELS · ON-DEVICE 0 BYTES SENT VALIDATOR · 3 / 3 NUMBERS VERIFIED
What they sound like

Four real-shape examples.

Four shapes the engine ships in. No 'great job!' No hype. No exclamation marks anywhere on the page below — we checked. The numbers are the work.

Week of May 11 OBSERVATION

Bench velocity holding.

Top-set RPE on bench held at 8 across three working sessions this week, with the working weight up 5 lb from the previous block average. Pattern looks like clean progression, not grinding.

Week of May 4 PATTERN

Push volume +18% over the four-week average.

Three push days this week vs. two in previous weeks. Pull volume held flat; horizontal pull may want a top-up if push intensity continues at this level.

Week of Apr 27 FLAG

Squat e1RM unchanged for three weeks.

Working RPE has held stable at 7.5–8. This is a flag, not a verdict. Common causes: a recent deload-adjacent rest week, or accumulated fatigue that hasn’t been formally addressed.

Week of Apr 20 PATTERN

Hotel-gym sessions are running 6% lighter on squat.

Two travel sessions this month at "Hotel — March trip" hit 6% lower working weights with the same RPE. Could be the bar weight, the rack height, or both. Worth noting if you travel again.

On-device pipeline

Four stages. Nothing leaves your phone.

Most “AI insight” features ship a prompt to a server with your training data attached. flexRep doesn’t. The pipeline runs on-device — rule-based diagnostics first, citation validation second, Foundation Models third. The model never sees a stat that didn’t trace to your data.

  1. 01

    Diagnostics run

    Stall slope, RPE drift, volume delta, frequency drop, deload gap. Computed locally from your data. No prompt yet.

    bench.e1RM.slope = -0.4%/wk
    volume.wk.delta  = +18%
    RPE.drift.@80%   = +0.7
  2. 02

    Citations validated

    Every number flagged for the model carries a back-reference. The validator confirms each value exists in the source set before any text is generated.

    • volume.delta · 4-wk window · source set
    • RPE.drift · ±2.5% modal weight · n=12
    • stall.weeks · regression CI · n=8
  3. 03

    Foundation Models paraphrases

    Apple\'s on-device intelligence reads the validated diagnostics and produces three sentences in the calm-coach voice. Any number it tries to invent gets caught when the validator runs again.

    FOUNDATION MODELS · LOCAL never uploaded
  4. 04

    Card on screen

    Three sentences. One verdict label. Every cited number tappable for its source. No “great workout!” No advice.

    “Bench e1RM has trended down 0.4% per week for three weeks. Weekly volume is 18% above your prior four-week average. RPE at 80% load has drifted +0.7.”
The four shapes

Observation. Pattern. Flag. Identity.

Every weekly insight falls into one of four shapes. Each one has a different threshold for shipping — and each one carries its label on the card so you know which kind of statement you're reading.

Observation

A noting of what your data shows. No verdict.

Pattern

A trend across multiple sessions or muscle groups.

Flag

Something worth your attention — a stall, a volume jump, a context shift.

Identity

A characterization of your training shape — what your glyph and waveform are doing.

The engine

Four layers, all on your device.

Your data never crosses an internet connection to make this work. The model reads, infers, writes — all on your phone. The prose is occasionally a little stiffer than a cloud model's. We took the trade.

01

Local data only.

The insight engine reads only the data on your device. No upload. No syncing your training to a remote model. No server-side analysis. Nothing leaves your phone.

02

Foundation Models, on device.

When your device supports it, Apple’s Foundation Models framework runs locally to generate the prose. The model sees your data; the network does not.

03

Rule-based fallback.

On devices without Foundation Models support, a curated rule-based engine produces the same shape of insight. The voice is consistent. The privacy posture is identical.

04

Observation, not prescription.

Insights describe what your data shows. They do not tell you what to do about it. "Bench e1RM unchanged for three weeks" is a sentence we ship. "You should deload" is not.

What you'd see elsewhere

Most 'AI insights' are cloud-based. Ours aren't.

The contrast isn't a marketing line — it's an architectural choice with consequences for what can leak, what can be sold, and what can be subpoenaed.

Surface
Typical “AI insights”
flexRep weekly insights
Your training history uploaded to a third-party LLM provider for analysis.
Inference runs locally. Your data never leaves the device.
Insight text generated by a remote model, logged to the provider, possibly used for training.
Generated locally by Foundation Models or a rule-based engine. No logging. No model training.
Cached insights stored in a vendor’s cloud, vulnerable to breach.
Cached on-device. Synced only via your private iCloud zone. End-to-end encrypted.
The 'won't' list

Six things the insight engine refuses to do.

Each of these ships in some fitness app right now. None of them ship in flexRep. Disagree if you want — every refusal has its reason on the card. We've heard the counter-argument. We decided anyway.

Tell you to deload

It will flag a stall. The deload call is yours.

Generate your program

It observes. It does not prescribe blocks.

Predict your one-rep max

We have e1RM for that. The model doesn't guess.

Suggest you tag a friend

No social hooks. The insights are for you.

Use motivational phrasing

No "you're crushing it." No exclamation marks.

Generate insights from one workout

A sample-size floor before any pattern claim.

In the export

Insights ship with the rest of your data.

Every generated insight goes into the JSON export alongside its underlying signal data. You can audit the engine — feed the same data into your own LLM and see if it draws the same conclusions. You can also just delete the insights you don’t agree with. They’re yours either way.

AI without the hype. Locally.

One observation a week. Calm. Sourced from your own data. Generated on your own device.