Health

All time · 16 Jun 2025 – 11 Nov 2026 · latest data 11 Nov · Garmin

Sleep, heart and training, read live from my watch. So far: 394 workouts and 4,739 km outdoors.

Biological ageas of 8 Nov
124219years, 0 daysReal age 27

−6.0 years since 17 Jun, while I aged 1.4.

Worked out from my VO₂ max: 57.0 ml/kg/min on 8 Nov, +3 since 17 Jun.

Biological age over time

Latest 19.0 y · 8 Nov

Line: 4-week average · dashed: my real age

TrainingGarmin

5h 54m a week on average

Biggest week: 20h 34m, the week of 10 Aug. Moving time, indoor sessions included. 11 workouts synced through Strava are left out, as Strava's terms ask.

Every day

Recent activities

  • YesterdayStrength training25m · 78 bpm
  • MondayIndoor cycling45m · 19.5 km · 127 bpm
  • Swimming24m · 925 m · 109 bpm
  • SundayRunning53m · 9.6 km · 145 bpm
  • SaturdayRunning24m · 4.8 km · 163 bpm
  • Cycling2h 28m · 59.7 km · 130 bpm
  • FridayStrength training20m · 97 bpm
  • Running48m · 8.2 km · 144 bpm
  • ThursdaySwimming14m · 575 m · 121 bpm
  • 4 NovRunning1h 9m · 13.4 km · 153 bpm
Insights
01Running economy

On steady runs I now cover 5% more ground per heartbeat than in Jun–Sept.

JulOct

Metres per heartbeat, monthly medians.

HeartGarmin

Resting heart rate

Latest 48 bpm · 11 Nov

43 bpmaverage over 513 days with a reading

Line: 7-day average · band: my usual range

HRV, overnight

Latest 84 ms · 10 Nov

76 msaverage over 504 days with a reading

Line: 7-day average · band: my usual range

SleepGarmin

Sleep score

weekly bars

78average over 503 nights with a reading

Sleep duration

weekly bars

7h 24maverage over 503 nights with a reading

Want your product to tell its numbers like this?

I’m a product designer. Tell me what you’re building.

How it's made

Built from my own data, end to end

The data
Workouts from Garmin; daily metrics from my Garmin watch, all through Intervals.icu. The page reads its API on the server and refreshes at most once an hour. Nothing is typed in or downloaded by hand.
Only real numbers
Every figure is computed from the data. Days without a reading stay blank, nothing is estimated except where a section says so, and the animations only ever travel up to the real value.
Privacy
No GPS tracks, places, start times, activity names, notes or body weight reach the page. Workouts synced through Strava are left out, as Strava's terms ask.
The Wrapped
A story you scroll: each step's visual follows the scroll. Runs, walks and rides follow real OpenStreetMap routes, worked out once and stored, so the live page never calls a router. Swims are open-water crossings. Coastlines and borders come from Natural Earth.
Biological age
My fitness age from Garmin's VO₂ max estimate, read against the HUNT3 Fitness Study (NTNU, Norway). It measures aerobic fitness, not health.
Design
Ink and greys, with one accent for each kind of data, and one splash of colour for the Wrapped. Each figure appears once. Things move only as they come into view, and not at all with reduced motion.