← Back to the journal
Creative CodingResearchShadersMunich

Mood boards, artists, and the Munich night that fed my code

How I research a project before I write a line of it — collecting references, watching the visuals in Munich's music scene, and turning all of it into shader-driven laser ideas and a webcam projection library I keep meaning to finish.

Most of my projects start nowhere near a code editor. They start with a folder full of screenshots, a few photos taken badly on a dancefloor, and the nagging feeling that I've seen something I want to make but can't name yet. That folder is the real first commit.

I used to think research was the boring bit you did before the fun started. Now it's my favourite part. The work that comes out of a project is only ever as interesting as the stuff I fed into it, and a mood board is just an honest record of what I've been paying attention to.

Why a mood board beats a blank file

A mood board is permission to not know yet. I drop in things that don't obviously belong together: a Brutalist concrete stairwell, a frame from an old anime, the gradient on a cheap energy-drink can, a poster from a club night that had no business looking that good. I don't explain why. If three unrelated images keep ending up next to each other, that tension is usually the idea.

The trick is to collect faster than you judge. The moment I start asking "does this fit the brief" I stop seeing, and a board full of safe, on-brand references produces safe, on-brand work. I'd rather have forty things and throw away thirty-five.

The board isn't a plan. It's a record of what my eye keeps returning to when nobody's watching.

The artists I keep coming back to

A lot of what ends up on the board isn't web design at all. It's light. Refik Anadol turning data into something that breathes on a museum wall. James Turrell making a room out of nothing but a colour gradient and patience. Old demoscene captures from the 90s, where someone fit an entire universe into 64 kilobytes because they had to. Ryoji Ikeda, who treats a strobe and a sine wave like a chisel.

None of them are "references" in the sense of "make it look like this." They're more like a calibration. They reset what I think is possible before I let the constraints back in. You look at someone who built a cathedral out of light, and suddenly your little canvas sketch feels like it's not trying hard enough.

Munich at 2am is a research trip

The best place I've found for this isn't online. It's the Munich music scene, somewhere past midnight, when the visuals take over.

Harry Klein built its whole identity on this. There's a wall of live visuals running all night, real VJs reacting to the room, and it taught me more about timing animation to sound than any tutorial ever did. Bahnwärter Thiel is the opposite school: raw, improvised, light bouncing off shipping containers and scaffolding, nothing precious about it. I've stood in both and just watched the projection instead of the DJ, which makes you look slightly unhinged but is excellent fieldwork.

What I take home is never a specific look. It's a feeling about pace. How long a thing should hold before it changes. When a slow build earns the drop and when it just gets boring. That's the part you can't get from a still image, and it's the part that makes motion feel alive instead of decorative.

Where the research wants to go next

Two ideas have been sitting on the board for months, both pointed at the same itch: I want light I can program.

The first is shaders for laser animation. A laser projector takes a path — a list of points the beam traces fast enough that your eye sees a shape. Most laser content is built frame by frame in clunky software. But a fragment shader is already a machine for describing a field of values over space and time, and if I can sample that field into a beam path, I get generative, reactive laser visuals from the same GLSL I already write for the browser. Noise functions become smoke. A distance field becomes a morphing outline. It's the demoscene instinct again: squeeze something alive out of pure math.

The second is a small library I keep promising myself I'll write. Point a webcam at a space, treat the feed as an input texture, run it through shaders for optical flow and silhouette extraction, and turn a person's movement into an interactive projection mapped back onto the wall they're standing on. Camera in, light out, the body in the middle as the controller. Nothing about that is new in art-installation land. What's missing is a version that's small, fast, and doesn't need a $3,000 software license to run on a laptop at a party.

Neither is finished. One of them isn't even started, properly. But they're both on the board, next to a blurry photo of a laser cutting through fog at Blitz, and that's usually how it goes: the night out becomes the screenshot, the screenshot becomes the itch, and the itch eventually becomes a repo I'm too stubborn to abandon.