We build production systems for clients, but we also like to keep our hands in the raw stuff. These are small, self-contained experiments: no frameworks, no build step, no dependencies. Each one is a few hundred lines at most.
Runs locally in your browser · respects reduced-motion settings
Particle constellation
01
A field of drifting points that link up when they get close. Move your pointer over it and the points push away.
Canvas 2D · pointer events
How it works
for (let i = 0; i < particles.length; i++) {
for (let j = i + 1; j < particles.length; j++) {
const d = distance(particles[i], particles[j]);
if (d < 118) {
line(particles[i], particles[j], 0.16 * (1 - d / 118));
}
}
}
Flow field
02
Hundreds of particles follow an invisible vector field. The result looks like current moving through water.