RIPPLE

Real-time Inland Pollution Pattern Learning and Evaluation

PythonAnomaly DetectionData FusionStreaming PipelinesGeospatial

Architecture

RIPPLE architecture diagram

Case Study

The problem

Freshwater pollution events in England are detected slowly and inconsistently. Regulatory monitoring is sparse and periodic, sensor networks cover only some catchments, and citizen reports are noisy and unverified. Each stream alone misses events the others see — by the time an event is confirmed, the damage is often done.

The approach

RIPPLE fuses the three streams into a single near-real-time detection pipeline:

  • Regulatory data — Environment Agency water-quality records, the authoritative but slow baseline.
  • Sensor streams — continuous in-situ measurements where networks exist, fast but patchy.
  • Citizen reports — wide coverage and early signals, weighted by reliability rather than trusted blindly.

An anomaly-detection layer learns per-catchment baselines of normal behaviour and flags deviations, with data fusion letting weak agreeing signals across streams escalate into an alert that no single stream would justify alone.

Why it matters

The aim is to shrink the gap between a pollution event happening and someone trustworthy knowing about it — turning fragmented public data into actionable environmental intelligence. It is also the project where I am pushing my data-engineering skills hardest: ingestion, validation and fusion of heterogeneous streams matter as much as the detection model itself.

Status

In active development through 2026 — the repository tracks the pipeline as it grows. A detailed write-up with detection benchmarks will follow on the blog once the evaluation framework is complete.

← All projects