Every feature, and how it actually moves

One button, and
five things move at once.

Pressing SOS starts five separate machines: deciding what is wrong, deciding how urgent it is, choosing a hospital, telling that hospital, and moving the people who need to move. This page takes each one apart.

One record, four places, under a minute
PATIENTSOSHOSPITALER BOARDCARE CIRCLELIVE MAPDRIVERTURN-BY-TURN

The record reaches all four places from one press · solid lines are pushed automatically, dashed is on demand

01 / Emergency triagewhat is wrong

It decides before it asks anyone's permission — or their network.

Say what is happening, or tap a type. The classifier runs on the phone, so a basement, a lift or a rural road makes no difference. The cloud model is a fallback for genuinely ambiguous phrasing, never a dependency.

Triage — the cloud is optional, not on the path
TRIAGE MODEL94 KB · 0.07 msRISK SCORERCLOUD LLMONLY IF UNSURE

The model sits inside the app · the cloud link is dashed because it is optional

The decision path
YES · 61%NO · 39%OFFLINEANSWERSOS pressedvoice or tapOn-device triage0.07 ms · offlineConfident?threshold 0.40Dispatchhospital chosenAsk cloud model3.5 s timeoutBest on-device guessnever dead-end
Time to a decision — measured
On-device0.11 ms

no network involved

Cloud model155 ms

plus whatever the signal costs

Bars are linear — the on-device bar is not a rounding error, it is 1,400× shorter

Where emergencies get settled
61%ON DEVICE

Settled instantly, offline, with no errors on the held-out evaluation. The other 39% are the ambiguous phrasings, and those go to the cloud model — which is better at exactly those.

Accuracy — including where we lose
Llama 3.1 8B (cloud)96.4%

more accurate than ours on raw classification

Relay, on-device85.7%

every case it got wrong, it abstained on instead of guessing

Relay, when confident100%

the 61% it chooses to answer

28 phrasings the model had never seen · the point is not beating an 8B model, it is knowing when to stay quiet

02 / Hospital dispatchwhere to go

The closest hospital is often the one that will cost you the most time.

A heart attack needs a catheterisation lab. The emergency room four minutes away that will stabilise you and then arrange a transfer has just spent the only minutes that mattered. So distance is the input we weigh least.

Dispatch — the nearest is not the chosen one
YOU4 MIN · NO CATH LAB11 MIN · CATH LAB ✓DIVERTING

Solid line is the route taken · dashed is the nearer hospital that was rejected for having no cath lab

How a hospital gets chosen
YESCandidatesall nearby facilitiesReal drive timeone matrix callTrafficlive, or time-of-dayCapabilitycath / stroke / traumaAccepting?diversion statusRankedbest first
A worked example — same three hospitals, two ways of ranking
Nearest · no cath lab4 min

ranked first by distance — then transfers you, and the clock keeps running

Chosen · cath lab, accepting11 min

ranked first by us: 7 minutes further, and definitive treatment on arrival

Third · diverting9 min

closer than the choice, but reported it is not accepting

Illustrative arrangement · the ETAs come from real road-network routing, the capability and diversion flags from what a partner facility reports

03 / Deterioration riskhow urgent

It watches the slope, not just the reading.

Log vitals and the score is arithmetic on published thresholds — the vital-sign subscores of NEWS2, the early-warning score used in hospitals to catch deterioration before it becomes an emergency. Same numbers in, same flag out, every time, with every point traced to the reading that produced it.

Escalation as the score climbs
LOW 0–4MEDIUM 5–6HIGH 7+035712CONSECUTIVE READINGSNEWS2 AGGREGATE

Synthetic patient, real thresholds — the bands are NEWS2's published escalation bands, the curve is illustrative

What each vital can contribute
Respiratory rateup to +3

≤8 or ≥25 scores 3

Oxygen saturationup to +3

≤91% scores 3

Systolic BPup to +3

≤90 or ≥220 scores 3

Pulseup to +3

≤40 or ≥131 scores 3

Any single parameter scoring 3 escalates on its own, even with a low total

Two layers, one validated
CANNOT REACH HIGHVitals loggedPartial NEWS2validatedPersonal baselineheuristicLevel + reasons

The unvalidated layer can raise low to medium and never to high — enforced by a test

Stated on every alert

NEWS2 has seven parameters and Relay now captures all seven — but only when you record them. When any are missing the score reports itself as partial and names what is absent. A phone cannot always take your temperature, assess your consciousness level, or know whether you are on supplemental oxygen. A partial score can only ever under-estimate risk, which makes it safe as a reason to seek care and unsafe as a reason not to. Decision support, not a diagnosis.

04 / The relaywho else moves

An emergency is never one person's problem.

The moment SOS fires, a shared room opens. Family see live location and the same countdown. A bystander can take over if you stop responding. If a partner hospital is connected, their emergency board has your blood type, allergies and medications before the car moves — and the app only claims “the ER is expecting you” when a real facility actually acknowledged.

What fires, and in what order
ESCALATESSOSt = 0sRelay room opensrealtime, sharedER board alertedprofile sent aheadCare circle notifiedpush + live mapRide dispatchedturn-by-turn in appGuardian watchif you go quiet
05 / Navigationgetting there

Bouncing someone into a map app loses the emergency.

The second a panicking family member leaves for another application, the hospital briefing, the arrival estimate and the shared room stop travelling with them. So turn-by-turn is built in — vector tiles, a chase camera, snap-to-route, a wake lock so the screen never dies at a junction, and a night mode.

The navigation loop, every GPS tick
YESNORETRYGPS fixevery ~1sSnap to routewindowed searchMatch good?Advance stepcamera + voiceFull re-scanafter a GPS jump

The full re-scan branch exists because of a real bug — a windowed-only search silently latched onto the wrong part of the line after a GPS jump and under-reported distance by half

None of it works if it isn't set up before you need it.

A few minutes now is what makes every machine on this page do something useful at 3am.