Build a live air-quality dashboard from free satellite data

Subhendra Basu built a backend-free AQI and farm-fire tracker for 12 Delhi-NCR locations with Claude Code in one night, then packaged it as a reusable Claude skill.

Done withClaude Code· Oct 31, 2026

What they did

Subhendra Basu, who lives in Noida, wanted more than a single AQI number during smog season. In one night of pairing with Claude Code he went from asking which satellite data is free to telling it to build the NCR tracker. Claude Code wrote a single web page that pulls CAMS pollution data for 12 locations through the keyless Open-Meteo API in one request, computes India's CPCB AQI from 24-hour means, shows a 4-day forecast and Delhi's wind direction, and a standard-library Python script that pulls NASA FIRMS fire detections over Punjab and Haryana. It tested both in a headless browser against mocked API responses. Afterwards he had it write a CLAUDE.md and turn the workflow into a Claude skill.

How it went

The tracker is open source and live on GitHub Pages, with a GitHub Action refreshing fire data every three hours and no server or bill. Two map problems came up along the way: OpenStreetMap tiles were blocked when the page was opened as a local file, and CARTO now watermarks keyless tiles; Claude explained both and the page now serves locally and takes an optional CARTO key. With the skill he can ask for tomorrow's AQI in Noida and Claude fetches and computes it.

Worth knowing

CAMS is a model on a 10 to 40 km grid, not a monitoring station, so the numbers are regional estimates and the dashboard says so. Most global APIs report the US AQI, which uses different breakpoints from India's scale. The FIRMS fire layer needs a free MAP_KEY.

Try it

With Claude Code· 5 parts to fill in

Build a single-page dashboard with no backend that shows air quality for [my city or region] at [list of locations]. Use only free, open data such as [Open-Meteo air-quality API or another source] and compute the index on [the local AQI scale] from the official breakpoints, not the US AQI. Show a map coloured by category, a ranked table, a past-24-hours and forecast view per location, and [an extra layer, e.g. satellite fire detections and wind]. Write a test that runs the page in a headless browser against mocked API responses. Show me the data sources and any API keys needed before you write code, and stop when the tests pass and the page runs from a local server.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related