A SEASON · NOVEMBER — MARCH
HARMATTAN
The dry-season trade wind that carries Saharan dust across West Africa — a poem in ten lines, written into moving weather.
Out of the Sahara the year exhales — a long dry word the maps call wind.
Morning arrives unwashed; the sun hangs like a coin dropped in milk.
The horizon packs its bags and leaves; the sky forgets which blue it was.
Dust signs its name on every sill — a guest who never knocks, and never goes.
Lips crack like riverbeds; we shea our skin against the thirsty air.
The mango holds its breath; the well lowers its voice to a whisper.
By dusk the light goes ember — the sun an old coal somebody blew on twice.
Somewhere the grass gives itself to fire, and smoke climbs up to greet its cousin, the haze.
Then the wind lies down like a tired dog, and the dust remembers it was earth.
And the sky, swept clean at last, spends all that dust as stars.
THE POEM, AS TEXT
Harmattan
The same ten lines, set still — no motion, no shader, just type. Toggle back any time with the button above.
- Out of the Sahara the year exhales — a long dry word the maps call wind.
- Morning arrives unwashed; the sun hangs like a coin dropped in milk.
- The horizon packs its bags and leaves; the sky forgets which blue it was.
- Dust signs its name on every sill — a guest who never knocks, and never goes.
- Lips crack like riverbeds; we shea our skin against the thirsty air.
- The mango holds its breath; the well lowers its voice to a whisper.
- By dusk the light goes ember — the sun an old coal somebody blew on twice.
- Somewhere the grass gives itself to fire, and smoke climbs up to greet its cousin, the haze.
- Then the wind lies down like a tired dog, and the dust remembers it was earth.
- And the sky, swept clean at last, spends all that dust as stars.
— written for this piece, 2026
THE WEATHER, HELD STILL
Five frames of the season
Your system asks for reduced motion, so the shader renders once — five fixed moments instead of a moving sky. The full poem is set as text above.
i · haze — the year exhales
ii · dust — the horizon leaves
iii · rose — a guest who never goes
iv · ember — the light goes down
v · night — dust spent as stars
ABOUT THE PIECE
A poem you scroll through, and the weather it happens in.
HARMATTAN is an interactive shader poem. Every visible thing — the haze, the dust, the ember dusk, the stars — is a single full-viewport WebGL2 fragment shader: layered fractal noise advected along a wind field, graded from haze white to night as the ten lines pass. Nothing here is a photograph or a video. It is all math, running live.
Your scrolling is the wind. Scroll fast and the dust streams; stop, and the air goes still. Move your cursor and it becomes a hot gust, shoving the dust aside and warming the air where it passes. The letters themselves sit in the weather — their weight and spacing gust with the wind field, set in a single variable font.
The poem is original, written for this piece: ten lines for ten scenes, tracing one harmattan day from the first white morning to the swept-clean night. The season gives the piece its structure — the sky darkens as you read, and when the wind finally lies down, the dust it carried becomes the stars.
Accessibility is part of the design, not an afterthought. any time; under reduced-motion the shader renders five still frames instead of moving; arrow keys and space step line by line; and if WebGL2 isn’t available, the text is the piece.