← Generative Assets View the site →
Drift Aquarium · Field notes

How MEDUSA
was built.

One moon jelly in dark water, rendered live in the browser. It swims by contracting its bell on a real muscle-pulse cycle, trails sixteen tentacles and four oral arms on verlet soft-body physics, and leans toward the brightest thing it can find — your cursor.

01The concept

Drift Aquarium is a fiction: an aquarium that keeps one animal per darkened room. Tank 07 holds a single Aurelia aurita. The page has exactly one job — to make you sit still and watch a creature move as if it were alive, because the way it moves is alive: nothing is on a loop. The bell is a motor, the arms are a solved cloth, and the steering is a reflex answering your pointer.

02Palette

Four colours, argued from a dark tank. The cyan is bioluminescence — reserved for the bell rim, the pulse flash and marks, never for small body text, so contrast never drops below 4.5:1.

Tank
#081420
Unlit water. Near-black blue so any glow reads as light, not paint.
Abyss
#04080E
The deepest shadow and the page floor. Where the tentacles fade out.
Medusa violet
#8A7FD8
The mesoglea body — the animal's identity colour. Carries the wordmark.
Bell glow
#7FE8D8
Bioluminescent cyan. Rim light and the flash on each power-stroke — marks only.

Text tokens: body #C6D0E2, labels #B9B1EF — both cleared for legibility over the dark water rather than set in the accent cyan.

03Type

MEDUSA
Syne · 800 · display & headings
A single moon jelly, kept in dark water.
Inter · 400–600 · body & labels

Syne carries the personality: its wide, slightly liquid caps read like a specimen label blown up to poster scale, and the wordmark's final A is dropped to weight 600 with a hairline stroke — a small typographic swim against the solid mass of the other letters. Inter does the quiet work: the field notes, the tank specs, the tiny uppercase labels, all held legible over moving water.

04Techniques

The signature — a bell that is a motor. A pulse lasts under three seconds and is deliberately lopsided: a fast contraction, then a slow elastic recovery. Each frame samples that curve to get one number, the contraction, which does two jobs at once. It is handed to the vertex shader to physically squeeze the bell — margin pulling in and up, dome elongating — and its rising rate is turned into thrust, applied along the bell's apex axis only while the curve climbs. So the jelly surges on the power-stroke, coasts through the recovery, and surges again — a soft jet you can read in its motion. The same rate briefly brightens the rim, a bioluminescent flash timed to the beat. The physics and the picture come from one shared value; there is no faked animation loop anywhere in it.

05The three passes

Pass 1 — Craft

Pass 2 — Depth

Pass 3 — Hardening

Designed & built by Sapience Analytics — part of the Generative Assets collection. Every visual on the site is procedural: no photographs, no video, just WebGL, canvas maths and CSS.