Case studies

A single source of truth for rapid emergency needs assessment

A secure, offline-capable platform that takes a multi-sector flood needs assessment from field collection through validation to decision-ready maps, reports and microdata, with one agreed definition behind every figure.

· Humanitarian

The challenge

When a flood hits, the response depends on knowing quickly and reliably which areas are affected or cut off, and which sectors (health, nutrition, child protection, water and sanitation, shelter, education, food security) need urgent action. Pulling that picture together across dozens of local government areas and hundreds of wards, fast enough to act on and consistent enough to put in front of donors, is a hard data problem. The agency wanted one system that could take an assessment from field collection all the way to a decision-ready, fully auditable result.

That standard is exacting, and we held our own build to it. Early on, our quality checks caught two parts of the system applying different rules for which report counted as an area's current one, so a headline total and the underlying question-level total could diverge by dozens of wards. We treat that kind of inconsistency as unacceptable in anything donor-facing, so we resolved it to a single agreed definition before launch.

The approach

We built a secure, role-based platform for rapid multi-sector needs assessment, from field collection through validation to decision-ready outputs. Focal persons complete a structured 74-indicator questionnaire on the web or on a packaged mobile app that works offline. State validators review every submission question by question, returning it with notes until it is correct. Only validated, published data reaches the dashboard, the ward-level maps, the automatically generated analytical report and the analysis-ready microdata.

The centre of the work was making every number agree and every number checkable. One deterministic rule decides an area's current report and is used by every dashboard figure, map and report, tested to give the same answer whatever order records arrive in. Validation runs at entry and again through human review. Work in progress is kept separate from published data throughout, and clearly labelled. Access is scoped by role and geography on the server, so validators see only their own state and raw-data download is restricted to management, and no one approves their own work. Every report also carries a data-quality annex that surfaces contradictions for a person to follow up rather than silently correcting them.

The platform runs as a containerised stack behind a content delivery network with strict TLS and a web application firewall, is backed up nightly and watched by uptime and self-healing monitors, and deploys through an idempotent, self-verifying routine that can roll back cleanly. Field collection is offline-first, with each submission carrying a unique identifier so a retried sync updates the same record rather than creating a duplicate. The analytics engine is pure, database-free code that can be re-run and unit-tested, so any figure or report can be regenerated exactly.

The analysis is descriptive and geospatial, chosen for rapid operational targeting rather than population estimation. Figures are shares of reporting areas with the denominator always shown, small samples are flagged, and areas with no report are shown as not assessed rather than as zero.

What was built

  • A secure, role-based web platform and an offline-capable mobile app from one codebase
  • A structured multi-sector questionnaire with validation, skip logic and area-scoped pickers
  • A question-by-question validation and publishing workflow, with official and work-in-progress data kept separate
  • Ward-level interactive maps built from official boundaries, with figures that reconcile across every output
  • An automatically generated analytical report and analysis-ready microdata exports
  • A data-quality annex surfacing contradictions for human follow-up

The outcome

After reconciliation, every figure across the dashboard, maps, report and microdata uses one definition and agrees. Coordinators can see which areas have not reported and which submissions are stuck and with whom, and management can produce a designed report and labelled microdata directly from the system.

Humanitarian decisions are only as good as the data beneath them. This platform shows what a rigorous data partner delivers: one agreed definition for every number, validation and human review before anything is published, least-privilege access, a full audit trail, and offline field collection that does not break under real conditions.

PythonDjangoTypeScriptReact

Have something similar in mind?

Describe the problem and we will tell you honestly whether we can help.

Start a project