Generative · WebGL · Side project
Every morning at 6am it reads the city's air quality and renders that day as a print. Nobody chooses the colours. The air does.
The prints
Each poster is generated from one number: that day's AQI reading. It sets the palette, the density of the haze bands, and how much of the sun disc survives the murk. August prints thicken with summer dust. January prints come out nearly clear.
How it works
// 06:00 GST, every day const aqi = await readings.dubai() render({ palette: band(aqi), // 6 bands density: aqi / 450, // haze layers sun: 1 - aqi / 500, // what's left seed: dayOfYear })
Prints
Any of the 365 available as an A2 print. Birthdays are popular. The bad ones are more popular than you would expect.