Personal safetyMobileBackendPayments

SOS Button

One tap: an emergency report, coordinates to trusted contacts and camera video

SOS Button

What it gave the business

The client got a working emergency channel rather than an app: one tap fires three independent paths at once, so if one fails the signal still leaves through the other two.

The problem

A person in danger has no time to choose between calling, texting and hitting record. The app had to do all three from a single tap.

My role

Everything from the first screen to the server: mobile app, database and server logic, payments, deployment, domain.

What was built

  • Phone sign-in: a one-time code through an SMS gateway wired into auth with a dedicated hook
  • SOS flow: an emergency report carrying the statement text, coordinates and a video link
  • In parallel: SMS to trusted contacts with coordinates and a short link, plus an event row in the database
  • Front-camera video in storage behind signed URLs: 14 days, or kept forever if it was part of an SOS
  • Subscription with recurring charges, tiers and promo codes
SOS tapEmergency servicestatement, coordinates, linkTrusted contactsSMS with coordinatesStoragevideo behind a signed URLDatabaseSOS eventSelf-hosted by mePostgreSQL, auth, storage, edge functions

The engineering core

The infrastructure runs on an own server instead of a rented cloud: PostgreSQL with triggers and functions, auth with an SMS-gateway hook, storage behind signed URLs, Deno edge functions, own domain. Every node was built for a scenario where failure is not an option — which is why the signal has three independent paths.

Stack

FlutterSupabase (self-hosted)PostgreSQLDenoTypeScript

Integrations

CloudPaymentsSMSC.ru

Tell me about your project

I will tell you how long it takes and what it costs before any work starts. If it is not my kind of task, I will say so right away and point you elsewhere if I can.

Message on Telegram
Next case
Subscription VPN
→