TERRA release v3 Ember
00:00 TERRA for Explorers
00:46 TERRA Studio
I've been building an open source desktop app for classifying land cover over a specific area from Sentinel-2 time series.
You draw an area on a map, set a date range, and classify. Imagery is read on demand from the Planetary Computer STAC catalog as COGs. There's a Random Forest path, a temporal transformer, and Prithvi-EO 2.0 embeddings.
It reports where the classification is wrong, not only how much of it is right. Agreement with the reference map is broken down per class and across spatial blocks, so you can tell whether the disagreement sits in one corner of the area or throughout it. Throughout usually means the model is being asked about ground it never learned, and there's a diagnosis between two runs that measures that distance.
There's also a canopy simulation that grows the classified crop in 3D and lights it with the hourly sun for that location.
Why Sentinel-2 and not something else: it's what the method here was built and validated on, it's open at 10 m with a roughly five day revisit, and it carries the red edge and SWIR bands the indices depend on. The obvious weakness is cloud, and in Brazil the cloudiest months sit right on top of the crop cycle. That's why SAR is where I want to go next, with other sources after it.
What it isn't: a QGIS or Earth Engine replacement. It targets farm to landscape scale areas under a fixed protocol. The classifiers emit five land cover classes and were fitted for study areas in western Paraná, so an area in another biome can come back confident and semantically wrong. I'm aware of that and working on it; for now the domain-shift diagnosis exists so the problem is visible instead of silent. Agreement with the reference is concordance with an annual map, not field truth.
On AI: my background is machine learning and remote sensing, not full stack development, so I used AI coding assistants for much of this. The frontend is where that shows most, and where bugs are most likely. The Python sidecar, where the research methods actually land, and the Go backend are written and reviewed by me continuously.