Honesty & the science
Every number in Sapere shows where it comes from. This page is the short version of that promise.
Not a medical device
Sapere is a training & wellness tool. It does not diagnose, treat, predict or monitor any illness or medical condition, and it does not give medical advice. If you feel unwell, talk to a clinician — not an app.
The recovery-deviation signal. When several of your recovery signals drift away from your own baseline together for two or more days, Sapere flags that something is off and suggests an easier day. It is a non-medical attention signal built from training-and-wellness data — it does not detect, diagnose or predict illness. Wrist temperature is read as a deviation from your baseline; breathing rate the same. No labels about fever, infection or disease — only "this is off your normal".
Sapere is not a medical device and does not provide medical advice.
How the numbers explain themselves
Above the tiles, Sapere writes what a ride or a week meant in plain language. Tap through and the same finding appears again, “for the coach” — the rule of thumb next to the fact, and the exact window or source it was measured on. Both registers come from the same list of facts; nothing shown to a coach was hidden from the plain-language line, and nothing in plain language invents a threshold the coach view doesn’t show.
One rule-based engine writes both today — no AI in the loop. Every threshold it uses (a decoupling under 5% counts as well-coupled, a variability index under 1.05 counts as flat, an aerobic-base trend needs at least six comparable rides) sits in code next to a test that pins it, so a wording change can never quietly move where the line is drawn. A more conversational, paid voice is designed to sit alongside this engine later — but it is only allowed to rephrase the same facts and thresholds, never to draw its own conclusion. A paying reader gets nicer language, not a different truth. Readiness and HRV findings never carry a rule of thumb at all — they describe, they don’t advise.
Why an estimate never poses as a measurement
Most apps hand you a single score and ask you to trust it. Sapere does the opposite. Where a number is modelled rather than measured — your W′ balance, your draft power, your power-duration percentile — it is marked ≈, and the model and source are one tap away. On a fresh account Sapere tells you it is still building your baseline instead of faking precision. That is the whole promise: an estimate never poses as a measurement.
Estimates are labelled
Where a number is modelled rather than measured, Sapere marks it “≈”. On a fresh account it tells you it is still building your baseline instead of faking precision. Some metrics need a power meter — Sapere says so and shows the honest fallback when one isn’t present.
Honest degrading, not a frozen guess
When a source is missing, Sapere removes the element — it never shows a frozen or invented value in its place. The same discipline applies one level down, to values that arrive but can’t be real: a resting heart rate has to fall between 30 and 100 bpm, HRV between 5 and 250 ms, sleep can’t exceed 12 hours in one night, weight has to sit between 25 and 250 kg, wrist temperature between 25°C and 42°C, breathing rate between 4 and 40 per minute. Outside those bounds, the reading is treated as an artefact and dropped before it can reach a baseline or a readiness score — a guard-rail against nonsense, not a judgment about health. On 29 July an external source wrote a resting heart rate of 108 into intervals.icu, after Sapere’s own sync had already run that morning — physiologically not a resting reading at all. That’s the kind of value this gate exists to catch.
Sapere’s number sits next to intervals.icu’s — never instead of it
Sapere doesn’t clone intervals.icu’s algorithms — most are closed source, and matching them bit-for-bit would be an illusion of agreement, not the real thing. Where Sapere computes its own version of something intervals.icu also reports — aerobic decoupling, for instance — it names the exact cut of the ride it used (for example, “minute 20–55, warm-up and cool-down trimmed”), and when the two numbers disagree, both are shown. Sapere’s own number never quietly replaces intervals.icu’s.
Decoupling is a good example of why that matters: it’s a convention, not a single measurement. On one 60-minute test ride, six different reasonable ways of splitting the same data produced decoupling readings between 1.0% and 5.6% — the same ride, six numbers. Sapere’s job is to say plainly which convention it used, not to imply there’s one true answer underneath.
Amber is the only warning color on your body
Power zones use red for the hardest zone — a measured effort you chose to produce. Readiness and every other physiological reading never do: they cap at amber, the one warning color, and stop there. Readiness itself has a hard ceiling, not just a color limit — it clamps down when resting heart rate, breathing rate, or wrist temperature drifts more than two standard deviations from your own baseline. That ceiling is a fixed floor (today, 40 out of 100), not a freshly computed low score, and it only ever pulls the number down, never up. When it triggers, Sapere shows the uncapped score and names which signal caused the clamp — so a capped number reads as “here’s why”, not as a bare, unexplained low.
The models behind the numbers
- Load & form (CTL · ATL · TSB) — impulse-response training model: Banister (1991); CTL/ATL/TSB as popularised by Coggan / TrainingPeaks.
- Build-up — we lead with ramp rate and TSB. The acute:chronic ratio (ACWR) is shown only as dimmed context and labelled disputed — it is not an injury-risk score (Impellizzeri et al., 2020).
- Readiness — HRV, resting heart rate and sleep scored against your personal baseline with robust z-scores. HRV is read as a 60-day baseline, smoothed against a 7-day rolling average; we use SDNN (what Apple provides natively) and don’t claim the separate rMSSD evidence base.
- Power-duration profile — the rider-type radar follows the Allen & Coggan power profile, normalised per axis to a percentile band (never raw W/kg).
- W′-balance — a model, not a measurement: Skiba et al. (2012); Clarke & Skiba (2013). Race-conservative by design.
- Efficiency & decoupling — efficiency factor is a personal trend, not a benchmark; decoupling is only meaningful on steady rides (Friel).
- Draft estimate — a model of solo vs in-the-wheel power (Martin et al., 1998): an estimate, not a measurement, and it needs a power meter.
- Durability — fatigue resistance is emerging science with no consensus thresholds (Maunder et al., 2021). We present our reading, not "the standard".
Where this stops
Sapere depends entirely on intervals.icu as its source of truth. If intervals.icu is wrong, slow, or unreachable, Sapere is too. The one place Sapere computes its own number instead of just reading one — decoupling — it always shows next to intervals.icu’s, never in place of it, exactly as described above.
Readiness is an observational, non-medical attention signal — not a diagnosis, not a prediction, and not a measure of mood or mental health. It only ever compares you to your own baseline.
Much of what Sapere says is a model, not a measurement. Decoupling depends on which window of the ride is used. W′-balance is deliberately race-conservative rather than lab-accurate. An aerobic-base verdict needs at least six comparable rides before Sapere will describe a trend at all — below that, it says so plainly (“not enough comparable rides for a trend yet”) instead of guessing.
And the explanation itself has a limit worth naming: today it is written by rules against fixed thresholds, not by judgment. It can tell you what the numbers say against a line drawn in advance; it can’t yet read nuance the way a human coach would. That’s the real reason any future, more fluent voice is restricted to rephrasing what the rules already found, rather than reinterpreting it.
Your data, your control
Your sign-in token stays on your device; we keep no database of your training data. Read-only except for the workouts you create. See the privacy policy for the full detail.
Sapere.