Danger Alert
Community safety app, proximity alerts and hospital/police routing.
A working community-safety app: report a danger zone, warn everyone in the radius in real time, and route help to the people who need it. GitHub Actions builds the debug APK, the signed release APK, and the Play Store AAB on every run, so a release is a pipeline run rather than a manual build.
A community danger-zone reporting and verification app with proximity alerts, live-location circles, and routing to the nearest hospital or police station. Shipped two ways: a Flutter client, and a Next.js PWA packaged into a signed Android app with Capacitor, with the APK and Play Store AAB built and signed by GitHub Actions.
Problem
In a lot of Dhaka, there’s no fast way to warn people nearby about an unfolding danger, a mugging, an accident, a fire, or to point someone to the nearest hospital or police station when seconds matter.
Constraint
Location alerts are only useful if they’re both fast and trustworthy, a flood of fake or stale reports is worse than none, and it all had to run on a normal phone with spotty mobile data.
Decision
Built a Flutter app over a Node/Socket.io realtime backend with PostGIS geo-queries: reports are verified by nearby users before they escalate, alerts fan out only to people inside a live proximity radius, and routing points to the closest hospital or police station. The second client is a Next.js PWA wrapped with Capacitor, so one web codebase ships as an installable app with native geolocation, motion, and network access, and CapacitorHttp bypasses WebView CORS.
Tradeoff
Requiring community verification adds a short delay before an alert spreads, a deliberate cost, but it’s the only thing that keeps the signal trustworthy instead of a panic feed. Shipping a WebView-based client instead of going Flutter-only trades a little native polish for one codebase that updates over the web.
Result
A working community-safety app: report a danger zone, warn everyone in the radius in real time, and route help to the people who need it. GitHub Actions builds the debug APK, the signed release APK, and the Play Store AAB on every run, so a release is a pipeline run rather than a manual build.