GroundTruth · v0.9.4 MVP · Apache 2.0

When the building stops shaking,
what comes next?

GroundTruth turns photos from frightened residents into trust-scored humanitarian intelligence. Every report cross-checked against satellite footprints, event feeds, news, EXIF, perceptual hashes, and reporter history — automatically. Submitted to the UNDP Crisis Mapping Challenge, May 2026.

2.5B
Footprints
indexed
6+
Trust
signals
12 MB
PWA
install
6
UN
languages
Aegean Coastal Earthquake
M6.4 · 38.42°N 27.13°E · 11.2km depth
Live event
Incoming reports
— · 0/min
The 48 hours that change everything

UNDP's brief is the right surface.
The real work is underneath.

We took the challenge specification and asked what it quietly assumes — assumptions that field experience contradicts. Three reframings shape every architectural decision in GroundTruth.

01 — Reframing
The reporter is often a victim.

Existing tools were designed by aid workers for aid workers, then handed to the public. They assume someone has the bandwidth to read a form after a 6.4 earthquake. The first screen we built asks a different question: are you safe right now?

02 — Reframing
Trust is opaque.

Ushahidi accepts everything and asks validators to triage by hand. Rule-based filters reject everything that fails a single signal. Neither is honest. GroundTruth produces a graded 0-100 score from six independent signals, visible to both reporter and validator.

03 — Reframing
Connectivity is brittle, not absent.

Real disasters present intermittent signal — one bar that comes and goes; a tower that survived but is congested. We treat the network as a graph of opportunistic peers, relaying reports over Bluetooth-mesh with a four-hop TTL.

The deliverables

Three surfaces. One backend.
All open source.

A community reporter PWA for residents in affected areas. A validator dashboard for UNDP analysts in operations centres. A mobile experience designed for the worst day of someone's life. Open each demo below.

Trust by triangulation

A score with a paper trail.

No report is "verified" or "rejected" by a single rule. Every submission is scored 0-100 from six independent signals — each one weighted, auditable, and explainable to the reporter before they even submit.

Sample · GT-7K2H-4X1A — Karşıyaka residential
87 / 100 — high trust
EXIF / GPS match
Photo metadata within 12m of submitted point
pass
+18
CV damage classifier agreement
ResNet-50 returns G3 · reporter selected G3 · 0.91 confidence
pass
+22
Event context overlap
USGS M6.4 quake 28 min prior · epicenter 11.4 km away
pass
+20
News / official feed cross-reference
AFAD official feed mentions Karşıyaka damage at 08:38 UTC
pass
+14
Reporter history
4 prior accepted reports · zero rejections in 14 months
pass
+8
Perceptual deduplication
pHash unique against report DB + crisis news image index
pass
+5

The fraud-detection demo.

One of the ten seeded reports in the QA dashboard is a fake — a recycled news photograph from the 2023 Hatay earthquake, submitted with falsified location data. GroundTruth catches it on four independent signals before any human reviewer touches it.

GT-7K2H-4X1A
87 / 100
High trust · accepted
All six signals passing. Reporter trusted. Imagery unique. Recommended for auto-acceptance.
GT-5R2J-6T3Y
23 / 100
Low trust · flagged
EXIF GPS 1,847 km off · CV classifier disputes the claimed grade · no news corroboration · pHash matches 2023 archive imagery.
A medium-trust report is not noise. It is a hypothesis with known weaknesses and known strengths. Our system can request additional evidence — a photo from a verified angle, a utility bill, a signed contact — rather than rejecting outright.
Three innovation pillars

What makes this not just another mapping tool.

The brief asked for crowdsourcing with offline support. We added three structural innovations that no current humanitarian tool delivers at once: pre-submission trust prediction, BLE-mesh relay, and full open-source replicability.

01 — Pillar

Trust prediction before you submit.

The reporter sees the same signal stack the validator will see — but before they tap send. Missing EXIF? They are offered to add another photo with location services on. AI classifier disagrees? They are nudged but never blocked. This single design choice converts contested reports into corroborated ones.

predicted
actual
delta
Mean prediction delta across 10 seed reports: 3 points
02 — Pillar

Reports relay through neighbours.

When the local tower is congested or down, GroundTruth uses Bluetooth Low Energy 5.0 to relay queued reports through nearby devices — four-hop TTL, encrypted payloads, MAC rotation every 15 minutes. Anyone who finds signal carries everyone's data with them.

4-hop · 15min MAC rotation · AES-256-GCM
03 — Pillar

Open by default. Replicable by anyone.

UNDP's open building footprint dataset becomes the spatial backbone. All exports are open formats (GeoJSON, CSV, HXL) compatible with existing humanitarian pipelines. No vendor lock-in, no proprietary classifier. Any partner agency can fork the platform and stand up their own deployment in 48 hours.

UNDP GeoHub footprints · 2.5B+ buildings EMS-98 standardized damage grades HXL 1.2 export with #loc+name tagging OpenStreetMap base tiles Apache 2.0 source · ONNX weights released Whisper.cpp on-device transcription
Engineered to be replicated

The stack is intentionally boring.

Every component is a well-known open-source project with a long maintenance horizon. No exotic dependencies. No vendor lock-in. A UNDP engineer can take this codebase and stand it up on AWS, Azure, GCP, or on-prem inside a working day.

Frontend
  • PWA HTML · TS · Workbox
  • Tailwind v3 via Play CDN
  • Leaflet 1.9.4
  • Geist · Geist Mono fonts
  • IndexedDB offline queue
Mobile
  • React Native Android API 21+
  • react-native-ble-plx BLE 5.0 mesh
  • ONNX Runtime on-device CV
  • Whisper.cpp on-device ASR
  • libsodium E2E encryption
Backend
  • FastAPI Python 3.12
  • PostgreSQL + PostGIS 16
  • Redis queue + RL
  • S3-compatible storage R2 default
  • Kubernetes EKS · AKS · GKE
Data & standards
  • UNDP GeoHub footprints
  • USGS · AFAD · EMSC event feeds
  • HXL 1.2 export tags
  • EMS-98 damage scale
  • ISO 27001 + GDPR aligned
— Three demos · One proposal

Built for the worst day.
Owned by no one.

The codebase is Apache 2.0. Any humanitarian agency — anywhere — can fork GroundTruth and stand up their own deployment by the end of next week. No license fee, no proprietary classifier, no long-term obligation to a single vendor.