Lab

Where I build the wow. Real-time 3D and graphics experiments, all running live in your browser. Tap a card to load it into the stage.

Live · THREE.JS

Specimen Stamp

LB-02 // SEAL
[ STATUS ]

Shader Studies

AFTER THEBOOKOFSHADERS.COM

Working through The Book of Shaders, one fragment at a time. Every tile is a live GLSL program running in your GPU right now, not a video.

S-01 Shaping plotting smoothstep, the first spell
S-02 Distance fields everything is a distance
S-03 Noise domain-warped fbm smoke
S-04 Cellular voronoi territories, breathing
S-05 Halftone the mastheads' print screen, exposed
S-06 Fireworks after @YoheiNishitsuji’s golf · MIT
S-07 Sin Sea raymarched sin-carved plane · a twigl golf, de-golfed

Triptych

RAIN · WIND · ORBIT
CASCADE
CHIME
SPINNER

Wisp

THE MARSH'S LIL GUY
WISP A little will-o'-the-wisp who lives in the lab. Dot-matrix face, glowing pupils that follow your cursor, four coats to wear. He blinks. He gets happy. That's the whole job. GO SAY HI →

Alpha

SHIPPED · LIVE
ALPHA · THE INSPO BOARD A shared inspiration board I built and run at alpha.aaronmilligan.ai: paste a link, it becomes a pin on a living wall. Next.js App Router on Vercel with Neon serverless Postgres behind it. The schema self-bootstraps on first write, so the board spins up from an empty database. A REST surface (/api/links) with validated fetch windows feeds a client board that polls for new pins and reconciles server truth with optimistic state; the wall renders category sections plus a Fresh row of the latest drops, and the pin count comes from a real SELECT count(*) rather than the fetch window, so it never lies at scale. VISIT THE BOARD →

Workshop

SHIPPED · LIVE
WORKSHOP · THE PROCEDURAL 3D BENCH An image-to-3D workbench I built and run at workshop.aaronmilligan.ai: drop in a reference image and it becomes a build brief for a code-only three.js model — every part authored as procedural geometry, no mesh files shipped. Ten models live on the bench, from a violet-flame witch to a parts-registry gnome generator with species dice and a seeded corvette. Every model exposes a recipe: copy it, share it as a permalink (#/m/id?r=…), save looks, or roll a 12-variant contact sheet from one seed. Rapier physics can blow a model apart and ease it home; GLB and WebM export straight off the stage. Behind the dropzone sits a growing knowledge base of every geometry trap the bench has caught, plus a vision intake that reads new references against a JSON schema and drafts the build brief itself. ENTER THE WORKSHOP →

Data Stream

Singularity

SINGULARITY A black hole that plays dubstep. A full-length EDM track synthesized live in WebAudio drives a curved-ray accretion disk: beat-synced shockwaves, polar jets, and a drop that bends light. ▶ ENTER THE HORIZON →