SatQuery AI

About SatQuery AI

SatQuery AI shows how a place on Earth changed between two dates. Place a square on a map, pick two dates, and it measures the change in vegetation, water and built-up land from Sentinel-2 satellite imagery, then explains the result in plain English.

Open the app

What it does

Satellite imagery can show how water, vegetation and built-up land change over time, but getting answers out of it normally means searching data catalogs, aligning rasters, learning spectral indices and driving GIS software. SatQuery AI does that work for you, without hiding the science.

How it works

The whole scientific pipeline runs in your browser. There is no Python server, job queue or raster backend. A Web Worker streams Cloud-Optimized GeoTIFFs straight from the satellite archive, reading only the pixels inside your square. A few small serverless functions handle sign-in, saved sessions and the AI connection, so the AI key never reaches the browser.

Same pixels on both dates

Both dates are placed on a canonical 1024 × 1024 UTM grid, so every comparison is made on exactly the same pixels.

Choosing clear scenes

Tile-level cloud cover is only a hint. SatQuery AI reads the Sentinel-2 scene classification band first, and the share of valid pixels inside your square decides whether a scene is usable. If the requested date is too cloudy it widens the search to ±3, ±7, ±15 and ±30 days, reusing scenes it has already decoded.

Filling cloud gaps from real passes

Pixels a scene could not measure are filled from other Sentinel-2 passes, then from Landsat 8/9 (30 m), and are never interpolated. A fill only comes from the correct side of each date, within 15 days (7 days in Fast change mode), so it cannot cross the change being measured. Every filled pixel keeps its date. Where no useful pass exists, nothing is filled and the app says so.

Honest refusals

If the data is not good enough, SatQuery AI refuses rather than returning a degraded result. Every refusal names a code and a next step, including the exact square size that would have fitted.

The seven spectral indices

All seven are reported before and after, in the results table, the AI summary and the chat.

IndexSentinel-2 formulaWhat it shows
NDVI(B08 − B04) / (B08 + B04)Vegetation greenness
SAVI1.5 × (B08 − B04) / (B08 + B04 + 0.5)Vegetation over exposed soil
NDWI(B03 − B08) / (B03 + B08)Secondary water comparison
MNDWI(B03 − B11) / (B03 + B11)Primary water indicator
NDBI(B11 − B08) / (B11 + B08)Heuristic built-up signal
BSI((B11 + B04) − (B08 + B02)) / ((B11 + B04) + (B08 + B02))Bare-soil exposure
NBR(B08 − B12) / (B08 + B12)Burn-related spectral indicator

NDVI, MNDWI and NBR also report change. The NBR change is reported as dNBR (before minus after). A positive dNBR is consistent with burning but is not evidence of a fire, so no burn-severity classes are assigned. The indices are combined with deterministic five-class land cover, and change is grouped into numbered regions of at least 1 hectare with coordinates.

Eight rendered views

Each analysis renders before and after true colour, before and after NDVI, ΔNDVI and ΔMNDWI change maps, and before and after land cover. A pixel inspector shows the coordinates, land-cover class and NDVI / MNDWI of any pixel, and every measurement chart has a table view with the exact numbers.

AI explanations

Gemini 3.1 Flash Lite receives the rendered views and the measured statistics as authoritative, and is instructed not to invent numbers. If the AI is unavailable, the measured results are still kept and you can still ask questions based on the statistics.

Data sources

Accounts and privacy

You sign up with a username, a trusted email and a password, then enter a 6-digit code emailed to you. The password never leaves your browser: it is stretched there with PBKDF2 and the server keeps only a salted hash of the result. Finished analyses are saved to your account (all eight maps, the pixel inspector, the summary and the chat) so you can reopen them later.

Limitations

Frequently asked questions

What is SatQuery AI?
A free web app that measures how a place on Earth changed between two dates using Sentinel-2 satellite imagery, and explains the change in plain English.
Is SatQuery AI free?
Yes. You need a free account but no API key, and there is nothing to install.
Where does the satellite data come from?
Sentinel-2 L2A from Earth Search (Collection 1) and Microsoft Planetary Computer; Landsat 8/9 only to fill cloud gaps.
How long does an analysis take?
Typically 25 to 55 seconds on a desktop browser, depending on your connection.
Does it work on a phone?
The screens fit a phone, but the analysis does not: decoding two dates holds roughly 180 MB in the browser, and a mobile browser will usually close the tab first. Use a desktop browser.
Why did my analysis say the scenes were too cloudy?
SatQuery AI refuses to return a degraded result when too few pixels are clear. Monsoon months over India are often too cloudy; dry-season dates work best. The message names a code and a next step.
Can the AI make up numbers?
The model receives the measured statistics as authoritative and is instructed not to invent numbers. Every figure in the summary comes from the measurements in the results tables.
Is my password safe?
It never leaves your browser. It is stretched there with PBKDF2 and the server keeps only a salted hash of the result. Ten wrong attempts lock an account for 15 minutes.

About the project

SatQuery AI was built for Smart India Hackathon problem statement SIH26167 (ISRO, Space Technology theme). The source code and a deeper technical write-up are on GitHub.

Try SatQuery AI