Mobile field app · iOS + Android

Built for the first responder who is a neighbour.

Operational, offline-first, low-bandwidth. A 12 MB install that runs on a 2019 phone in a basement, finishes a verified damage report in under ninety seconds, and never asks for your name.

Works offline 14 days12 MB installVoice-first optionPseudonymous7 languagesPWA + native wrappers
current screenHome
09:41
86
Iziar Oblast · You are here

Hello, neighbour.

Three official sources flagged your district overnight.

AIR-RAID ALERT · ended 3 d ago
Iziar Oblast · 1 h 26 m active window
alarm.in.ua · alarm.in.ua cross-feed
GDACS impactORANGE
Copernicus EMSACTIVE
News cluster14 src
past 72 h
Air-raid alertalarm.in.ua
3 d ago
Shelling reportednational-emergency-dispatch
4 d ago
Air-raid alertalarm.in.ua
4 d ago
Air-raid alertalarm.in.ua
6 d ago
iPhone 15 · 390 × 844 logical · scaled for demo
Native wrappers via Capacitor target iOS 16+ and Android 9+ stores. The same code runs as a PWA, installable in one tap.
01

Open and ground yourself.

We pull live air-raid alerts, GDACS official impact polygons, and Copernicus EMS damage maps before you do anything. Your context is already on screen.

Cold-start solved — the map is alive from second zero.RESEARCH · Problem 3.6 · empty-map cold start
phone screen · Home
02

Capture without thinking.

One shutter. Auto-focus on structural surfaces. If your hands are shaking, switch to voice — Whisper transcribes on-device in any of seven languages.

12 MB install · works at 2G speeds.RESEARCH · Problem 3.4 · vulnerable reporters
phone screen · Camera
03

We find the building, you confirm.

EXIF GPS + Overture Maps footprints (offline-cached) match your photo to a specific structure. You tap to confirm — never to type an address.

Building match in 1 tap.RESEARCH · Problem 3.1 · same building, two damage levels
phone screen · Building map
04

Or describe it the way you would to a friend.

No GPS? No landmark you can pin? Type what you remember — 'tall 9-storey, third from the corner with Sobornyi.' On-device language model returns 3 candidates ranked by confidence.

Free-text matching with offline LLM.RESEARCH · Problem 3.4 · vulnerable reporters
phone screen · Landmark
05

Grade by photo, not by terminology.

Five EMS-98 grades shown as plain cards. AI suggests the most likely match. Need a second opinion? 'Show me examples first' opens a side-scroll of reference photos so you compare visually.

Zero engineering jargon required.RESEARCH · Problem 3.4 · vulnerable reporters
phone screen · Grade
06

Submit, queue, sync — invisible.

Online? AES-256-GCM, Ed25519-signed, gone in 1.8 s. Offline? Reports queue locally with Workbox BackgroundSync. When connection returns, they sync sequentially without your input.

Tap the offline switch above the phone to see it work.RESEARCH · Problem 3.6 · low-connectivity zones
phone screen · Submit / Queue
07

Your identity stays yours.

An Ed25519 key pair lives only on your device. We never see your phone number, email, name, or face. For at-risk regions, one tap wipes the key forever.

k-anonymity threshold ≥ 5 reporters before any public map renders.RESEARCH · Problem 3.7 · privacy vs verifiable identity
phone screen · Identity
Stack

Engineering, in the open.

Boring, testable, MIT-licensed. The mobile binary is a thin shell around the PWA — same code, three stores.

iOS 16+ Android 9+
  • Distribution
    Installable PWA — A2HS in 1 tap
    No app store required for emergencies. Add-to-Home-Screen drops a real icon.
  • Native wrappers
    Capacitor for iOS / Android stores
    Same React codebase. Native camera, push, background sync surfaced through Capacitor plugins.
  • Storage
    IndexedDB / SQLite via Dexie
    Up to 250 MB per device. Encrypted volume. Queue auto-trims after 30 days.
  • Sync engine
    Workbox BackgroundSync queue
    Retries every minute while offline. Exponential back-off. Conflict-free append-only schema.
  • Encryption
    AES-256-GCM at rest · TLS 1.3 in transit
    Per-device key derived via PBKDF2 from a passphrase-less device entropy seed.
  • Identity
    Ed25519 keypair, device-bound, no server
    We never see your phone number, email, name, or face. k-anonymity threshold 5.
Footprint

Built for phones that have already been through hell.

App size
12.4MB
Stripped + tree-shaken
Cold start
380ms
Snapdragon 7 Gen 3
Battery cost
< 0.4%/h
Idle, listening for alerts
Offline duration
14days
Cached tiles + queue
Median submit
1.8s
Verified report → server
Sustained 2G
12 kbpsmin
Slowest field-tested link

Benchmarked on a Pixel 4a · Android 13 with 2G throttling enabled. The app gracefully degrades — voice mode, photo capture, and the queue all work without any network at all.