01
What’s missing
Everyday services for a family, from a school to a tram stop: the worst-served fifth of the city is the darkest. The same lens shows shops within reach, summer heat and the 3-30-300 rule.
Open the lens: What’s missing →Evidence atlas · five Belgian cities
Every summer the city’s green rustles — a little greener, a little browner. Frondia tells the rustle from the growth, measured against places that stayed the same.
Photograph · a lilac bush in the wind · generated, not measured
Compare each sector with its own past and 39% of the city looks “significantly greener”. Compare it with twelve places that looked the same beforehand, and 16 do.
Subtracting twelve places that stayed the same is the whole product in one step.
Article 8 of the Nature Restoration Regulation: no net loss of urban green space and tree canopy from 2024 to 2030, then an upward trend, monitored with Copernicus. Belgium missed the 1 September 2026 deadline for its national restoration plan: the Brussels and Walloon parts were not ready.
Cities where green already exceeds 45% and canopy 10% are exempt. Computed with the Commission’s own method, by municipality:
Whether green space and canopy grew or shrank after the 2024 baseline, sector by sector, with the noise measured and every loss named. Bruxelles Environnement in Brussels; in Flanders, ANB and INBO, which runs the monitoring; in Wallonia, the SPW.
See the cities in the atlas →Which sectors lack services, shops within reach, shade or a bench; where the next objects should go; and whether a new park changed the ground, summer after summer.
Open an audit →A check written into the grant before the works start. The outline, the baseline and the comparison places are fixed with a date, so nobody can draw the result to fit afterwards.
How the outline is fixed ↓Official layers say how much. Frondia says whether it changed beyond noise, and why. By rank the two agree: the official canopy layer and the three canopy instruments Frondia uses correlate at r = 0.81–0.95 across the five cities.
Every sector of the city takes one turn as a pretend intervention.
It is matched to twelve sectors that had the same greenness and summer heat beforehand and lie far enough away not to share its building sites.
Its “effect” is recorded. Nothing happened there, so the spread of all 668 effects is the method’s own noise. The city threshold is where 95% of it ends: ±0.035 in Brussels.
Effects against matched places · Brussels · 668 sectors
Centred on zero: average −0.0001. The method does not invent effects where nothing happened.
The atlas puts four earlier tools on one unit, the Statbel statistical sector: what a neighbourhood lacks, what to place where, and whether anything actually changed. The first two describe and recommend. The third checks, against the city’s own noise.
Open the atlas →01
Everyday services for a family, from a school to a tram stop: the worst-served fifth of the city is the darkest. The same lens shows shops within reach, summer heat and the 3-30-300 rule.
Open the lens: What’s missing →02
Where the next public toilets should go, ranked by the demand each one would cover. Ten points of each of fourteen kinds of object were named on 5 September 2026, before anyone placed anything.
Open the points: What to place →03
Greener or browner beyond the city’s own noise, against twelve places that looked the same beforehand. Only this step is a measurement of change; the other two describe and recommend.
Open the change: What changed →Inside an audit

The lens. Subtract the matched places and a greener city shrinks to what grew. The legend is the method’s own noise.
The map. Hatched sectors had no fair comparison, and get no verdict.
The audit. +0.246 against twelve places, each with its name and distance, so anyone can check them.
An audit measures the footprint of the works itself against twelve sectors named in the atlas, then follows the effect summer by summer, because a park that greened once and faded is a different story.
Its threshold is calibrated for the audit’s own instrument and years, so it differs from the city threshold above. Drag or tap a picture to compare before and after.
Before2017–2019
After2021–2024+0.2466.8× its audit threshold
Sealed ground went down and grass went up, and a second instrument agrees. Canopy did not pass its own threshold: this is a meadow park, and the verdict says so.
Open the audit in the atlas: Porte de Ninove →
Before2017–2019
After2021–2024+0.1473.2× its audit threshold
With a baseline taken before the works, the defensible effect is half the headline and still three times the threshold. That baseline rests on the two usable scenes of summer 2016. The “before” picture is the standard 2017–19 window, when the works were already under way. The number above uses the 2016 baseline instead.
Open the audit in the atlas: Droogdokkenpark →No before/after picture: at 30 m a 19-hectare park is about fifteen pixels across. The series below is the evidence.
+0.1482.6× its audit threshold
The one summer in the noise is the 2018 drought, when a grass park loses its lead over everything around it. There is no second instrument for these years.
Open the audit in the atlas: Park Spoor Noord →Each rule below was added after a convincing, wrong result showed up without it. The counts are how often each one fired on real data.
Our noise floor for surface temperature is larger than what a new park realistically does to it. So nowhere on this site does a park “cool the street by a degree”.
A park at the edge of the scale has nothing similar to be compared with. When the matched places differ too much beforehand, Frondia refuses the verdict.
A single brown summer is weather more often than loss. A drop is published only when a second, independent instrument sees the canopy go and no construction appear.
Fixing paths, ponds and fountains in a park that is already green does not show from space. Older park projects, seven large restorations among them, each measured with its own window and threshold, sit within the noise.
The strongest greening in Brussels, Zavelenberg, is a nature reserve where grazing stopped after the farmer died. Without a document, no cause is named.
No. The atlas also shows what each sector lacks, from everyday services and shops within reach to summer heat and the 3-30-300 rule, and where the next of fourteen kinds of public object should go. Only greenness is measured as change against the city’s own noise; the rest are states and recommendations, and the atlas labels them that way.
The main instrument is greenness: the vegetation index from Sentinel-2. A second one, Dynamic World, tells trees, grass and sealed ground apart, and a loss of canopy is published only when both agree. By rank, Frondia’s canopy and the official and independent canopy layers agree at r = 0.81–0.95.
The outline is fixed before any number is computed: a named park polygon from OpenStreetMap, or the client’s own drawing. For works not yet started, the outline, the baseline and the twelve comparison places are registered with a date and a hash. Six Brussels projects are registered that way today.
Checked against an independent map made from aerial photographs, Groenkaart Vlaanderen 2018 against 2021 and 2024, in Antwerp and Ghent, with the same matched places and its own noise threshold. Where the satellite says a sector’s canopy stayed within noise, the aerial map agrees in 569 of 583. Where it says the canopy changed beyond noise, the map agrees in only 7 of 22. So a change beyond noise is a candidate, not a proof: a loss is named only when a second instrument and documents agree.
Those layers say how much green and canopy a city has. Frondia says whether that changed beyond the city’s own noise, where, and, with documents, why. It sits on top of them.
Below about a hectare the signal drowns: four planted streets inside a 19-hectare sector add roughly half a hectare of canopy, diluted forty times. For small things Frondia checks something else: whether the object appeared at points named in advance, with points that were not named as the comparison.
Brussels (668 comparable sectors), Antwerp (423), Ghent (185), Liège (163) and Charleroi (269). The threshold belongs to the pair of city and instrument: Antwerp’s is 42% wider than Brussels’, Ghent’s is 17% wider, Liège’s is 50% wider and Charleroi’s is 18% wider. A new city gets its own calibration.
Summer composites from 2017 to 2026. Monitoring runs every season, three so far in every city, and each season gets its own threshold.
Elena Uvarova designed Frondia and built it with Claude Code. It brings four of her earlier tools onto one map (Neighbourhood Fit Score, SpotFinder, City Planner and the change engine) and adds the method, two city bundles, three audits, three seasons of monitoring and this site. Open data only, no client, no budget.
That was the rule for the AI half of the work. 211 tests check calibration, refusals, time windows, projection, and that every page rebuilds from scratch.