All software

Soteria

A dispatch dashboard for Hong Kong that finds trained volunteers close enough to reach an emergency before the ambulance does, and lets the operator call them.

When
June 2026
Type
Team of 3, EuroTech × HKTE Hackathon, Munich
Stack
React, TypeScript, Mapbox, Express, Twilio
Links
Code, what was mocked
The Soteria operator dashboard at night: an assault incident in Kowloon on a 3D map, red rings marking the area, a police route and ETA of 6:47, and a ranked list of nearby volunteers on the right, each with walking time and a call button.
The operator view for one incident. Police are 6:47 away by road; the top-ranked volunteer is about eight minutes away on foot, with his walking route drawn on the map.

Problem

In a dense city, the first minutes after an emergency often decide the outcome, and an ambulance can be stuck in traffic while someone with first-aid training is a short walk away. Ambulance, police and fire services stay in charge. Soteria gives the operator a way to find those nearby people, judge whether they would actually arrive first, and contact them in a recorded workflow.

What I built

The operator dashboard: the map, the incident and dispatch logic, the volunteer recommender and the routing. Teammates built the volunteer registration app and its SMS verification.

  • The recommender scores each volunteer as 70% proximity and 30% credential relevance to the incident type, and returns the top ten within 10 km.
  • Proximity is the walking route distance from the Mapbox Directions API, with a straight-line fallback. Emergency vehicles get driving routes, animated along the road with a live ETA.
  • Selecting an incident shows its type, address, caller and dispatched units next to the ranked volunteers, so the two arrival times can be compared on one screen.
  • The call flow runs from ringing to a recorded answer, and the operator marks each volunteer as helping or declined.

The question on screen is not who is closest. It is who gets there before the ambulance.

What was mocked

The hackathon required a disclosure file, and ours lists every shortcut. Incidents, vehicle positions and the pool of about 7,000 volunteers are generated, because there was no access to Hong Kong's real dispatch feed. Calls to volunteers are simulated, and the dashboard and the registration app are not yet connected. The routing, the scoring and the map run on real Mapbox data.