Back to Built
LiveWebsitesTraining tools20262 days to build

Handover

A phone-first ward job list that hands the whole thing over in one scan. Add jobs by ward and bed as you go, then pass the list to the next shift by QR code — nothing retyped, nothing lost.

The ward job list usually lives on a folded sheet of paper that gets lost, rewritten at every handover, and can't remind you of anything. I wanted the list to carry itself to the next shift instead.

ReactViteTailwind CSSPWAVercel

What it is

Handover is a phone-first web app for the running list of jobs every ward clinician carries through a shift — chase these bloods, consent that patient, review a CTG at 10:00. It does what the folded sheet of paper does, but better, and it hands the whole list to the next person in a single scan.

You add jobs as you go, tagged to a ward and bed and marked routine or urgent, with an optional reminder. You can walk the ward bed by bed or see everything on one flat list. At the end of the shift you pick which jobs to pass on, generate a QR code or link, and whoever's taking over scans it, reviews each job, and it lands on their list. Nothing gets retyped.

What I built

Everything a job list needs to survive a shift and cross a handover — running entirely on the phone in your pocket.

  • Capture jobs by ward and bed in a couple of taps, marked routine or urgent
  • Walk the ward bed by bed, or view everything on one flat list
  • Flexible ward layouts — bays and beds as letters or numbers, side rooms, named rooms
  • Reminders with a due banner and a notification centre: +30m, +1h, +2h, or a custom time
  • Hand over by QR code or shareable link — choose which jobs to pass on and filter by ward
  • Take over by scanning or pasting a link, with a review step before anything merges onto your list
  • Swipe to delete with undo, dark mode, installable to the home screen, and fully offline

Why I built it

The ward job list is one of the most important documents in the hospital and one of the least designed. It lives on a folded sheet of paper that gets lost, rewritten from scratch at every handover, and can't remind you of anything. At the shift change it gets read out and copied down — which is exactly where jobs fall through.

I wanted the list to carry itself. Add a job once and have it follow the patient to whoever's on next, without anyone retyping it at 8pm when everyone just wants to go home. The scan-to-hand-over was the whole point: the moment the list moves between people is the moment things get dropped, so I made that moment a single action.

Built privacy-first

There is no account, no cloud, no analytics, and no backend at all. The data lives on your phone and never leaves it — except inside the handover code you choose to share.

That constraint shaped the app. Because a handover code could in theory be seen by someone it wasn't meant for, Handover deliberately steers you toward non-identifying clinical shorthand and toward showing the code in person rather than sending it anywhere. Privacy isn't a setting bolted on the side; it's the reason there's no server to begin with.

Stack

React, Vite, and Tailwind CSS, built as an installable PWA with offline service-worker caching. QR generation and scanning both run in the browser. There is no server and no database — it is client-only by design.

Being backend-free is the feature, not a shortcut. It's what makes the privacy promise real, keeps the app fast and installable, and means it works in the parts of the hospital where the WiFi doesn't.