Project aim
Give flood-prone Accra communities an early warning that combines what ground sensors see first with what satellites see best, and deliver it on the channels people already use.
- 10Spatial data models
- 5Delivery phases complete
- 2Satellite missions fused
- 2Alert channels
Illustrative graphic
Overview
Flood Watch Ghana is a complete early-warning backend. Low-cost ESP32 water-level and rain gauges stream readings over MQTT; scheduled Sentinel-1 and Sentinel-2 processing maps flood extent; and a rules engine turns both into alerts sent by WhatsApp and SMS, while a live dashboard updates over WebSockets.
The challenge
Flash floods develop faster than manual reporting can follow. Point gauges react within minutes but only describe one location, while satellite imagery shows extent but arrives on an orbit schedule and, for optical sensors, only through gaps in cloud. A useful system has to fuse both, decide when a reading is worth an alert, and reach people who may only have a basic phone.
Data & inputs
Approach
-
01
Sensor ingestion
ESP32 water-level and rain gauges publish readings over MQTT; the backend ingests, timestamps and stores them against their gauge locations.
-
02
Spatial data model
A Django + PostGIS backend with 10 spatial data models holds gauges, readings, flood layers and alert history so every alert can be traced to the data behind it.
-
03
Satellite flood detection
Celery schedules Sentinel-1 (radar, cloud-independent) and Sentinel-2 (optical) flood detection runs and writes the resulting extents back into PostGIS.
-
04
Rules engine & alerts
Configurable rules evaluate gauge thresholds and detected extents, then send community alerts through Twilio WhatsApp and SMS.
-
05
Live dashboard
WebSocket updates push new readings and alerts to the dashboard as they arrive, without polling.
Results
All five planned delivery phases are complete. The system runs in Docker, and each phase shipped with its own automated tests, so new rules or sensors can be added without breaking earlier behaviour.
Validation
Automated tests cover each delivery phase, from MQTT ingestion through to alert dispatch.