UX research · health intelligence · 2022–2026

What the
watch knew.

Four years of Apple Watch data, two blood panels, and a personal annotation layer — connected into something no existing health app could tell me.

624K
heart rate readings
8,300+
miles logged
101
biomarkers tracked
13 days
of warning before a fever
Case study · February 2026
Your watch knew.
You didn't.
Four independent sensors detected warning signs 13 days before the fever peaked. No alert was ever sent.
38.2°
fever peak · Feb 24
Resting HR deviation from personal baseline · Feb 11 → Mar 2
Feb 11 ↑ Feb 24 — fever peak Mar 2
93
Resting HR peak
+33 above baseline
13
HRV floor (ms)
−29 below baseline
22.1
Resp rate peak
+5.2 above baseline
5.3h
Sleep · fever night
−1.7h below average
What happened
Feb 11
9-mile run — felt rough
HRV −10ms. First signal.
Feb 14
Flight to Taiwan
Circadian disruption.
Feb 20
Chaotic night out
Immune suppression. 2hrs sleep.
Feb 21
4mi run · heat · sleep deprived
Four simultaneous stressors.
Feb 23
Flight to Japan
RHR 93 bpm on the plane.
Feb 24
Fever — skied on DayQuil
38.2°C. Every signal at worst simultaneously.
Feb 25
Onsen recovery — twice daily
HRV back to baseline by Feb 26.
01 · The problem

Data without context
is just noise.

I've worn an Apple Watch for four years. I knew my HRV was 38ms. I had no idea what that meant for my life — until I built something that showed it alongside everything else that was happening.

The data to predict your next illness, explain your worst month, and find your most effective recovery activity already exists in your pocket. The missing piece isn't the data. It's the interpretive layer that speaks human.

Apple Health gives you measurements. It has never given you self-knowledge. There's a meaningful gap between "your resting heart rate was 62 bpm" and "you were chronically under-recovered for three weeks before you got sick."

The first is a measurement. The second is a story about your body that you could actually act on.

The three-layer framework
Passive sensing
Continuous · objective · contextless
Knows: HRV, HR, sleep, temp, steps — every second
Cannot know: why the signal changed
Periodic clinical
Precise · validated · temporally sparse
Knows: LDL, cortisol, ApoB — precisely
Cannot know: the days around the draw
Lived context
Irreplaceable · narrative · bias-prone
Knows: the run, the flight, the blackout
Cannot know: what the sensors saw
Interpretive layer
What none can say alone
02 · Findings

Three stories
the data told.

Finding A

The fever arc

Passive wearable data contained a 13-day warning before a fever peaked at 38.2°C. Four signals — resting HR, HRV, respiratory rate, and wrist temperature — converged simultaneously on February 24. The watch knew on February 11. I felt fine.

A second illness event in March 2025 produced a completely different signature — sudden onset within 24 hours of exposure to a sick travel companion. Two illness events, two distinguishable causal signatures, both readable from wrist sensors alone.

Finding B

The tennis discovery

Across 1,621 logged workouts spanning 9 sport types, tennis produced the strongest positive HRV signal of any activity — +4.8ms above personal baseline the day after, sustained for three days. This is stronger than cycling, running, HIIT, or strength training.

I had 12 tennis sessions in the dataset. I had no idea. No existing health app would have surfaced this finding.

SportDay ofDay +1Day +2Day +3
Tennis +2.3+4.8 +4.3+3.1
HIIT −3.8+0.6 +2.4+3.0
Cycling −1.1+0.4 +1.1+1.0
Running −0.3+0.2 +1.6+0.0
Skiing −10.4 −6.2 −3.8 −0.8
Finding C

Four years of adaptation

Resting HR dropped 4.5 bpm over four years. HRV improved 23.8%. VO2 max reached 40.2 from cross-country skiing with a dog, collapsed to 29.6 as training began, then climbed back to 38.4 through half marathon training. The body gets worse before it gets better.

03 · The experiment

Predictions made
before the results.

On May 25, 2026 — before a midyear blood draw — nine predictions were written about how six months of half marathon training would shift blood biomarkers. The predictions were based on wearable data, physiological mechanisms, and the November 2025 baseline panel.

Results pending. This section updates when they arrive.

↑ Expected to improve
LDL Particle Number
Nov baseline: 1213 H (optimal <1138)
Endurance training upregulates LDL receptor activity. Effect visible by 3–4 months.
↑ Expected to improve
LDL Small Particles
Nov baseline: 201 H (optimal <142)
Exercise shifts LDL distribution toward larger, less atherogenic particles.
↑ Expected to improve
ApoB
New marker — not in Nov panel
Tracks LDL particle count directly. Should reflect the same improvement as LDL particle number.
↓ Watch closely
MCHC + Ferritin
MCHC borderline low Nov 2025
Endurance running increases iron demand. Female athletes particularly vulnerable.
→ Expected stable
Lipoprotein(a)
New marker
~90% heritable. Not meaningfully modifiable by exercise or diet.
? Context-dependent
hs-CRP
New marker
Draw is before race day — should reflect training baseline, not acute race inflammation.
04 · The system

Design decisions
behind each component.

01

Personal baseline

Every metric is computed relative to a rolling 90-day personal norm — not population averages. A 35ms HRV means something different for you specifically than for anyone else.

02

The weekly letter

AI generates a weekly narrative in plain language — warm, curious, specific. It names ambiguity explicitly rather than picking the most likely interpretation and stating it as fact.

03

Epistemic humility

"I can't tell from sensors alone" appears when multiple explanations are equally plausible. The system asks rather than guesses. The user is the expert on their own experience.

04

Sport-toggle explorer

Toggle any sport on or off to see how it shaped your cardiovascular metrics over time. Activity bars underneath show when each sport was active relative to the signal.

05

Blood panel integration

PDF extraction pipeline parses 100+ biomarkers from Function Health reports, tagged with cycle phase context. Cross-referenced with wearable data by date.

06

Health Wrapped

Annual year-in-review format that removes the introspection requirement entirely. The data speaks; the user recognizes their own life in it.

Built with
Pythonpandaspdfplumber StreamlitPlotlyClaude API Apple HealthKitFunction Health
05 · Reflection

What this means
for health UX.

What worked

Personal baseline computation sidesteps population-level confounders entirely. The annotation system — connecting life events to physiological signals — is what transformed data into narrative. The weekly letter format is naturally resistant to gamification.

The n=1 limitation is real but also the point. This kind of longitudinal personal health intelligence only works because it's deeply individual.

What's hard

Medications, chronic conditions, and hormonal variation create interpretation confounders the system can't see. Memory degrades — contextual recall two weeks later is less accurate than in-the-moment prompting. Motivated reasoning means people sometimes hear what they want to hear.

The design response to all three is the same: ask better questions rather than claiming certainty the system doesn't have.

The next research question
Whether the two illness signatures — contact transmission vs. accumulated immune collapse — are reliably distinguishable at scale, or whether they're a finding specific to this dataset. Two events, two distinguishable causal chains, both readable from wrist sensors alone.

The data to understand your own body already exists. The design work is building the interpretive layer that makes it legible.