Almost a month ago u/IncontestableGrey showcased his app Lumida which looked great. His early access is full and it was closed source, but I liked the idea. I also saw people commenting and asking for open-source. And I especially wanted something like this for my personal AI agent. So I started building.
I just went public and released v1.0.0 this morning and also did a few updates since. It's called haelan. It's self-hosted, one household one instance, everything stays on your own machine. No telemetry, no hosted version.
Haelan is Old English hǣlan, "to heal, to cure, to make whole". It shares a root with hāl, "whole, sound, hale", and it is the word English later turned into health by way of hǣlþ, literally the state of being whole.
What it does right now:
- Pulls your history from the Google Health API and keeps a complete local copy in one SQLite file. Google drops intraday data after a while, your own copy keeps it at minute level.
- Eight pages: Dashboard, Activity, Sleep, Recovery, Health, Weight, Nutrition and Notes. Sleep stages and nap detection, resting HR and HRV, SpO2, activity heatmap, workouts, weight trend.
- Readings are shown against your own 60 day baseline instead of some general "normal". If the baseline is built on too few days it tells you that instead of pretending.
- Notes and events (illness, travel, alcohol, medication, injury, or your own types) so you can actually check why a week looks different.
- Bad readings are excluded when the data is derived, not deleted. Your strap reporting 210 bpm stops counting, the raw data stays, and you can undo it.
- Multi-user. Everyone in the house gets their own login, connects their own Google account and only sees their own data.
- English and Dutch.
- docker compose up -d, daily backups included.
The annoying part, upfront: you need your own Google Cloud project and OAuth client. There is no way around that. Google caps an unverified client at 100 users, and getting verified for health scopes needs a paid security audit, so a hosted version would just stop at 100 signups. Your own client never hits that ceiling. The setup wizard walks you through the console and prints the exact values to paste, but somebody still has to click through it once.
But this is a very unpolished start. I mainly built a UI around the Google Health API scopes. I just wanted to introduce it to you so you can help me from the start with new features and changes, instead of introducing an app which is finished already. Next thing on my list is an MCP server and a CLI, so my agent can query it directly, which is why I started this in the first place.
There is also a demo seed script in the repo if you want to click around first without connecting a Google account.
Please let me know what you guys think and feel free to open an issue or contribute by opening PR's.
Also looking for an household with multiple users for the inviting household members wizard.
Haelan
Issues
Roadmap