One report's journey, end to end
Three taps from rubble to record
Photo, damage tier, send. An on-device neural network reads the photo and suggests the tier before the reporter has to think about taxonomy — it runs locally, so it works in a blackout.
- On-device AI damage classification — no network required
- Photos are EXIF-stripped and faces blurred before anything leaves the phone
- Reports snap to the actual building footprint, not a fuzzy street point
Zero bars is the normal case, not the edge case
Cell towers fall with the buildings. Beacon pre-downloads the map of your area (18 MB), locates you with offline Plus Codes, and writes every report to a durable on-disk outbox that survives app restarts and dead batteries.
- Offline map pack follows your location — downloaded before or during the crisis
- Reports queue on disk, not in memory — restart-proof
- Plus Codes give a shareable address when street signs are gone
When one bar returns, the record catches up
The outbox flushes automatically on reconnect. Submits are idempotent, so retries can never double-count a building — and if two neighbours report the same damage, the server rejects the duplicate and folds it into one versioned record instead of inflating the count.
- Automatic background sync on reconnect
- Server-side spatial dedup — agreement raises confidence, not the count
- 198 submissions/s sustained on a single small instance (p95 215 ms)
Crowdsourced does not mean unverified
Every report pins to a building and versions over time — the damage timeline shows a structure deteriorating across reports. Field validators and UNDP analysts confirm from the console; reporters stay anonymous yet keep full control of their own data.
- Per-building version timeline — damage tracked across reports
- Anonymous by design: no name, phone number or account
- Withdraw erases your report from the server — true data-subject erasure
comes from the people
standing in it

