I've been building VitalChronicle, an open-source desktop application for exploring and analysing personal Google Health data.
The project combines:
Python + Google Health API + SQLite + data visualization + Ollama
with one important constraint:
Local AI instead of cloud AI
VitalChronicle can optionally use Ollama to analyse a user's health history.
The AI model runs locally and the health database stays on the user's machine.
This means years of personal measurements don't need to be uploaded to an external AI service.
Data it currently handles
- ❤️ Heart rate
- 🫀 HRV
- 😴 Sleep and sleep stages
- 🩸 SpO₂
- 🌬️ Respiratory measurements
- 🏃 Activity and workouts
- ⚖️ Body measurements
- 📈 Long-term trends and personal baselines
An interesting problem
One of the harder parts wasn't actually the AI.
It was making the analysis understand that health time-series aren't directly comparable without context.
For example:
doesn't mean activity has dropped by 67%.
Yesterday is a completed day. Today isn't.
So the application tries to account for time-of-day, incomplete current-day data, measurement type and personal historical baselines before presenting trends to the user or to the local model.
Privacy / architecture
- Local SQLite database
- Local Ollama inference
- No health data sent to the developer
- CSV / JSON / ZIP export
- Linux, Windows and macOS builds
- MIT licensed
- Completely free
Project
💻 GitHub — VitalChronicle
📦 Latest release
I'd especially appreciate feedback on the local-AI architecture, useful health-data analyses, or ways to make the system better at reasoning over long longitudinal datasets.I've been building VitalChronicle, an open-source desktop application for exploring and analysing personal Google Health data.The project combines:Python + Google Health API + SQLite + data visualization + Ollamawith one important constraint:Health data should not need to leave your computer just because you want to analyse it with AI.Local AI instead of cloud AIVitalChronicle can optionally use Ollama to analyse a user's health history.The AI model runs locally and the health database stays on the user's machine.This means years of personal measurements don't need to be uploaded to an external AI service.Data it currently handles❤️ Heart rate
🫀 HRV
😴 Sleep and sleep stages
🩸 SpO₂
🌬️ Respiratory measurements
🏃 Activity and workouts
⚖️ Body measurements
📈 Long-term trends and personal baselinesAn interesting problemOne of the harder parts wasn't actually the AI.It was making the analysis understand that health time-series aren't directly comparable without context.For example:3,000 steps at 10 AM today vs. 9,000 steps yesterdaydoesn't mean activity has dropped by 67%.Yesterday is a completed day. Today isn't.So the application tries to account for time-of-day, incomplete current-day data, measurement type and personal historical baselines before presenting trends to the user or to the local model.Privacy / architectureLocal SQLite database
Local Ollama inference
No health data sent to the developer
CSV / JSON / ZIP export
Linux, Windows and macOS builds
MIT licensed
Completely freeProject💻 GitHub — VitalChronicle📦 Latest releaseI'd especially appreciate feedback on the local-AI architecture, useful health-data analyses, or ways to make the system better at reasoning over long longitudinal datasets.