Manifest-driven
Every card is a single JSON file. Add tracking for a new supplement, a new biomarker, a new mood scale: create a file, refresh the page, you have a card. No code changes, no schema migrations.
Free & open source Self-hosted health tracking
Klebb is a free, open-source, manifest-driven dashboard for tracking anything medical: supplements, peptides, bloods, weight, mood, sleep, whatever matters to you. Drop a JSON file, a card appears. No subscriptions, no database, no cloud, no compromises.
What it does
Every card is a single JSON file. Add tracking for a new supplement, a new biomarker, a new mood scale: create a file, refresh the page, you have a card. No code changes, no schema migrations.
Your data lives in plain JSON files on your own machine. No external service knows what you ate, what you took, or how you slept. git diff tells you exactly what changed.
An optional chat agent reads your manifests as context. Ask why your HRV tanked last week, or which supplement stack mapped to your best sleep. Bring your own gateway, any OpenAI-compatible endpoint works.
WebAuthn, no passwords, no email, no SMS codes. One tap on your phone or hardware key and you are in. Multi-instance: every user gets their own isolated dashboard with separate data and credentials.
How it works
A Klebb card is one file. Two halves: meta describes
what it tracks and how to render it; data is the
history. The server reads it, hands it to the browser, and the
right renderer draws the card.
{
"schema": "klebb.datafile.v1",
"meta": {
"id": "weight",
"title": "Body weight",
"unit": "kg",
"view": {
"component": "eh-trend-card",
"goal": 82
}
},
"data": [
{ "date": "2026-05-19", "value": 84.2 },
{ "date": "2026-05-20", "value": 83.9 },
{ "date": "2026-05-21", "value": 83.6 }
]
}
Tech stack
Klebb is what falls out when you refuse to add a framework until you genuinely need one. Roughly 1,200 lines of server, no bundler, no database, no surprises.
Lit web components loaded straight from esm.sh. No React, no bundler, no build pipeline.
Plain Node.js http. No Express, no ORM. Node 20+.
JSON files on disk. The filesystem is the database; rsync is the backup tool.
WebAuthn passkeys with recovery codes. No passwords stored, ever.
One systemd unit per user, or a single Docker image. Multi-instance isolation comes for free.
AGPL-3.0-only. Run it, fork it, modify it; share what you change.
Get started: free, forever
Klebb is free and open source under AGPL-3.0: no licence fee, no subscription, no paid tier. It's a single binary's worth of code and a directory of JSON files. The fastest way to try it is Docker; the most flexible is a systemd unit on whatever Linux box already runs your other things.
docker run -d \
--name klebb \
-p 10002:10002 \
-v $HOME/klebb-data:/app/data \
-e HEALTH_RP_ID=klebb.local \
ghcr.io/aristocles/klebb:latest
Multi-arch image (amd64 + arm64), published to GHCR on every release.
git clone https://github.com/Aristocles/klebb.git
cd klebb
npm install
HEALTH_HOME=./data node server.js
Open http://localhost:10002, register a passkey, drop manifests into ./data.