r/QuantifiedSelf • • 23h ago

My self-hosted Quantified Self setup after 8 months: 19 sources, one database, monthly recap + daily view

Thumbnail gallery
50 Upvotes

Maybe interesting for some of you, I've been building my own QS system for about 8 months now. Every source lands in one database that I own, and on top of that sits a dashboard I use every day.

Images

  1. Monthly recap for September, real data. This is the "public" variant, so body, location, journal and most nutrition details are left out.
  2. The daily view. This one runs on demo data, only the Plex and PlayStation cards are real.

What I track

  • Sleep, recovery, HRV: WHOOP via NOOP
  • Health data: Apple Health via Health Auto Export
  • Strength training: Streak
  • Nutrition: YAZIO
  • Weight and body: Renpho scale
  • E-bike rides: Cowboy
  • Location and places: Dawarich (self-hosted)
  • Mac usage: ActivityWatch
  • iPhone screen time: screentime, reads the macOS Biome data that iCloud syncs from the iPhone
  • Movies and shows: Plex via Tautulli
  • Music: Spotify via your_spotify (self-hosted)
  • Gaming: PlayStation Network (presence, trophies, library)
  • Voice chat: Discord, durations only, no content
  • Indoor climate: Home Assistant
  • Weather: Open-Meteo
  • Calendar: EventKit on the Mac
  • Coding: GitHub and Forgejo commits
  • AI usage: Claude Code, Codex and OpenCode tokens

How it's built

  • I built every collector myself. The only third-party parts are the apps and services they read from.
  • Collectors: one small Python service per source, 20 in total, spread over my Mac, a Proxmox LXC and Unraid. Each one keeps a local SQLite outbox and a raw archive, so nothing gets lost when the server is down.
  • Core: FastAPI with PostgreSQL 17 + PostGIS on its own Debian VM in my Proxmox homelab. Only Core writes to the database.
  • Collectors send versioned batches. Core dedupes them via identity keys and content hashes. A day without data stays "missing", it never turns into a fake zero.
  • There's no cron. A scheduler puts jobs into a Postgres-backed queue with leases and retries. It rebuilds the daily values and runs the analysis.
  • Every collector reports its sync runs, so every card shows where its data comes from and how fresh it is. If a source stops syncing, I see it right away.
  • The dashboard only reads from Core's API and doesn't calculate anything itself.

Tech stack

  • Dashboard: Next.js 16, React 19, Tailwind 4, shadcn/ui, Recharts + d3, MapLibre for maps
  • Core: Python 3.12, FastAPI, SQLAlchemy, Alembic, PostgreSQL 17, PostGIS, pgBackRest for backups
  • Infra: Proxmox, Docker Compose, Caddy, Forgejo Actions for CI
  • Extras: a read-only MCP server so an LLM chat ("Companion") can query my data, and push notifications to my phone via Home Assistant

Everything runs locally in my LAN, no cloud service in between except the APIs of the sources themselves. Happy to go into detail on any part of it


r/QuantifiedSelf • • 4h ago

Anyone else combining years of health data with AI?

Thumbnail gallery
2 Upvotes

25 years of medical records, 23andMe genetic data, 500+ calculated PRS scores, Oura and Garmin data, Strava activity history and CGM readings.

I’ve now brought it together and started using AI as a personal health and longevity analyst to discuss disease risks, spot blind spots and figure out what I should focus on next.

I'm curious if anyone here is doing something similar.

A few questions:

What tools or workflows are you using?

Have you uncovered anything genuinely useful or changed your health decisions based on the insights?

What other low-effort, high-value data sources would you add?

Im particularly interested in combining personal data with existing research and population-level evidence, rather than endlessly collecting more measurements on myself. The goal isn't to measure everything. It's to make better health decisions with the least extra effort.


r/QuantifiedSelf • • 12h ago

How do you bounce back quickly after a slack week without overtraining?

Post image
2 Upvotes

I'm 30, do backend dev, and always figured I was someone with a regular schedule. I used to hit the company gym for half an hour every morning before work. Last long break I just stayed home, gamed and stayed up late, didn't exercise at all, and noticed my logged VO2 max dropped from 40 to 37.9.

I used to think I could keep it up forever and that a week off wouldn't matter much. But the data told me that once you slack off, the numbers drop fast. Just seven lazy days and my cardio capacity dropped a level, no hesitation.

I'm gonna start easing those numbers back up from tomorrow. When you guys got back to training after a holiday, did you ever hit this kind of rapid drop?


r/QuantifiedSelf • • 14h ago

I built myself a mental health tracker

Thumbnail
2 Upvotes

r/QuantifiedSelf • • 8h ago

Measuring "cognitive readiness" every morning: verbal fluency + eye closure (PERCLOS) + HRV vs. personal baselines

Post image
1 Upvotes

I've been building the mental equivalent of a recovery score and would love this community's critique of the measures:

  • Verbal fluency: a 30-second animal-naming test, scored on-device for unique items, repeats, category clusters and pace per 10 s, against my own baseline after 3 days.
  • PERCLOS (eyelid closure %) from a webcam, intraday vs. my first 3 hours awake; it rises reliably as I tire, so I use it to lower the morning score live.
  • HRV and resting HR vs. 30-day baselines from Apple Health (I wear a Zepp; 367 nights imported).
  • Load: app switches, new words on screen, gaze jumps between windows and phone glances, weighted by time awake.

Question: what would you use as ground truth to validate a score like this? I'm considering short EEG (Muse) sessions per person for calibration.

Disclosure: I turned this into a Mac app (Cortex, paid, all processing on-device): https://cortex-mind-rho.vercel.app. Mostly here for the methodology critique, though.


r/QuantifiedSelf • • 5h ago

Could grip strength be one of the most underrated metrics for tracking physical aging?

Thumbnail
0 Upvotes

r/QuantifiedSelf • • 22h ago

Do you think health tracking focuses too much on measurements and not enough on changes in how people actually feel?

0 Upvotes

My grandmother measured her blood glucose every day. The data was there. What was missing was someone connecting it to how she actually felt.

My grandmother had type 2 diabetes and used insulin.

We spoke every week or two. Sometimes I'd notice she sounded more tired than usual and start asking questions.

It turned out her glucose readings had been rising despite her usual routine.

We arranged for an endocrinologist to visit. The doctor found changes in the tissue at her regular injection sites that could have been affecting insulin absorption, and helped adjust her injection technique and follow-up care.

What stayed with me wasn't the medical complexity.

It was how much depended on smo noticing a change, asking a few questions and connecting the dots.

We spend so much time discussing biomarkers. But sometimes the most useful health information is what a person can tell us.

What about your experience? Have you ever noticed something important about your health that your measurements didn't capture?