05Public data

Pravaha

Two flows India runs on, read from records that must show their age.

StatusLivepravaha.dhruvshahi.com

pravaha · live air
Pravaha's live air layer: per-city AQI with PM2.5 and PM10 for Agra, Ahmedabad, Bengaluru, Chennai, Delhi and Faridabad, each naming its Central Pollution Control Board monitoring station, above a banner stating the last fetch is older than the scheduled cadence.
The built site, five views. The India panel is the concept instrument and says so on screen.

the problem

A number without its age is a rumour.

India's public environmental data exists: Central Ground Water Board records for water, Central Pollution Control Board stations for air. But the numbers reach people stripped of the two things that make a number usable, where it came from and how old it is.

what I built

Every figure carries its source and its age.

Pravaha means flow, and it reads two: the water India pumps and the air it breathes. Each figure names its station or record and states its freshness. Carbon accounting sits alongside, sourced line by line.

The codebase is 472 commits and 7,991 lines of plain JavaScript over public data, with no framework standing between the reader and the record.

how it stays honest

It refuses to draw.

When a feed cannot be verified, the layer does not render a stale chart with a live face. It refuses to draw and says why. The capture on this page caught it doing exactly that: the banner states the last fetch is older than the scheduled cadence, and shows the previous reading as previous.

Turning the carbon accounting into credits is a direction I am researching, not something built, and the site says that too.

Next case01 ZeroFindingAll work