Overview
BEACON / Mobile PWA
PWA installable

Field interface · Anonymous reporter

A reporter app that
works without signal.

Captures damage, classifies severity, runs a credibility check on-device, and queues the packet to disk if there is no network. The whole flow takes ~28s. Open this page on a phone to install it as a real PWA.

Stack HTML · CSS · Vanilla JS · Service Worker
Offline IndexedDB · Background Sync
Languages EN · ES · FR · AR · ZH · RU · MY
Device iPhone 15 · 390 × 844
Manifest manifest.webmanifest
SW cache beacon-v1
Theme #E94B1B

Screen reel · 7 views

Every screen built for one-thumb operation

01 / Installable

Real PWA, not a wrapper

Open this URL on iOS or Android, hit "Add to Home Screen", and the icon launches the app fullscreen with the BEACON splash, no browser chrome. Manifest declares display: standalone, theme #E94B1B, scoped to ./.

02 / Offline-first

App shell cached, reports queued

The service worker uses a cache-first strategy for the shell (HTML/CSS/JS) and a network-with-fallback strategy for everything else. Reports written while offline live in IndexedDB and replay through Background Sync when connectivity returns.

03 / Privacy

EXIF stripped after AI sees it

On submit, the client extracts geomatch coordinates for the credibility score, then strips all EXIF before upload. Faces and license plates are redacted client-side via a small WASM model. Nothing PII leaves the device.