A personal project — flags are for human review, not clinical action.
New — Stage 0 vision pass on Claude Sonnet 4.6

A second pair of eyes on every script.

Read.

Drop a handwritten doctor’s script or a printed form. Claude reads each field, scores its own confidence, and flags anything that warrants a second pair of eyes — never a clinical decision, just a starting point.

MIMS
BNF
SAMF
HPCSA
SAHPRA
EML
STG
BMI Group
MIMS
BNF
SAMF
HPCSA
SAHPRA
EML
STG
BMI Group
What it actually does

Three passes. One quiet output.

The model does the reading. The pipeline does the doubting. You do the deciding — we just put a clean monograph in front of you to argue with.

01 · Reads

Handwriting that bites backscribbles

Vision pass on Claude Sonnet 4.6 reads the whole sheet in one tool call — patient, prescriber, every drug, every sig — and scores its own confidence per field.

≤1568px JPEG · single call · structured fields
02 · Verifies

Self-doubt as a featureuncertainty

Each field carries a confidence number. The interface foregrounds doubt instead of hiding it — low-confidence values are surfaced with the original token visible.

0.00 – 1.00 per field · original token preserved
03 · Flags

A quiet clinical co-readerinteractions

Claude Haiku 4.5 runs concise checks for interactions, dose plausibility, route/form sanity, and contraindications. It flags — it does not prescribe.

info · warn · severe — never definitive

From paper to monograph
in under a minute.

One end-to-end pipeline. Five visible stages. Every stage names itself so you know exactly where the model is — and where it might be wrong.

  1. 0stage
    Resize
    ≤1568px JPEG

    Local preprocessing keeps payloads tight before the image even leaves your machine.

  2. 1stage
    Read
    Claude Sonnet 4.6

    Single vision tool call emits patient, prescriber, every drug, every sig — with per-field confidence.

  3. 2stage
    Persist
    Supabase Postgres

    Three tables — prescriptions, medications, flags. Storage holds the processed image.

  4. 3stage
    Check
    Claude Haiku 4.5

    Concise clinical checks: interactions, dose plausibility, route/form sanity, contraindications.

  5. 4stage
    Stream
    Server-Sent Events

    Stage events stream back live — the browser draws a progress bar and elapsed-time display.

What lands on your screen

A monograph you can argue with.

Monograph

Prescription read.

rx_8f2c… ·pipeline v0.4·ok
Patient
N. Mahlangu
Age 54 · F
Prescriber
Dr. P. Naidoo
MP 0123456 · 2026-05-28
Medications (3)
01
Amoxicillin
500 mgcap1 cap PO TID × 7 days
97
02
Metformin← “Metfromin
850 mgtab1 tab PO BD
74
03
Atorvastatin← “Atorvastat?n
20 mgtab1 tab PO nocte
62
Flags (2)
warn
Low confidence — drug name

Position 03 read as “Atorvastat?n”. Suggested correction: Atorvastatin.

info
Refill probable

Patient on chronic regimen (metformin + statin). Default assumption: continuation, not new start.

Clinical note

In a South African outpatient context, the safe default for an unfamiliar drug on a script is refill or continuation — not a treatment-naïve start. RxReader is tuned to that assumption.

— built by someone who’s spent too many hours staring at chronic charts
Plans

One model. Three levels of nerve.

Curiousfree
R0/ month

Read up to ten scripts a month. Personal use, no clinical action.

  • 10 scripts / month
  • Browser-only
  • Confidence per field
  • Ledger of last 30 days
Most chosen
Pharmacistpro
R249/ month

For the human in the loop. Higher volumes, longer ledger, Opus extract mode.

  • Unlimited scripts
  • CLAUDE_EXTRACT_MODEL=opus toggle
  • Full ledger + CSV export
  • Email digest of unresolved flags
Practiceteam
R899/ month

Multi-prescriber pharmacies and clinics that want one shared ledger.

  • Five seats
  • Shared ledger + roles
  • SSO + audit log
  • Priority support
Drop a script

We’ll read it.

JPG, PNG, or HEIC. Up to 10 MB. You stay in the loop the entire time — every stage names itself as it runs.