Personal project · Offline-first PWA
A month of surgery, in three numbers a day.
A private anaesthetist bills a municipal hospital for the surgeries she covers. Paper sheet per operating day, rates worked out by hand from a government schedule, a dozen-plus days totalled at month end. On a claim worth lakhs, arithmetic was doing the work of a system. I didn’t digitise the form — I found the three values it was really made of.
The reduction
The form asks for ten things. The money needs three.
Reading a real month’s sheet, the entire fee model came apart into three values — a major case, a supra-major case, and a per-hour extra. Everything else on the paper exists for the hospital’s records, not for the claim. The monthly claim carries no patient names at all.
On the paper sheet
- Patient namerecord only
- Agerecord only
- Sexrecord only
- Indoor reg. no.record only
- Procedurerecord only
- Start & end timerecord only
- Dategroups the rows
- Major case₹4,500
- Supra-major case₹5,600
- Extra hour₹1,500
Three of ten fields carry money. The app captures those three and treats the rest as optional.
That is the whole design decision. Copying the paper form would have produced a ten-field entry screen used once a week under time pressure, which is exactly the condition that was already causing missed cases.
- Entry is a counter, not a form. Tap plus twice, the day is logged. Patient details sit behind a separate optional sheet, for when she fills the paper later.
- The arithmetic disappears. Day total and the running monthly claim update on every tap, so there is no step where a number gets added up wrong.
- The month is the unit. The calendar shows which days have entries and which don’t, because the failure that cost the most was a day quietly forgotten.
The paper had ten columns. Only three of them were money.
Everything after that followed from the reduction.The product
Small enough to use between cases.
It runs on her phone, offline, with no account to sign into. Below is the real app on invented figures — tap the steppers, move through the month, open the breakdown.
- Three coloured counters carry the whole money model — mustard for major, periwinkle for supra-major, sage for extra hours. The colours repeat in the calendar and the totals, so the split is readable without labels.
- The day card leads with the total, because that is the number she is checking against her own memory of the day.
- The claim sits fixed at the bottom and moves as she taps. The month is never more than a glance away.
- One tap exports a print-ready summary in the hospital’s own monthly format — date rows, counts, rates, totals, signature blocks.
Every figure in the demo is invented, and it holds no patient records. The real instance runs on her device only.
Designed for the real habit
She doesn’t fill it in after each surgery.
The obvious design — log it when it happens — describes a workflow that does not exist. She fills sheets weekly, from memory, which is precisely why cases went missing. So backdating had to be the fast path, not the exception.
Sheets get filled weekly
Days are entered in batches, often several at once, days after the fact.
Any date is two taps away, and the app opens on a date you can immediately change.
Forgotten days cost the most
An arithmetic slip is a small error. A missing operating day is a whole day’s fee, and nothing surfaces it.
The calendar marks every day that has entries, so a gap in a working week is visible at a glance.
The paper still has to be filed
The hospital wants its own form, with names and times, regardless of how the total was reached.
Patient details stay optional and separate — filled once, when the paper is filled.
Close
It had to match a month she had already billed.
Before any interface existed, I rebuilt one of her past months from the paper and checked the total against what she had actually claimed. It reproduces to the rupee. That was the condition for building anything else — a billing tool that is approximately right is worse than the arithmetic it replaces, because nobody re-checks it.
Month-end went from a calculation to a transcription of numbers already worked out.
All work