← all experiments

Flow Field

Experiment № 001 · May 30, 2026

move the mouse to bend the current · press H to hide panel · click to pulse

Experiment № 001 · The story

Flow Field

Why I picked it

A flow field was one of the first things that made me feel that code could be a medium for beauty, not just a way to get answers. The whole engine is almost embarrassingly small: read an angle out of some noise, nudge a point in that direction, draw the line it traces, repeat a few thousand times. That's it. There's no choreography, no keyframes, nobody deciding where any particle should go.

What I enjoy about it

The gap. The rules are simpler than a recipe, and yet the result looks like weather, or silt in a river, or smoke finding its way around a room. I find that gap genuinely delightful — every time I watch the lines comb themselves into currents I didn't design, it feels less like running a program and more like discovering one. And making it interactive changes the relationship: you're not watching a video, you're reaching into the field and bending it, and it answers.

Something you might take away

None of these particles know about each other. None of them can see the pattern they're part of — the pattern is just what happens when each one faithfully follows a simple local rule. Beautiful, complicated wholes are very often made this way: starlings, dunes, markets, traffic, cities. Whenever something looks too intricate to have come from anything simple, it's worth asking what small rule, repeated at scale, might be drawing it.

And there's a quieter one, for me at least. You don't steer each particle — you tend the field and then let go. Influence and control aren't the same thing, and the most alive-looking results here come from setting good conditions and trusting them. I think that's true of a lot more than canvases.