A local-first documentation workflow for turning text, audio, and scanned documents into reviewable records without hiding model output, corrections, confidence, or reviewer actions.
Caution
NoteFlow is a software prototype, not a diagnosis, treatment, or clinical decision system. All interface records and screenshots use synthetic data. The project has not been validated for real-world medical use.
Many documentation pipelines collapse source material and model output into one generated record. NoteFlow keeps those stages separate so a reviewer can inspect what the system received, what a model produced, what changed, and who approved the correction.
| Area | Implemented workflow |
|---|---|
| Ingestion | Manual notes, audio, images, and document uploads |
| Review | Correctable ASR/OCR records with original and edited values |
| Comparison | WER, CER, and numeric-mismatch checks |
| Documentation | Deterministic checks, issues, and follow-up tasks |
| Traceability | Ownership checks, audit events, and export history |
| Quality | Backend regression tests and frontend lint, type-check, test, and build gates |
React + TypeScript + Vite
│
│ authenticated REST requests
▼
FastAPI
├── SQLAlchemy entities and Alembic migrations
├── upload, processed-file, and export storage
├── optional ASR, OCR, and Ollama adapters
├── comparison and documentation-review services
└── task, audit, and export services
The backend is the system of record. Original sources and corrected outputs remain separate, and model adapters fail visibly by default rather than silently changing behavior.
See docs/ARCHITECTURE.md for the entity and service boundaries.
Backend: Python, FastAPI, SQLAlchemy, Alembic, SQLite/PostgreSQL
Frontend: React 18, TypeScript, Vite, Tailwind CSS, Recharts
Quality: pytest, ESLint, TypeScript, Vitest, GitHub Actions
Optional local integrations: ASR, PaddleOCR, Ollama
Prerequisites:
- Python 3.11+
- Node.js 22+
- pnpm 10+
Create the local environment and start the API:
cp .env.example .env
cd backend
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install -r requirements.txt
alembic upgrade head
uvicorn app.main:app --reloadIn another terminal, start the interface:
cd Frontend
pnpm install
pnpm devOpen http://localhost:5173. Development credentials and local defaults are documented in .env.example; replace them before any shared deployment.
The core workflow can be explored without distributing private models. Install backend/requirements-models.txt only when exercising PaddleOCR, then point the relevant .env variables at local checkpoints.
Private Mega-ASR source code and checkpoints are not included. This repository contains only configuration and adapter boundaries for those external dependencies.
Run backend checks:
python -m pytest backend/testsRun frontend checks:
cd Frontend
pnpm lint
pnpm typecheck
pnpm test
pnpm buildGitHub Actions runs both quality pipelines on pushes to main and pull requests.
docs/ARCHITECTURE.md— system boundaries and data flowdocs/STATUS.md— implemented, in-progress, and explicitly unclaimed workdocs/PRIVACY.md— privacy and safety requirements
Implemented
- Customer, document, task, audit, and export API workflows
- Manual text, audio, image, and document ingestion
- Correctable ASR/OCR records
- Comparison and deterministic documentation checks
- React workflow interface
- Backend regression tests and frontend quality gates
In progress
- Replacing remaining fixture-backed UI paths with live API state
- Packaging local model setup and health diagnostics
- Expanding frontend behavioral tests
Not claimed
- Production readiness
- Clinical validation or regulatory compliance
- Benchmark-quality model accuracy or latency
- Distribution rights for private models, checkpoints, or research code
Never commit real patient, customer, employer, or research-lab data. Generated uploads, exports, databases, logs, model files, and environment secrets are intentionally ignored.
This repository currently has no license. Reuse permission has not been granted.
