Public-safety live video platform with geofenced incident routing
A live video platform that lets a member of the public open a recorded, two-way video session from their phone, routes it by geofenced coverage area to the responsible emergency response agency, and preserves the recording into storage the agency controls — delivered as native iOS and Android apps, a browser-based responder console, and a Laravel API behind them.
A person recording an unsafe situation on their own phone produces a file that stays on that device — invisible to anyone who could help, and lost if the device is taken, damaged or dies. On the other side, agencies had no way to receive live citizen video scoped to their own area of responsibility, since jurisdiction is a shape on a map and does not follow locality names. Sessions also end badly by default in this product: devices get taken, batteries die, apps get force-closed, and finalisation could not depend on the client behaving correctly.
Kept the application out of the media path entirely — the backend mints short-lived, room-scoped access credentials and configures server-side recording rules, while media flows directly between participants and hosted real-time video infrastructure, so the platform scales with sessions created rather than minutes streamed. Made session finalisation reachable from three independent directions: the client's own status update, the video provider's room-ended webhook, and a scheduled reconciliation sweep that finds completed sessions with no recording and generates one; on Android, removing the app from recents also finalises the session rather than orphaning it.
Coverage is resolved geometrically: administrators draw coverage areas as polygons on a map, and at session start the device's coordinates are reverse geocoded and tested for containment, with overlapping coverage surfaced as a choice to the user rather than picked arbitrarily. Each coverage area can be configured with its own object-storage destination and credentials, so recordings land in storage the responsible agency controls rather than a single shared bucket. Built the mobile clients natively on both platforms for explicit codec control, background lifecycle handling and screen capture, and added a subscription-gated personal-safety module with SMS alerting to independently verified trusted contacts.
Video leaves the device in real time and survives whatever happens to the phone that captured it. Incidents reach the agency responsible for that location by geometry rather than place name, responders are alerted by SMS rather than expected to watch an empty console, and recordings are preserved into storage each agency controls. Sessions that end abnormally — which in this product is the normal case — still produce evidence, because finalisation never depends on any single component behaving correctly.
Something holding you back?
New build, rebuild, or adding AI to what you already have — I'll take a look and give you an honest perspective.