Technology

No AI-generated images, no AI-generated music, no samples, no recordings. Every pixel and every sound on this site is computed live in your browser, from maths and rules written in code. The code behind it was written with Claude; more on that below.

The world

The scene is rendered with WebGL2 and custom shaders, no 3D models and no textures from files. It builds up in stages while it loads: first a blueprint of lines, then flat shapes, then light and atmosphere, then detail. That is how it looks, and it is also how it works: expensive things are computed once (baked) and then reused while the scene runs live.

The sky

The sky is baked once per visit with volumetric clouds, then only recoloured for time of day, sunset and night. The clouds follow the real cloud genera, each modelled on its own:

Each weather situation mixes these layers differently, and aerial perspective makes distant towers bluish and soft.

The sea

The waves are a procedural wave field: a base sea driven by the wind, wave groups that roll through every few minutes, and now and then a cross swell from another direction. The sea is computed twice, once on the graphics card for the image and once in JavaScript for everything that has to touch it: the vehicle, the visor, the sound. The JavaScript version deliberately computes with the same 32-bit precision as the GPU; otherwise the two seas drift apart after a few minutes. The waves you hear are the waves you see.

The foam is an actual simulation: it is carried along by the current, splits around the monoliths like flow around a cylinder (piling up in front, trailing behind), decays at different rates and is born again at breaking crests, in the surf on the windward side and under the jets of the vehicle.

Sound

Everything you hear is synthesised live with the Web Audio API, from oscillators and noise. There is not a single audio file on this site.

The whole sound engine needs no download, less than a megabyte of memory and roughly 2–4 % of one CPU core.

Music

The music is generative. A song is a genre plus a seed: the same seed always gives exactly the same song, which is why songs can be shared. A song is composed in layers:

The theory is classic: major and minor, the church modes, pentatonic scales and even Javanese gamelan scales (pelog and slendro). Hooks are written the way you would write them by hand: one rhythm that carries through, mostly stepwise motion in a narrow range, chord tones on the strong beats, a phrase that asks and one that answers, ending on the tonic.

Some songs sing. There are no words, only syllables, and the voices are meant to sound like machines. One voice is a classic source-and-formant synthesiser; the other simulates a vocal tract: a tube of sections, a glottal pulse with breath, tongue and lips, running in its own audio thread.

Genres range from italo disco, techno and dub techno to synthwave, acid, liquid drum & bass and trance.

Side quests

Two workshops were built along the way, as side results, to get sound and music right:

Made with Claude

All code on this site was written by Claude (Anthropic), in conversation with me. The ideas, the world, the look and feel, and every decision are mine.

It wasn't one prompt. It was hundreds of them, and most were questions rather than orders: How should a monolith look after ten thousand years in the sea? How should foam behave when it meets a stone? How does a drop of water run down a pane of glass, how does it merge with others, and how does the world look inside it, seen from where you sit? What does the salt stain look like that it leaves behind? What does a wave sound like when it breaks right under you? Then looking closely at the answer, and pushing back: close, but the foam is too even. Again. Most of the work was asking the right question, judging the result and knowing when it was right.

I wrote about a novella's worth of prompts and read about a novel's worth of answers.

Period
October 2026
Prompts
~270, about 16,600 words from me
Answers read
about 115,000 words
Commits
190
Code
~18,000 lines, ~3,500 of them shaders
Tokens
~4.4 million written by Claude, ~1.35 billion processed in total

Numbers so far, as of 17 October 2026. They'll go up.

Under the hood

Plain JavaScript modules, no framework. A small build step bundles and minifies the code with esbuild and shrinks the shaders. Hosted on Cloudflare Pages. No cookies, no tracking, no third-party scripts or fonts; details in the imprint & privacy page.