The app that gets to know you — session intelligence after every pass
Something quietly happens now after you save a workout. Once the celebrations clear — the achievement toast, the rung bump, the graduation sheet — one final screen appears. A short read on what today's session actually said about you as an athlete, not just what you logged.
That's the whole feature. But it's the start of something bigger.
The shift
There's a difference between an app that remembers what you did and an app that knows how strong you are. The first one is a tracker; the second is starting to feel like a coach. ZenMotion has been closer to the first for most of its life. This release is the first step over that line.
Every session now ends with a synthesis pane — three lines that tell the story of what just happened:
- A headline framing what today's session tells us about you
- A progress note connecting the specific signal (rung bump, target hit, target missed) to the bigger picture
- A next focus — one imperative for next session
Three voices, one purpose
The pane reads differently depending on the session shape:
- Rung bumped → "Push strength moved up. Your push family bumped from rung 5 to rung 6 — that's the app noticing your body caught up to your training. Next session: same intent, let the new rung settle before pushing further."
- Solid steady session, no bump → "Steady session. Showing up is the compound. You logged 8 exercises and hit target on all of them. No rung bumped, but every session at your current rung is the reason the next one will."
- Hard session, missed some targets → "A hard session — that's data, not failure. You attempted 6 and missed on 2. A miss tells you about fatigue or program fit, not your capacity. The read is worth as much as a hit."
Never scolding. Never inventing numbers. Always specific to what you actually did.
How it works under the hood
If you're on iOS 26 with Apple Intelligence, the copy is generated on-device by Apple's Foundation Models — same infrastructure that powers Coach AI's form summaries. The pane earns a small sparkles glyph in the header when that's the case.
If your device can't run Foundation Models, or the model fails validation, you get a template fallback that reads the same context — same rung numbers, same exercise counts, same tone. Never a broken experience. The template was written deliberately to feel like copy, not like a placeholder.
All numbers referenced in the LLM output are runtime-validated against a whitelist derived from your session context. If the model invents a number, the whole generation gets thrown out and the template runs instead. Same hallucination guard that's been protecting Coach AI copy since v1.17.
Why this direction now
Firebase Analytics on the v1.16-1.17 releases showed us activation and retention aren't the same problem. The v1.17 guided first workout was aimed at activation — closing the "onboarded but never trained" gap. This release is aimed at engagement — making the app feel like it's paying attention.
We've built a lot of intelligence infrastructure over the past nine months — the rung system, adaptive periodization, athlete profile, coach form-analysis. Most of it runs silently. This is the first pass at making that intelligence visible as a story.
What comes next
v1.18 is the first shipping piece of a longer arc:
- v1.19: Plateau detection — a nudge when a specific movement has been stuck for 3+ sessions, with options to retest calibration, try an intensity technique, or reset the rung
- v1.20: HealthKit readiness — HRV + sleep from Apple Health feeding into the adaptive periodization system, so a low-recovery night auto-suggests an ease-back rather than a bump
The theme: everything you do makes the app know you better, and it shows you that in ways that don't feel like a dashboard.
Also in this release
Under-the-hood analytics events fire alongside the pane so we can measure whether the story-telling actually lands — LLM latency distribution, template fallback rate, and how many users read the pane all the way through. In 2 weeks the Firebase data will tell us whether v1.19 needs to arrive faster or later.
Bug reports and feature ideas: support@zenmotion.app.
Train well.