Particle Identity
The ZJ monogram rebuilt as a field of particles. Move the pointer through it — each dot is pushed away and eases back along a spring, the same interaction model that drives the WebGL hero.
- Canvas 2D
- Particle systems
- Pointer physics
Lab
Small interactive explorations of the systems I build with — each one pausable, accessible and honest about what it demonstrates.
How CLZTR keeps a city map fast: events are indexed into H3 hexagonal cells, aggregated per cell, and only the cells intersecting the viewport are loaded. Drag the zoom to watch clusters split into individual points.
A presence system in miniature. Clients connect over WebSockets, updates flow through a NATS-style broker, and Redis holds the shared presence state — watch messages pulse across the network as nodes come and go.
The AEMS pipeline visualized: raw events enter on the left, then pass through extraction, validation, normalization and deduplication gates. Invalid records are rejected, duplicates merge, and clean events publish on the right.
Small motion studies used across this site — magnetic buttons, staggered list entrances and mask reveals — isolated so their timing and easing can be tuned in one place.
Mask reveal