Track the 50% of aging you can measure and change. Wearable and blood data scored daily against published mortality research, on your own machine.
Chronos — Longevity Agent Ingesting synthetic data...
Roughly 20-30% of lifespan variation is genetic. You can't change that. But the remaining 70-80% is driven by behavioral, metabolic, and physiological factors that are both measurable and modifiable. Cardiorespiratory fitness, grip strength, sleep architecture, body composition, and blood biomarkers all have well-documented dose-response relationships with mortality across studies spanning hundreds of thousands of participants.
Chronos tracks the modifiable side. It takes published hazard ratios from longitudinal mortality studies, scores your daily data against NHANES population norms, and computes a composite health score. You won't see the full picture, but you'll see most of what you can actually act on.
26 observation metrics feed into 24 biological age variables, scored daily against NHANES 2017-2020 population norms.
Sources: Mandsager 2018 · Leong 2015 · Paluch 2022
The full stack runs on ~$410 of hardware. You only need a Garmin to start.
Affiliate links (Amazon Associates). Costs you nothing extra, helps fund an open-source project.
Your wearables generate thousands of data points per day. Right now that data sits in Garmin's cloud and Withings' servers. Chronos pulls it onto your machine, where you can actually do something with it.
No cloud. No corporate silos. Every metric on hardware you own.
A local model queries your health data every morning and tells you what changed.
Watch, scale, blood panel, body comp. One normalized Postgres schema.
Pipe your health data into Claude Code, custom scripts, or any tool you want.
Five steps to health sovereignty.
Clone, compose, done. Demo data loads immediately.
# Launching soon — star the repo to get notified git clone https://github.com/thomasstartz111/health-sovereign.git cd health-sovereign docker compose up --build # Dashboard at localhost:3000 with sample data open http://localhost:3000 # CLI commands (inside the pipeline container) python -m pipelines.chronos report # Terminal bio-age report python -m pipelines.chronos digest # LLM daily brief python -m pipelines.chronos trend hrv # 30-day trend for any metric python -m pipelines.chronos demo # Run with synthetic data
Docker Compose brings up PostgreSQL, the Next.js dashboard, the Python pipeline, and Ollama (local LLM). To connect your real Garmin, copy .env.example to .env and add your credentials.
The repo is launching soon. Hardware links above work now — get your Garmin while you wait.
9-card dashboard. Dark mode. Refreshes on every load.
24 metrics. Published coefficients. Sex-specific betas.
The wearable tier (14 metrics) runs daily from Garmin, Withings, and manual inputs. When you add blood biomarkers, the composite tier activates all 24 metrics. Several variables use non-linear transforms to capture U-shaped or J-shaped mortality curves (sleep, glucose, BMI, exercise).
| Variable | Beta | Source | Citation |
|---|---|---|---|
| Smoking Status | 0.50 | Config | Jha 2013 NEJM; Carter 2015 BMC (binary: current vs never/former) |
| VO2max | 0.38 | Garmin | Mandsager 2018 JAMA Network Open; n=122,007 |
| Exercise Volume | 0.22 | Garmin | Arem 2015 JAMA Intern Med; n=661,137 |
| Grip Strength | 0.18 | Manual | Leong 2015 Lancet PURE; n=142,861 |
| Systolic BP | 0.16 | Manual | Lewington 2002 Lancet PSC; n=1,000,000 |
| HRV (RMSSD) | 0.14 | Garmin | Jarczok 2022 Psychosom Med |
| Waist Circumference | 0.13 | Manual | Cerhan 2014 Mayo Clin Proc; n=650,000 |
| Resting HR | 0.12 | Garmin | Zhang 2016 CMAJ |
| BMI | 0.11 | Withings | Global BMI Mortality Collab 2016 Lancet |
| Sleep Duration | 0.10 | Garmin | Cappuccio 2010 Sleep meta-analysis |
| Daily Steps | 0.10 | Garmin | Paluch 2022 Lancet Public Health |
| Chronic Stress | 0.09 | Garmin | Held out — effect size under review |
| Sleep Efficiency | 0.08 | Garmin | Held out — effect size under review |
| Alcohol | 0.07 | Config | Wood 2018 Lancet; n=599,912 |
| HbA1c | 0.15 | Blood | Selvin 2010 NEJM |
| RDW | 0.12 | Blood | Patel 2009 Arch Intern Med |
| hs-CRP | 0.11 | Blood | Kaptoge 2010 Lancet (ERFC) |
| Albumin | 0.10 | Blood | Levine 2018 Aging (PhenoAge component) |
| Fasting Glucose | 0.10 | Blood | Yi 2017 Sci Rep |
| Creatinine | 0.09 | Blood | Levine 2018 Aging (PhenoAge component) |
| Alkaline Phosphatase | 0.08 | Blood | Levine 2018 Aging (PhenoAge component) |
| Vitamin D (25-OH) | 0.06 | Blood | Transform only — deficiency penalty |
| WBC | 0.06 | Blood | Levine 2018 Aging (PhenoAge component) |
| Total Cholesterol | 0.05 | Blood | Reference only — U-shaped mortality curve |
All 24 model variables shown. Dimmed rows are held out or reference-only pending further validation. Smoking is a binary modifier (0/1). Full catalog with evidence status, transforms, and population norms available in the repo.
What this doesn't cover. Genetics, epigenetic methylation (GrimAge, DunedinPACE), environmental exposures, and social determinants all influence aging but require different tools to measure. Chronos focuses on the behavioral and physiological signals you can track daily and actually change. The two approaches are complementary: epigenetic clocks are the calibration point, Chronos is the daily instrument panel.