Purpose-built for ophthalmology

The real-time EMR that keeps up with your clinic

Marble puts the whole patient in one live view — clinical timeline, encounter detail, and context at a glance — with AI-assisted notes and letters, live iPad pre-consult, and passkey security built in.

dashboard.png Marble's three-column patient dashboard: patient banner, clinical timeline, and context sidebar.
Real-time dashboard AI documentation Live iPad pre-consult Passkey 2FA Self-hostable

Everything a clinic day needs, in one place

Marble was designed around the real flow of an ophthalmology clinic — from the moment a patient sits down at the iPad to the letter that lands with their GP.

Clinical timeline

The whole patient, in one live view

A three-column dashboard puts the patient banner, a scrollable clinical timeline, and a context sidebar — diagnoses, drug history, allergies, social history — side by side. No tab-hunting.

  • Chronological encounter timeline with fast filtering
  • Encounter detail and structured exam data in context
  • Diagnoses, drugs, allergies and history always in view
dashboard-timeline.png Clinical timeline column showing a patient's encounters in chronological order.

AI documentation

Notes and letters, drafted for you

Dictate at the point of care and let Marble turn speech into structured notes, reusable templates, and ready-to-send clinic letters — with you always in control of the final word.

  • Ambient dictation → structured clinical notes
  • AI-drafted GP letters from the encounter
  • Reusable note and letter templates
ai-letter.png AI letter composer turning an encounter into a drafted GP letter.

Live pre-consult

Measurements on the dashboard before they reach your desk

A companion iPad entry view captures pre-consultation measurements — visual acuity, intraocular pressure — and pushes them to the clinician's dashboard live over WebSockets. No re-keying, no waiting.

  • Technician enters VA / IOP on the iPad
  • Values appear on the dashboard in real time
  • Full-mirror kiosk mode for linked displays
ipad-entry.png iPad pre-consult entry view capturing visual acuity and intraocular pressure.

Clinic operations

Run the day from a single board

A clinic-day board and a month / week / day booking calendar keep the whole list moving, backed by real appointments rather than a static schedule.

  • Appointment-backed clinic-day board
  • Month, week and day booking calendar
  • Per-user follow-up alerts for bloods, biopsy and imaging
clinic-board.png Clinic-day board showing the day's appointment list.

Rich data capture

Draw, annotate and parse referrals

Sketch findings straight onto eye diagrams from an iPad or phone, and let Marble parse incoming referral letters into structured patient data.

  • Drawing / annotation canvas on clinical diagrams
  • QR-based phone and iPad capture
  • Referral letter parsing into structured fields
drawing.png Drawing canvas with annotations on an eye diagram.

Secure by design

Built for the sensitivity of clinical data

Passkey second factor

WebAuthn passkeys — phishing-resistant, hardware-backed, no shared secrets to leak.

On-device speech

Dictation can run fully offline with the Vosk engine — audio never leaves the device.

Self-hosted

Runs on your own infrastructure via Docker. Your patient data stays under your control.

One canonical origin

HTTPS everywhere via Caddy with automatic certificates and strict origin checks.

Under the hood

A modern, self-hostable stack

A Vue 3 frontend and a FastAPI backend over SQLite, wired for real-time updates and packaged to deploy anywhere with Docker.

Vue 3 · Vite FastAPI · Python SQLite · Alembic WebSockets Docker

See Marble in motion

Open the live app and walk through a real patient dashboard, timeline and letter workflow.