Case studies

Three crashes. Same signal. Three different causes.

HRV detects the stress. Annotations explain it. The difference is in what you do next.

Case Study 01Reading time ~6 minutes
concern zone <30msbaseline 38ms203854sleep23ms24ms30ms2715913172021252728Crash 01 · trainingdepleted, no symptomsCrash 02 · illnesssoft signs overriddenCrash 03 · illnesspre-empted at onset
HRV across the full case window (27 April to 28 May). Three crashes of similar depth, three different causes. Amber marks training stress; red marks illness; cyan is the body’s baseline.
The thesis

One signal, three stories.

HRV is a parasympathetic stress detector. It crashes when the body is under load, but it does not differentiate between kinds of load. Training fatigue, broken sleep, viral infection, dehydration, emotional stress, they all look the same on the HRV chart. A 35 to 40% drop reads as "system under stress" regardless of cause.

The cause matters. Training stress wants light recovery and the next workout adjusted. Illness wants rest, sleep, and load drops until the body clears it. Reading the wrong cause means doing the wrong thing. This case study shows three HRV crashes inside one user's data over five weeks, same biomarker signature, three different causes, three different responses. The differentiation lives in the surrounding data.

The cause is what determines the management.
Orientation

How to read this case.

Throughout this case, three colour codes do the work of differentiation. Amber marks crashes caused by training stress and disrupted sleep. Red marks crashes caused by illness. Cyan is the body's baseline state, recovery and signal.

Each crash is read in two layers. The first is the biomarker itself: HRV, RHR, sleep duration. The second is the context: what the user was doing, what they noted, what their sleep architecture looked like the night before. The biomarker says something is wrong. The context says what kind of wrong, and what to do about it.

Amber · Training + sleep stress
System cooked from accumulated load.
Red · Illness
Immune response active.
Cyan · Baseline / recovery
System within the user's normal range.
Crash 01 · 1 May

Training + sleep stress.

"recovery wasn't fantastic"

On 27 April, the user's HRV peaked at 54ms, the highest reading in the entire case window. The annotation that day described the workout as the best post-Hyrox training session he'd had: 3x10min intervals at sub-4-minute kilometre pace. Body was firing.

Four days later, HRV had crashed to 23ms. No symptoms. No illness annotation. Just a note: "recovery wasn't fantastic." The user swapped his planned strides session for a Z1 cycling recovery ride.

Between the peak and the crash, the data shows four consecutive load days, one early-morning wake with a young child in the household, two short sleeps, and a sustained heart-rate session that pushed HR into LT2 territory. The body wasn't fighting anything. It was depleted.

concern zone <30msbaseline 38ms203854sleep23ms"best session since Hyrox"4am wake (sick child in household)HM pace · HR 173/1742728293012345
The buildup to Crash 01. HRV falls steadily from a 54ms peak to 23ms over four days while sleep stays short. No illness annotation, no symptoms.
23ms
HRV at crash, −40% from baseline
54ms
Pre-crash peak on 27 April
1day
Bounce-back to 40ms
The shape of the decline

Steady monotonic fall over four days. 54 → 45 → 43 → 37 → 23 No partial recoveries. No bounce-backs. The body trending one direction, depletion accumulating.

REM the night before

1h 20m (19.6% of total sleep). Within normal range. The body wasn't preparing for an immune fight. It was just under-rested.

The differentiation lives in what's absent. No sleep extension on the crash night (7h 04m, below the user's 7h 24m average). RHR climbed across the week, peaking at 55bpm on the crash day. No symptoms. No annotation suggesting illness.

The cumulative training load, three sessions in three days plus broken sleep from a household wake, explained the crash without invoking infection. Recovery took one day because the body wasn't fighting anything except its own fatigue.

Read by
Workout context + sleep duration + steady HRV decline + RHR direction.
Cause
Training accumulation + sleep deprivation.
Management
Light Z1 cardio for 24h, then back to plan.
Crash 02 · 20 May

Illness, overridden.

"may have caught something"

The 20 May crash is the longest-running of the three. Looking back from the crash day, the data shows roughly six days of soft signs before HRV finally fell off, none of which the user acted on at the time.

Sleep architecture broke down on 14 May (1 hour of awake time during the night, anomalously high). Mood and energy hit their lowest scores of the case window on 15 May (6/10 across the board). On 16 May, the first verbal acknowledgment appeared in the annotations, a household member was sick. By 18 May, the user noted feeling "a tad flatter." Energy and mood stayed depressed on 19 May.

HRV had been drifting downward across all of these days. On 20 May, it crashed to 24ms. The annotation: "may have caught something." Rest day declared.

concern zone <30msbaseline 38ms203848sleep24mssleep disrupted · 1h awakecheck-in floor 6/6/6household illness exposure"felt a tad flatter"energy/mood at 514151617181920212223
The buildup to Crash 02. A wobbly six-day decline as soft signs accumulate across sleep, check-ins and notes. Sleep extends to 8h 26m on the crash day, the body forcing recovery.
24ms
HRV at crash, −37% from baseline
6days
Of soft signs before the crash
3days
Bounce-back to baseline
The shape of the decline

Wobbly. 41 → 45 → 39 → 37 → 35 → 38 → 24 The body fought, partially recovered, then crashed. This is what HRV looks like when the immune system is engaged but the user keeps adding training load on top.

REM the night before

1h 05m (15.3% of total sleep), the lowest single-night REM percentage across the entire case window. Reduced REM is associated with compromised immune function. The night before the crash showed it.

The differentiation appears in two places the training-stress crash didn't show. First, sleep extended dramatically on the crash day (8h 26m versus a 7h 24m baseline, over an hour above average). The body forced itself into recovery sleep. Second, the warning period stretched back nearly a week with multiple signal channels lighting up: sleep, check-ins, household exposure, subjective feeling.

RHR stayed flat across the lead-up (52-54bpm), the heart wasn't being pushed by training; the body was just slowly losing the fight. Where Crash 01 showed RHR climbing, Crash 02 showed RHR holding while the immune system worked.

Recovery cost three days. This is the cost of overriding signals.

Read by
Soft signs across multiple channels + sleep extension on the crash day + wobbly HRV decline + reduced REM the night before.
Cause
Viral illness, picked up from household exposure.
Management
In hindsight: drop intensity from 16 May onward, prioritise sleep, avoid the threshold session on 19 May.
Crash 03 · 27 May

Illness, pre-empted.

"sore throat... early night"

Five days after returning to baseline from Crash 02, HRV peaked at 46ms on 25 May. The next day, it dropped to 38ms, an 8ms decline back to baseline with no clear cause. The user noted no symptoms. The training plan called for a hard run that day.

The user dropped the run. Replaced it with a mixed cardio session of significantly lower intensity. Reason recorded in the annotation: "to reduce load." No other explanation. Just the dip.

Twenty-four hours later, HRV crashed to 30ms. The annotation that morning: "sore throat... early night." The user took a quiet evening. Slept 8h 40m with 2h 26m of REM, the highest REM duration in the entire case window. By the next morning, HRV was back to 43ms. Recovery: one day.

concern zone <30msbaseline 38ms283846sleep30msload drop (pre-empt)"sore throat... early night""feeling good vs yesterday"2425262728
Crash 03, pre-empted. A sharp single-day drop from a 46ms peak. The user dropped load on 26 May before symptoms appeared 24 hours later. Recovery took one day, not three.
30ms
HRV at crash, −35% from baseline
24h
Pre-empt window before symptoms
1day
Bounce-back to 43ms
The shape of the decline

Sharp single-day drop. 46 → 38 → 30 No multi-day build-up. The body went from peak to crash in 48 hours. This shape, combined with the timing, suggested acute onset rather than accumulating fatigue.

REM the night before

1h 13m (16.5% of total sleep), second-lowest REM percentage in the entire case window. The same signal that preceded Crash 02 also preceded Crash 03, low REM as a quiet pre-symptom indicator.

The user's instinct on 26 May was correct. The 8ms HRV drop without a clear training explanation was the signal. The decision to drop load that day reduced the impact when symptoms arrived 24 hours later.

The crash itself looked structurally similar to Crash 02, sleep extended past 8h, RHR stayed flat, immune-driven physiology. But the recovery curve compressed from three days to one. Same illness fingerprint, acted on five days earlier in its cycle.

Notably, the night before the crash showed a REM percentage almost identical to the night before Crash 02 (16.5% vs. 15.3%). This is now the second time in this case window that a low REM night preceded an illness-driven HRV crash by 24 hours.

Read by
Sharp single-day HRV drop + reduced REM the night before + instinct to drop load + symptom confirmation 24h later + sleep extension on crash day.
Cause
Viral illness, caught at onset.
Management
What actually happened: load drop on 26 May, early night and extended sleep on 27 May. Back to plan on 28 May.
Synthesis

What the data shows across all three.

Three crashes. Same HRV signature each time, a drop of 35 to 40% from the user's baseline. Looked at in isolation, no biomarker tells you which kind of stress drove which crash. Looked at together with the surrounding data, three different stories appear. The table below summarises the differentiation. The colour-coding makes the categorical difference visible.

Crash 01Crash 02Crash 03
Date1 May20 May27 May
CategoryTraining + sleepIllness, overriddenIllness, pre-empted
HRV at crash23ms24ms30ms
% below baseline−40%−37%−35%
HRV trajectorysteady declinewobbly declinesharp drop
Pre-crash period4 days6 days of soft signs24 hours
REM night before19.6% (normal)15.3% (lowest)16.5% (low)
Sleep on crash day7h 04m (short)8h 26m (extended)8h 40m (extended)
RHR directionclimbing (55)flat (54)flat (53)
Symptom notenone"may have caught something""sore throat"
Bounce-back1 day3 days1 day
DifferentiatorRHR up + no sleep extensionsleep extension + soft signssingle signal + acted early
HRV alone is one data point. Compiled with sleep, RHR, workout context, and the user's own annotations, it becomes a diagnostic.

Three patterns emerge from the comparison.

First, sleep response is the most reliable single differentiator. Training stress crashes show no sleep extension, the body is depleted but isn't fighting anything that requires extra rest. Illness crashes show clear sleep extension as the immune system takes the resources it needs.

Second, the shape of the HRV decline carries diagnostic information. Steady declines suggest accumulating load. Wobbly declines suggest the body fighting something while still being pushed. Sharp drops suggest acute onset. Reading the curve before the crash, not just the crash itself, narrows the cause.

Third, REM sleep the night before may function as a pre-symptom indicator for illness. Both illness crashes in this case window were preceded by nights with REM percentages at the bottom of the user's range (15.3% and 16.5% versus a typical 22 to 28%). The training-stress crash was not. This is one user, one window, not a conclusion. But it's a signal worth watching across more cases.

Takeaway

How to read this in your own data.

No HRV reading is self-explanatory. A 35% drop tells you something is happening; it doesn't tell you what. The reading lives in the context, and the context only becomes legible when biomarkers and annotations are compiled together.

Three questions to ask when HRV crashes:

1 · The curve
What did the curve look like before the crash? A steady multi-day decline points to accumulated load. A wobbly decline with partial recoveries points to the body fighting something while being pushed. A sharp single-day drop points to acute onset.
2 · The sleep
What happened to sleep on the crash day, and the night before? Significant extension past baseline suggests immune recovery work. Sleep that stayed short or shortened further points to depletion. Low REM the night before may be an additional pre-symptom signal.
3 · The note
What did the user note? A symptom annotation, a household exposure, a tough workout, a poor night, these resolve the biomarker reading. Without them, the data is incomplete.

These are the questions Me. is built to surface.

Methodology

Methodology.

Data sources. All biometric data in this case study was collected via Apple Health on the user's iPhone and Apple Watch. Sleep staging, HRV, and RHR are derived from Apple's algorithms. Workout data was recorded by the same device. Annotations and daily check-ins were entered manually by the user via the Me. app. All data is stored on-device.

Baseline calculations. The user's HRV baseline (38ms) is the average HRV value across the case window. RHR baseline (52bpm) and sleep baseline (7h 24m) are calculated the same way. These are personal baselines, not population norms. HRV in particular varies dramatically between individuals, a 23ms reading is meaningful for this user against their 38ms baseline; it would not be diagnostic on its own without that context.

HRV measurement. The HRV values shown are daily averages reported by Apple Health, typically measured during sleep or rest. Single-point HRV readings are noisy; the daily averages used here are more stable but still subject to measurement error.

The concern zone. The shaded area below 30ms in the charts represents 21% below the user's baseline. It is not a universal threshold. It is a visual cue for this user's meaningful deviation.

What this case study is not. It is not a medical assessment. None of the crashes were diagnosed by a clinician. The illness identifications are based on the user's symptom notes and the biomarker patterns. The case study demonstrates a reading framework, not a diagnostic tool.

About this case study series

Case Study 01 is the first in a recurring series from Me. Each case study uses a single user's compiled data to demonstrate one specific reading of the human body, the kind of pattern that becomes visible when biomarkers, annotations, and context live in the same compile.

Upcoming case studies will cover sleep architecture across a training block, the relationship between training load and resting heart rate, and how subjective check-ins predict objective biomarkers.

Me. is a personal health data app that compiles Apple Health data and user-added context into structured reports designed for analysis. It does not interpret, score, or advise. To understand what any reading means for you, take it to your GP or compile it for analysis. Not medical advice.