What it is
Vitalix is two parts: an Android app that reads your Health Connect records on-device and forwards only the metrics you enable, and a self-hosted receiver (Node/Express + Postgres) that ingests, stores, and charts them. The data path stops at your server. Nothing routes through a spreadsheet, a CSV export, or a vendor cloud.
Features
what it doesOn-device export
Reads Health Connect locally and sends only the metrics you pick. Around 30 are supported.
Your Postgres
The receiver stores per-day rows in a Postgres database you own, with schema migrations built in.
Background auto-sync
WorkManager sync, gated so it only runs once the OS actually permits background execution.
Bearer-token auth
Server URL and token stored in EncryptedSharedPreferences; ingest is authenticated per request.
Private dashboard
Accounts with invite codes, password reset, and an admin area, all served from your host.
Backfill history
Choose a date range or backfill your existing history in one pass, not just new data.
How it works
data flowRead
The Android app reads Health Connect on-device, no cloud in between.
Forward
It POSTs JSON to your receiver at /api/health with a bearer token.
Store
The receiver writes to your Postgres and charts it on a private dashboard.
Stack
built withFAQ
common questionsWhat is Vitalix?
A privacy-first, self-hosted health tool. An Android app reads your Health Connect records on-device and forwards them as JSON to a receiver you control, which stores the data in your own Postgres and charts it on a private dashboard.
Where is my health data stored?
In your own Postgres database on your own server. There is no Google Sheets, no CSV, and no third-party data path.
Which health metrics can it export?
Around 30 metrics from Android Health Connect. You pick exactly which ones to send, and can choose a date range or backfill history.
How does the app send data to my server?
It POSTs JSON to your receiver at /api/health with an optional bearer token. The server URL and token are stored in Android EncryptedSharedPreferences.
Does it sync automatically?
Yes. Background auto-sync runs via WorkManager, gated so it only turns on once the OS will actually allow background execution, including OEM allow-lists on aggressive vendors like Samsung.