Mike Litman
Personal Health OS
A TALK BY MIKE LITMAN

I Built a Personal
Health OS

What 9 years of data, one afternoon, and an AI actually taught me about knowing yourself.

9

years of health data sitting on my phone.
3,172 days. I had never looked at any of it.

3,172 DAYS IMPORTED APPLE HEALTH + OURA + RENPHO + NEKO 2017 → 2026
THE PARADOX

We're the most
quantified
humans in history.

Heart rate. Sleep cycles. Blood oxygen. Steps. Calories. Readiness scores. All of it collected. All of it siloed. None of it connected.

And we understand
almost none of it.

THE PROBLEM

Four data silos.
Zero conversation.

Wearable
Oura Ring
HRV, RHR, readiness, sleep stages
Phone
Apple Health
Steps, SpO2, flights, active calories
Scale
Renpho
Weight, body fat, muscle mass
Clinic
NHS + Neko
Bloods, cholesterol, grip, BP
No single view · No trends · No context
THE BUILD

So I built a dashboard
that connects all of it.

Oura API
Daily automatic sync
482 days imported
Apple Health
XML streaming parser
3,172 days · 2.5GB
Renpho
CSV export
752 weigh-ins
NHS Clinic
Manual blood entry
Cholesterol, Hb, CRP
Neko Health
Annual body scan
Grip, SpO2, vitals
Built in an afternoon.
Claude Code + Python + Chart.js
Cost: £0
THE RESULT

This is what it looks like.

Health Dashboard — Today strip showing Readiness 80, Sleep 85, HRV 47, Resting HR 48, SpO2 96.9
READINESS 80 RHR 48 BPM HRV 47ms SpO2 96.9% SLEEP 85/100
IT ALSO THINKS

Not just data. Correlations.

What Drives Your Scores — correlations between sleep, readiness, HRV and tempo deviation
SLEEP → READINESS: +0.78 RHR → READINESS: +0.45 COMPUTED FROM 481 DAYS
LIVE DEMO

Nine years. One dashboard.

482 DAYS OF OURA BIO AGE 35 BUILT IN ONE AFTERNOON
01
LESSON 01

Snapshots lie.
Trends tell the truth.

A single bad night's sleep looks catastrophic. A 90-day rolling average reveals whether you're recovering well or slowly declining. Doctors look at one reading. Dashboards show the pattern. The pattern is what matters.

SpO2 96.9% TODAY BUT TRENDING STABLE OVER 90 DAYS CONTEXT CHANGES THE CALL
WHAT SURPRISED ME

Three things I didn't expect to find.

  • 1
    My RHR is 48 bpm. That's athletic territory. I had no idea. Nine years of data and I'd never once looked at my resting heart rate trend.
  • 2
    My biological age is 35. Chronological: 39. When it came back as 35, I didn't feel validated. I felt embarrassed that I'd had nine years of data on my phone and had never once thought to ask it a question.
  • 3
    My cholesterol needed flagging. LDL 4.50 mmol/L. A non-fasting result that could be elevated by 0.5–1.0 mmol/L. Something to actually act on. I only spotted it by putting all the data together.
02
LESSON 02

One number
changes the frame.

Twelve individual metrics are hard to hold in your head. But "biological age 35 at 39" is a story. It gives every other data point a reference frame. Context transforms numbers into meaning. That's the job of the dashboard.

BIO AGE: 35 CHRON AGE: 39 4 YEARS YOUNGER
03
LESSON 03

Brief the machine
like a designer.

"My SpO2 is 96.9%. Should I be worried?" produces a generic answer. "I'm 39, non-smoker, Oura readiness averaging 74 over 30 days, SpO2 trending at 96.9% with no symptoms. Interpret this and tell me what to ask a GP." produces actionable intelligence. The brief quality determines the output quality.

CONTEXT IN → INSIGHT OUT DATA IS THE BRIEF YOUR JOB IS THE QUESTION

Who does your
health data
actually serve?

04
LESSON 04

From user
to owner.

Apple owns your health data. Oura owns yours. Google, Withings, Garmin -- they all own a piece of you. When you export it, parse it, and host your own dashboard, you own it. That shift is more significant than it sounds.

YOUR DATA, YOUR SERVER NO SUBSCRIPTION NO PAYWALL FOR YOUR OWN BODY
THE BIGGER POINT

This applies even if
you're not technical.

  • 📊
    Connect before you analyse. Your data is scattered. The first job is aggregation, not optimisation. Understanding your baseline beats chasing marginal gains.
  • 🎯
    Ask better questions of your existing data. Every GP appointment is better with a 90-day trend chart. Every blood panel means more with context. AI doesn't replace the doctor. It helps you walk in prepared.
  • 🔒
    Own it. The tools to do this exist. They're free. The only thing stopping you is not knowing it's possible.
REALITY CHECK

This is not a weekend project
for engineers only.

1
afternoon to build
£0
cost to run
9
years of data unlocked
35
biological age discovered

The tools exist. AI handles the complexity. You just need to ask the right questions.

THE TAKEAWAY

Agency,
not
optimisation.

The point isn't to become a biohacker. It's to stop being a passive consumer of your own data. You already have the information. Now you can use it.

Mike Litman

Thank you.

mikelitman.me · hello@mikelitman.me

Continue from slide ?