Product designer · 2026 · personal project

No server. No account. No internet.

Hospital information systems are built for an institution with an IT department, a network and a records office. None of those exist in a single-doctor clinic, and nobody is going to administer this for the doctor either.

Offline by designNo assumption of allopathyBackup is first-classNot distributed
Overview02

One doctor, one device, every record.

My role
Executed — concept, product design, implementation
Date, from version control
21 August 2026, a single commit covering v0.1
Built with
TypeScript · Vite · the browser's own database
Backend
None. No ORM, no auth service, no analytics
State
Built and working locally. Not distributed
Who it is for03

The doctor hospital software ignores.

Shaped around
  • The single-doctor private clinic — the core user
  • The government OPD doctor who wants a personal record beyond the hospital register
  • The dispensing doctor who stocks and sells medicines to their own patients
And also
  • The visiting consultant who carries the practice in a laptop bag
  • The specialist, whose templates make a repeat regimen one click
  • Ayurveda, homoeopathy, dentistry and physiotherapy — nothing in the visit, prescription or billing model assumes allopathy
Product decision04

Recording and transcribing are different promises.

Before
Consultation audio is always captured offline. Live transcription uses whatever speech engine the browser provides, and on some browsers that engine needs the internet.
What forced it
The tempting design is to blur the two: show a transcription panel, let it stay empty, let the doctor assume it is working.
The decision
Separate the promises. When the engine is unavailable the app says so, keeps recording, and leaves the transcript editable by hand.
What it changed
A doctor who believes the machine is taking notes and later finds it was not has lost a consultation. A doctor who is told plainly writes three lines instead. The transcription layer sits behind a small adapter in one file, so a fully-local engine can replace it without touching the consult room.
Product architecture05

The model is shaped by the room, not the schema.

Each of these looks arbitrary until you have watched an OPD run for an afternoon.

The consultation

A visit exists from the first second

Created the moment a consultation starts, so notes, audio and the prescription always have a parent even if the tab dies mid-visit. Everything autosaves; there is no Save button to forget.

Audio is its own table

One-to-one with visits, so listing a year of visits never pulls a blob into memory.

The dispensary

Stock is items plus batches

Sales consume them first-expiry-first-out, inside a transaction that refuses to oversell.

Only an invoice moves stock

Billing is the single writer of decrements, so the money ledger and the stock ledger cannot disagree.

The queue

A day queue, not a calendar grid

Scheduled → arrived → in-consult → done, because nobody in an Indian OPD has a 10:15 slot.

Age sits beside date of birth

Because most OPD patients do not know their date of birth.


Whoever controls this computer controls these records. Treat the machine as you would a cupboard of paper files.

DocMeDo README, on what the PIN is and is not

The optional PIN keeps a curious receptionist or family member out of the application. It is a latch, not encryption at rest, and the README says so in those words — because the doctor has to make a physical decision about where the laptop lives, and a vague assurance of “secure” leads to the wrong one.

What it does, and what it says no to07

A v0.1 with its limits written down.

Where it stands
  • Patient registration in under a minute, and as thin as a complaint and a diagnosis where that is all there is
  • Prescriptions from dropdowns or saved templates, printed on the doctor's own letterhead
  • A full dispensary ledger with batches, expiry handling and reorder levels surfacing on the dashboard
  • Backup as one file that restores from the welcome screen — the moment you need it is the moment you have no profile to sign into
Still open
  • No drug database: free text plus the doctor's own templates, because a stale formulary is worse than none
  • No multi-device sync; one device is the truth until the offline-only constraint is lifted
  • No PDF generation — printing goes through the browser's own dialogue
  • No doctor has used it, and nothing regulatory has been assessed in any jurisdiction

Nine panels, read end to end.

B-SIDEOff the record