open-source · local-first · AGPL-3.0

Keep the receipts on your own disease.

sardinetracker is a self-hosted tracker for systemic autoimmune rheumatic disease: daily symptoms, biometrics, UV exposure, labs, medications, and a transparent flare-forecast model. Everything lives in one SQLite file on your own machine. Nothing phones home.

(SARD = systemic autoimmune rheumatic disease. A SARDine is someone who has one. Built by a patient who needed her patterns to be visible — released for the other sardines.)

flare threshold
UV dose symptoms pain / fatigue burden delta RMSSD resp rate recorded flare

The disease-burden view: each day’s flare-risk score, stacked by what’s driving it. Every point traces to a rule you can read — the scoring code renders inside the app, and every weight is yours to tune.

the app, tab by tab

What it does

The navigation is the feature list. Each tab earns its place by answering a question you actually take into appointments.

today
One page a day: nine symptom categories, pain and fatigue scales, sleep, sun, notes. A quick mode for the days a full form is too much.
forecast
Today’s flare risk, scored in the open — which rules fired, how many points each added, and what to consider doing about it.
model
Score attribution over time. Stacked bars show what drove each day; flare markers show what actually happened; accuracy pages grade the model honestly.
reactions
Per-medication before/after: flare rate, autonomic shift, duration of effect for one-time doses, and a structured side-effect log.
cycle optional
Menstrual tracking with BBT-anchored ovulation detection, built for cycles that steroids and disease activity have made unpredictable.
wearable prototype
A DIY UV sensor’s measured exposure, charted against the forecast UV that feeds the model. Ground truth for the photo-trigger question.
clinical
Labs with flags and reference ranges, ANA history, medications, events, your clinician directory, and a document library for the PDFs — all searchable, all exportable.
portal
Hand a clinician one read-only link: a report-style overview, the full record, and the source documents. Expiring, revocable, access-logged.

own your data

Your data is a file on your computer.

No cloud, no account, no analytics. The database is standard SQLite — back it up with cp, open it with any tool, delete it and it’s gone. Remote access, if you want it, is yours to configure (there’s a guide) and yours to switch off. The only thing that ever leaves your machine is a pair of coordinates sent to a weather API to fetch the UV index.

This is not a medical product. It is a tool for veracity: for people who need to make their invisible patterns visible — whether for themselves, or to make a case to others.

ten minutes, honestly

Install

You need Python 3.9 or newer and a web browser. macOS, Linux, or Windows.

git clone https://github.com/alaricmoore/sardinetracker.git
cd sardinetracker
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python setup.py   # asks your name, coordinates, timezone
python app.py     # → http://localhost:5000

Full walkthrough — Windows steps, phone access, Apple Health import, spreadsheet import — in the README.

On Android? The companion app ships as a ready-to-install APK — grab it from the releases page, no build tools needed. It syncs any wearable that writes to Health Connect.