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.)
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.