I had a stem-cell transplant for leukaemia in November 2023. This site reads my Oura ring every night and turns the data into the reports below. Claude Code wrote the code; I described what I needed in Norwegian and checked what came back. Open source, MIT licensed, part of TEEI Health Equity. Companion project: Genomics portal. How this was built.
The digital twin
This twin learned my nightly physiology from the 67 nights before treatment and projects the range my HRV would sit in without it: around 10 ms. On ruxolitinib alone, 1 of 23 nights sat above that range. After a beta-blocker was added on April 8, 173 of 182 did. The gap between the two lines is what a consumer ring made visible; the phase analysis below says which medicine carries it.
173 of 182 nights since the beta-blocker sit above the range the twin projected without treatment, against 1 of 23 on ruxolitinib alone. Projected 10 ms. Actual 24 ms, a +139% gap.
Phase-corrected estimate (piecewise ITS with AR(1) errors): ruxolitinib step -1.5 ms (p=0.71), beta-blocker step +19.1 ms (p<0.001). Tau-U, trend-corrected: pre to ruxolitinib alone -0.19; ruxolitinib alone to plus beta-blocker +0.95.
Whole-period test: HRV +164% (p<0.001), all pre-ruxolitinib nights vs all post-ruxolitinib nights. In this pipeline's own placebo calibration that test fires at 100% of dates where nothing happened, so it is shown as description, not evidence. Placebo tests · Piecewise ITS · Tau-U.
Last 30 nights vs the pre-treatment baseline. Every figure is a live query.
HRV (RMSSD)
9.0 → 23.1 ms
+155%
Parasympathetic, vagal, autonomic tone. Higher is better recovery.
Average sleeping HR
85 → 67 bpm
-21%
Lower resting heart rate means less cardiovascular strain.
Lowest nightly HR
77 → 59 bpm
-23%
The floor heart rate reaches overnight.
REM sleep
0.88 → 1.33 h
+51%
The sleep stage tied to memory and emotional recovery.