Selected work Theme
Senior Software Engineer  ·  Five Faces / Cloudstaff · Australian government programme  ·  Australia  ·  2020 — 2021

A COVID-19 vaccination system for 5,000,000+ residents

Frontend and live ticker for a government mass-vaccination programme serving 5M+ residents — built for real-time operation where downtime meant physical queues, plus a kiosk flow builder deployed across 100+ hospitals.

5M+
residents served by the programme
100+
hospitals running the kiosk platform
Real-time
live status where downtime = queues

Context

During the COVID-19 vaccination rollout, the public-facing programme needed a live, real-time view of status — and the operational side needed kiosks and audio-video flows configured across a large hospital estate. I built the frontend and the live ticker for the vaccination scheme, and a full-stack, Canva/Illustrator-style flow builder used to author kiosk and AV experiences across more than 100 hospitals.

The hard part

When a status board is wrong or down, the failure isn't a 500 in a log — it's people physically queuing in the wrong place. The system had to be correct under load and degrade gracefully, in real time, during a national emergency, with no tolerance for the kinds of outages most web apps treat as acceptable.

The operational side had its own hard part: 100+ hospitals could not each get bespoke screens shipped by engineers. The configuration had to be authored by non-engineers and changed without a redeploy.

Architecture

REAL-TIME PATHServicesBus + socketsActiveMQ · WSLive tickerpublic status boardAUTHORING PATHFlow builderoperators, not engKiosk + AVconfig, no redeploy100+ hospitals
A real-time path optimised for resilience, and an authoring path that put configuration in operators' hands instead of in the release pipeline.

Key decisions

Design for the failure mode, not the happy path
WhyThe cost of downtime was physical queues, so resilience and graceful degradation were the headline requirement — not a non-functional footnote.
Trade-offMore engineering spent on the unhappy paths and fallbacks than a typical product build would justify.
Ship an authoring tool, not bespoke screens
Why100+ hospitals can't each wait on an engineering release. A flow builder let operators configure kiosks themselves, in real time.
Trade-offBuilding a builder is more work than building screens — you're shipping a small platform, not a feature.

Related writing

On shipping correctly when the clock and the stakes are both real, see Shipping Under Pressure.