Birrd : Identity as behavior. A visual system that scatters and reassembles — one rule, expressed across static, motion, and space.
I developed a WebGL-based animation system inspired by bird murmurations, allowing the logotype to fluidly dissolve into a swarm and reassemble without visible breaks. The project investigates collective motion as an identity principle and serves as the foundation for an expanding visual system.
client :
Birrd Brands
tool stack :
WebGL, CablesGL, JavaScript
year :
2026
I developed a WebGL-based animation system inspired by bird murmurations, allowing the logotype to fluidly dissolve into a swarm and reassemble without visible breaks. The project investigates collective motion as an identity principle and serves as the foundation for an expanding visual system.
client :
Birrd Brands
tool stack :
WebGL, CablesGL, JavaScript
year :
2026
Birrd is named after a murmuration — the phenomenon where hundreds of birds move together in fluid, coordinated flight with no single leader. Each bird responds to its neighbors, creating a system that's flexible, intelligent, and constantly adapting. That's exactly how Birrd works as a collective: independent creatives, moving freely, joining forces when it matters.
photos by James Wainscoat photos by James Wainscoat photos by James Wainscoat
Our early tests of a real flocking simulation were too heavy even in 2D space. Scaling to 3D would have cost us the detail the website animation needed — so we decided to approximate the flock instead of simulating it.
Putting simulation aside, we moved to 3D — a sphere with points distributed across its surface, shaped by layered noise and array operations into continuous motion.
We experimented with bringing interactivity. The moment you disturb the flock, its behavior feels emergent — like touching something alive.
One of the key deliverables was the Birrd Flock tool — a generator the client runs themselves to produce publish-ready brand material in one place. Challenge at this point was to export vector output from a 3D scene, noise transformations happen on the GPU via shaders, making point positions inaccessible for direct 2D projection.
The solution: on export, the script captures the current frame as a raster snapshot and regenerates it as a flat SVG — placing each visible point in 2D space. Every export is perfectly crisp vector frame.
The resulting tool offers a two-layer system: a generative flock in motion with a static image layer on top for communication and detail. The client composes and exports directly, no handoff needed.
Excerpts :