bloody-level¶
Local-first blood-test tracking for enthusiasts and professionals who need a clear longitudinal view of blood-work records.
Download bloody-level View the source on GitHub
Import a PDF, review the extracted values, compare trends over time, and keep the original report beside the structured record. The application is designed for private review and organization; it is not a diagnostic service.

Captured from the built-in /demo/analyte view. All patient data is synthetic: five readings at three-month intervals across one year.
The core loop¶
| Step | What happens |
|---|---|
| 1. Import | Select one or more blood-test PDFs. |
| 2. Extract | The local parser reads text and records diagnostics for anything it cannot confidently map. |
| 3. Review | Inspect values, reference ranges, flags, source metadata, and the original report. |
| 4. Compare | Follow an analyte across reports, patients, dates, and optional HRT anchors. |
What is included¶
- An encrypted local vault for reports, patients, audit events, and settings.
- Support for PT-PT laboratory PDFs from CUF and Germano de Sousa.
- Deterministic PDF extraction with the full OCR/repair feature set compiled into distributed builds; runtime assets remain opt-in and local.
- Search across patients, analytes, and reports with keyboard navigation.
- Charts, reference bands, deltas, gaps, report filtering, and CSV export.
- Backup and restore from Settings, with the encrypted source PDFs preserved.
- A tier-aware audit trail so low-confidence or unmatched data stays visible.
Start here¶
- Install bloody-level
- Complete the first run
- Import a PDF
- Understand privacy and encryption
- Set up a development environment
Use the search button or press / in the documentation site to find a topic instantly. The navigation is grouped by task, with expandable subsections for user, security, developer, and reference material.
For source-specific guidance, see supported report sources.
Scope and limitations¶
bloody-level currently focuses on PDF reports and descriptive review. It does not claim to diagnose conditions, replace a clinician, or provide cloud synchronization. Experimental model integrations are guarded and should be treated as incomplete until their status is explicitly shown in the app.
See implementation status for the current capability boundary and the original implementation plan for the detailed project specification.