Krishna Doshi

Work

About

Play

Status

Practicing magic

STEMconnect: Designing for the people who decide where an ambulance goes next

Client

SDSI

Year

2025

Status

Live

Skills

Product design

UX research

Design system

Interaction design

Tablet design

Role

Individual Contributor, SDSI, for the NewGen Matrix programme, NSW Health

Scope

Owned UX, UI, design system, and delivery end-to-end across two phases: discovery, building smaller frameworks for each phase's challenges, design system for both tablet and mobile, through to delivery of dark and light mode. Supervisor View shipped first, Hospital Recommendation followed

Overview

A $15.1M NSW Government–funded upgrade to the statewide ambulance allocation system in Australia, built with input from 1,000+ stakeholders. I designed two modules inside STEMconnect: real-time oversight for field supervisors, and the hospital-recommendation flow used on every patient contact statewide.

The two phases, at a glance

Both shipped as independent contributor work: research through delivery, no handoffs between roles. Supervisor View was completed first; Hospital Recommendation followed.

Phase 1: Supervisor View

Concept diagram

What the supervisor was up against

No visibility once they left the station. A supervisor's job is to react fast when something goes wrong: a vehicle off-route, a paramedic in trouble. But they had no way to see any of that remotely. Checking on their zone meant going back to a station to look at desktop CAD, which didn't even separate vehicles from incidents.

Only radio outside the station. That was the full toolkit: slow, scattered, and not visual at all. Not enough to judge something like "is this incident serious enough that I should drive there myself."

Insight: the supervisor's whole job is reacting to the abnormal, but they had no way to spot the abnormal remotely. That changed the brief from "build a dashboard" to "build a dashboard that surfaces problems automatically."

What the supervisor can and can't do

Supervisors can assign an incident to themselves, but they can't assign any other vehicle to one. That stays with CAD. Keeping this boundary in place avoided building a second dispatch system nobody asked for, and kept the supervisor's tools matched to their actual responsibilities.

Building a design system from nothing

STEMconnect, the app this module lives inside, had no design system at all. It was built and shipped without one. So this phase meant working backwards from a live, undocumented app to figure out its visual language, then extending that to a new device (tablet) and a new user type (supervisor) so it didn't feel bolted on.

Tablet and mobile design system for dark and light theme

Decisions I cut or merged, and why

  • Disposition field showed up on every vehicle status at first. I removed it everywhere except Cancel, that's the only place it actually matters.

  • ParaSafe alerts had their own separate section. I merged it into the same Status Change list as everything else: two separate alert lists was one too many.

  • History was vague: status history? shift history? incident history? I turned it into one simple timeline, reused everywhere it's needed.

Information architecture of the supervisor flow

One pattern, used for two different things

Vehicles and Incidents both use the same interaction pattern: drill-down filtering (Jurisdiction, Division, Battalion/Station), map clustering that splits apart as you zoom in, and floating detail views for quick access. One pattern, two use cases, instead of building two separate systems.

There were colour codes for statuses, and the colours for statuses differ per client company (agency).

The filter system was the most-used flow in research: a four-tier multi-select (All / Selected / Favourites, indeterminate checkboxes, live counter) built specifically for the four-level org hierarchy.

Filtering system for the map and panel interaction. (status colors are something we cant control)

The safety-critical moment

A vehicle that's stopped somewhere with no explanation. The Duress system shows this as a hard-interrupt alert: vehicle ID, time stopped, location, so the supervisor can quickly decide to send backup or go there themselves.

Duress banner alert

Skipped, and what we did instead

  • In-app messaging: kept radio as the main way to contact crews (research confirmed coordination stays on radio)

  • Full dispatch authority: self-assignment only (keeps CAD as the single source of truth)

Proof points

  • 23 screen states mapped across 4 hierarchy levels for the Vehicles flow alone

  • First design system tokens built for STEMconnect on tablet, extending a mobile-only app that had no system before

  • Org scale designed for: up to 3 Divisions, multiple Battalions each, with performance handling specifically built for the full-Jurisdiction view

Phase 2: Hospital Recommendation

The stakes

This flow decides where an ambulance takes a patient, statewide, on every single call. It's part of NewGen Matrix, the NSW Health programme behind the funding and stakeholder numbers above.

Who they are

A paramedic on scene, often gloved, frequently interrupted, working to a 5 to 15 second target before a destination decision is expected. They hold full clinical authority; the system can only suggest, never decide for them. What they need is simple to say and hard to build: a fast, trustworthy answer, with a real way to override it when their own judgement says otherwise.

What was broken

The old flow was five linear multiple-choice screens with no branching and no way to go back.

Older flow with no hospital recommendation

Categories overlapped with each other. "Cardiac," "Stroke/TIA," and "Trauma" showed up in two different steps of the same flow, with no clear rule for which one to pick.

No live data behind the recommendation, just a static list. Four hospitals, ranked by distance only: no ED capacity, no threshold, no real-time status. A paramedic could be sent to an overloaded ED with no warning at all.

No referral-pathway option. Every patient was sent toward an ED, whether they needed one or not. That's the exact problem NewGen Matrix was funded to fix.

No way out. If none of the four options were right, there was no override, no search, and no record of why a paramedic chose something different. A patient with a known specialist at another hospital, or one whose insurance only covered certain facilities, had no way to be routed accordingly.

The fix, one decision at a time

These are the four highest-stakes fixes, explained in full. The rest are listed further down.

1. A real clinical taxonomy, not an overlapping list Adopted and extended NewGen Matrix's own Business Rules model: Age, Branch, Subcategory, Infectious status, with one clear level of detail at each step.

2. Recommendations backed by live data The facility list now pulls ETA, Pre-TOC, PTT, and Threshold live from the Statewide Operational Data Store, instead of a static list.

3. A real way out: Referral Pathways and Override A parallel referral system (browse by LHD, smart pathway-matching, per-facility Eligibility Criteria) keeps patients out of EDs when they don't need one. When an override is needed, Universal Search combines ED, Referral, and Special Destinations into one search, so the paramedic doesn't need to know the category first.

4. Plain-language reasoning, every time a rule is broken Each broken rule gets its own clear sentence at the moment of decision, like "Liverpool Hospital is currently OVER their set threshold." Not a colour code: an actual reason.

Everything else, in brief

  • Age step added: drives which facilities and categories are even eligible later in the flow

  • Two separate timers: a 5-minute stale-data refresh and a 2-minute cooling-off period, solving two opposite problems (outdated data vs. unnecessary reloading) instead of using one timer for both

  • Override reason auto-filled as "No Matrix Options Provided" when the system itself returns nothing: keeps the record accurate without making the paramedic explain a gap that wasn't their fault

  • Three separate closing paths (Transport / Referred–No Transport / Cancel), each using real NSW Ambulance disposition codes

  • Multiload handling: the primary patient drives the recommendation, with a clear pop-up when a second patient's needs are different, instead of the system silently deciding for them

  • Universal Search used throughout: the same search pattern from override is available anywhere a facility needs to be found, not just during override

  • Patient details visible and editable at every step: no need to start over after a misclick or a changed detail

  • Edge-case taxonomy: a hospital can support a clinical category on paper but not in practice, like a CT scanner only staffed from 6pm to 8am. Scoped as future work with a labelling system like CT_AVAILABLE=false

Version 1 IA with NSW estimated features, hypothesis, audit IA questions and answers

Proof points

  • 5 to 6 rigid steps, now a live branching flow with referral diversion, override, and three closing paths

  • 5-second / 15-second response targets for critical vs. standard acuity: a hard requirement from the source document that shaped every routing decision

  • Zero live data sources, now four (ETA, Pre-TOC, PTT, Threshold), pulled directly from the Statewide Operational Data Store

  • Zero staleness handling, now two purpose-built timers, each solving a different failure mode

Reflection

Both phases came down to the same thing, even though the problems looked nothing alike: find where the system stayed silent (no reasoning, no way out, no record of decisions) and fix that, not just the screens that looked outdated.

What I'd still defend: keeping override fast, even for safety-critical flags, instead of adding an extra step that slows a paramedic down at the worst possible moment.

What I'd reconsider: the "technically available but not actually usable" hospital problem is real and still unsolved beyond a labelling proposal. I'd push to get it built as a tracked data field earlier, instead of leaving it as a known gap for later.

Built light and dark theme both. Map interaction for incidents and vehicles also can be seen here.

Built responsive screens for mobile as well as tablet in both the modes

Other Projects.

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the.

Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem ;)

PREV

NEXT

Lorem Ipsum lorem ipsum

Page

Work

Play

About

Say Hi!

Resume

Linkedin

Email

Krishna Doshi