Most environmental monitoring workflows we've seen follow the same pattern: pull satellite imagery on a schedule, have someone review it, write up findings. It works, but it has a structural blind spot - the interval between reviews. A forest can lose significant cover in the gap between one scheduled check and the next, and nobody finds out until the damage is already done.

Forest Watch started from a simple question: what if the review interval was hours instead of weeks?

The problem with periodic review

The team we built this for was already doing good work - the analysis methodology was solid, the imagery sources were reliable. The bottleneck was entirely about cadence. Every review cycle started from scratch: pull the latest imagery, compare it manually against what was previously known, write up what changed. There was no persistent record of change over time, just a series of disconnected snapshots.

That meant two things were always true: detection lagged reality by however long the review cycle was, and nobody could easily answer "when exactly did this clearing start" without digging back through old reports.

Building the pipeline

We split the system into two halves that run independently: an ingestion and change-detection pipeline, and a dashboard that visualizes what the pipeline finds.

Ingestion pulls new satellite imagery on a recurring schedule rather than on demand. Each new pass gets compared against a stored historical baseline for that region using standard change-detection techniques - looking for shifts in vegetation indices that indicate cover loss rather than seasonal variation or cloud interference.

Storage matters more than it sounds like it should here. Every detected change gets written into a PostGIS-backed database as a proper spatial record - geometry, timestamp, confidence score - not just flagged in a log file. That's what makes the timeline view possible later: change isn't a one-off alert, it's a queryable, spatially-indexed fact.

The dashboard is deliberately unglamorous - a Python-backed web app rendering results on an interactive Leaflet map, with time-based filtering so an analyst can scrub through a region's change history the same way you'd scrub through a video. Click a flagged area, see exactly when it changed and by how much.

Why a browser, not a desktop GIS tool

This was a deliberate call. The people who need to check on a region's status day-to-day aren't necessarily GIS specialists, and requiring a desktop GIS license just to see whether a protected area is being cleared is a real adoption barrier. If it opens in a browser and updates itself, more people actually check it - which, for a monitoring tool, is the entire point.

What changed

The most meaningful shift wasn't a specific metric - it was that "checking on a region" went from a scheduled task requiring imagery pulls and manual comparison to something you could do in thirty seconds from a browser tab. Deforestation events that would previously surface weeks after the fact, if at all between review cycles, are now visible as soon as the pipeline processes the imagery that shows them.

The underlying lesson generalizes past forestry: a lot of environmental and geospatial monitoring work is bottlenecked less by analysis quality and more by how long it takes between something changing on the ground and someone finding out. Closing that gap is often more valuable than a more sophisticated model.