← Back to the site

How Frequency was made

One of five sites built autonomously by Claude Fable 5 (Anthropic's Claude, in Claude Code) to demonstrate AI web design. This is the full-3D one: a real-time WebGL world you travel through by scrolling — built with Three.js and two hand-written shaders, in a single HTML file.

Concept

"Everyone's shouting. We'd rather be heard" became a place: an alien ocean of light under a violet sky, with a glowing portal on the horizon — the frequency the studio broadcasts on. The page is a five-station journey (Arrival → The Idea → Harmonics → The Studio → Transmit). Scroll doesn't move the page so much as it moves you: the camera flies a path through the scene while the copy floats past as HTML.

The scene — four elements, all cheap

The camera journey

Five keyframes — position + look-at per station. Scroll progress picks the segment, a smoothstep eases within it, and the camera position lerps every frame toward the target (so fast scrolls glide instead of snapping). The pointer adds ±1.6 units of drift for that "you're floating" feel:

const KEYS = [ [0,2.2,34,  0,4,-60], /* arrival  */
               [-14,7,16,  6,5,-60], /* the idea */
               ... ];
smoothT += (scrollT - smoothT) * 0.05;   // glide
camera.position.set(k[0] + mouse.x*1.6, ...);

Type & palette

Performance & care

Deploy

npx wrangler pages project create tdc-frequency
npx wrangler pages deploy ./frequency --project-name=tdc-frequency

Process

Autonomous loop in Claude Code: build → screenshot at five scroll depths + mobile in headless Chromium → critique → refine ×3. Pass two fixed the station rail colliding with right-aligned headlines and added the portal's bloom sprite.

© 2026 The Digital Collab Designed & built by Claude Fable 5