Your bloodwork, in focus.
Markerlog turns a pile of lab PDFs into a history you can actually read — 150 biomarkers, trends over time, every value checked against clinical and optimal ranges. It all lives in your browser. Nothing is uploaded.
- No account
- Works offline
- Free to use
- 01 / Local-first
Your data never leaves your browser
Results are stored in SQLite (via OPFS) on your own device. No account, no server, no analytics. Optional sync backs up to storage you control — your Gitea repo or an S3 bucket.
- 02 / On-device AI
Ask questions without handing over your labs
An optional assistant runs fully in your browser through WebGPU — no API key, nothing leaves the page. Prefer a hosted model? Bring your own Anthropic, OpenAI, or Ollama. Always opt-in, always a PII-free payload.
- 03 / Sourced catalog
150 biomarkers, with the citations
Clinical and optimal reference ranges with LOINC codes and sex/age stratification — plus 42 composite formulas (eGFR, LDL, HOMA-IR, and more) that recompute as you add results.
From a stack of PDFs to a history you can read.
- 1OCR fallback included
Import a lab PDF
Drag in a report from Quest, HealthGorilla, or a generic lab. Markerlog detects the layout and pulls out every value — and falls back to on-device OCR for scanned or image-only PDFs.
- 2Human-in-the-loop
Review before it's saved
Check the parsed values next to the original PDF, fix anything that looks off, and approve. Nothing is written to your record until you confirm it.
- 3Trends & ranges
Watch the numbers move
Every marker gets a sparkline, a trend, and a range badge. Sort by panel, flag out-of-range results, switch to a dense table, and compare any two sessions side by side.
- 4Opt-in, PII-free
Ask, privately
Turn on the assistant to explain a result or a trend. It runs on-device or through your own key, on a summary you can preview before a single byte is sent.
Enough depth to take your labs seriously.
No dumbed-down dashboards. The catalog, the formulas, and the reference ranges are the kind of thing you'd otherwise keep in a spreadsheet — done properly.
Data in
- PDF import
- Quest, HealthGorilla & generic layouts, OCR fallback for scans
- Results, any type
- Numeric, ordinal (Trace → 1+), and nominal (Reactive / Non-reactive)
- Composite formulas
- 42 calculated markers — LDL, eGFR, HOMA-IR — that auto-recompute
- Body metrics & BP
- Weight, height, BMI, and a 120/80 reading with derived MAP
Make sense of it
- Dashboard
- Cards with sparklines, or a dense lab-report table
- Trends
- Linear regression, percent change, and range-status badges
- Reference ranges
- Clinical and optimal, sex/age aware, LOINC-coded
- Compare sessions
- Put any two test dates side by side
- Units
- Imperial or metric, with molar-mass-aware conversion
Keep it yours
- Local-first
- SQLite in your browser via OPFS — no account, no server
- Optional sync
- Your own Gitea / Forgejo repo, or any S3-compatible bucket
- Opt-in AI
- On-device via WebGPU, or your own provider key — PII-free
- Backup
- Full zip export and import, whenever you want
Health data should stay yours.
Most trackers upload your results to their servers. Markerlog doesn't have servers. Your data is written to a database inside your browser, and the only network requests are the ones you switch on.
- No account, ever
- No analytics, no third-party scripts
- Works fully offline
- Export everything as a zip, anytime
- Sync, if on, goes only to storage you own
- AI is opt-in, previewed, and PII-free
✕ No Markerlog server · no third party · no tracking
Questions, answered.
Where is my data stored?
In a SQLite database inside your browser (OPFS, with an IndexedDB fallback). It never touches a Markerlog server — there isn't one. You can export the whole thing as a zip at any time.
Do I need an account?
No. There's no sign-up and no login. Open the app and start entering or importing results.
Which lab reports can it import?
PDFs from Quest Diagnostics and HealthGorilla are auto-detected, and a generic parser handles many others. Scanned or image-only PDFs fall back to on-device OCR. You review every extracted value before it's saved.
Does the AI send my data anywhere?
Only if you opt in. You can run a model fully on-device through WebGPU, where nothing leaves the page, or connect your own Anthropic, OpenAI, or Ollama. Either way the payload is a PII-free summary — biomarker, value, range status, and trend, plus sex and age — never your name, notes, or date of birth, and you can preview exactly what's sent.
Can I move my data between devices?
Yes. Export and import a zip, or turn on sync to your own Gitea/Forgejo repository or an S3-compatible bucket. Credentials live in a separate store and are never included in exports or uploads.
Is this medical advice?
No. Markerlog organizes and visualizes results you already have. It doesn't diagnose or treat anything — take questions about your health to a clinician.
What does it cost?
Markerlog is free to use. It runs entirely in your browser, so there is nothing to host and no subscription.
Which browsers are supported?
Any modern browser — Chrome, Firefox, and Safari. The optional on-device AI model needs WebGPU (in Chrome and Edge today, with others catching up). Everything else works without it.
Start with your last lab report.
Import a PDF and watch a year of bloodwork line up in minutes — without any of it leaving your browser.