Satellites photograph every farm on Earth every few days, but almost none of that imagery ever gets looked at. There's simply too much of it, and reading it takes trained analysts. For agriculture, that means problems like drought stress or disease can sit visible from space long before anyone on the ground notices.
SatChat closes that gap. You click a point on an interactive globe, and the app fetches the latest satellite pass over that spot, processes the imagery to bring out crop-health signals the eye can't see, and hands it to an AI model I trained for this task. A few seconds later you get a short report: whether the field looks normal or stressed, what kind of stress it is, and how severe.
A few things worth knowing about using it. The interface is a globe you spin and click, not a map form with coordinates to look up or files to upload. The imagery is always the most recent cloud-free pass over your point, so the answer reflects the field as it is now, not last season. Before the AI ever looks at the scene, the raw satellite data gets processed into a view that highlights vegetation health and water stress, signals present in the light crops reflect but invisible to the naked eye. And the answer you get back is short and structured: normal or stressed, the stressor, the severity. No data dump. The whole round trip takes about five seconds.
To make sure the model's answers meant something real, I trained it on farmland in the Iowa corn belt and checked its assessments against official USDA yield records. The fields it flagged as stressed genuinely produced less, so the tool isn't just pattern-matching pixels. It's picking up conditions that actually affect harvests.
I built this for the Liquid AI × DPhi "AI in Space" Hackathon in 2026, teaching myself satellite imagery and vision-AI tooling from scratch along the way.
Under the hood
The imagery comes from the Sentinel-2 constellation via the STAC API, which the app queries for the most recent cloud-free pass over the chosen point. Rather than sending the model a plain photograph, the pipeline builds a false-color composite that encodes three vegetation indices (NDRE, NDVI, and NDMI) as the RGB channels, so the spectral signals agronomists use to assess crop health arrive in a form a vision model can read directly.
The model is LFM2.5-VL, a small vision-language model, fine-tuned with LoRA adapters (only 1.69% of parameters trainable) on 443 labeled tiles from the Iowa corn belt. It returns structured JSON with stressor type, severity, and an ANOMALOUS/NORMAL verdict, in roughly five seconds end to end, a ~50,000:1 compression of the raw scene.
Validation
The stressor assessments were cross-validated against USDA county yield data: fields the model flagged as stressed genuinely yielded less, r=−0.505 with p<0.0001. The Iowa corn belt was chosen as the training region precisely because those dense public yield records make that kind of ground-truth check possible.