GPU fluid dynamics
A real-time fluid solver running on the GPU — Navier-Stokes on raw WebGL2 shaders, zero libraries. Drag to push dye that swirls and dissipates, tinted live by the active accent.
Open full screenWhere I experiment — motion, color systems, and small playable things. Proof that solid engineering can still be fun.
A real-time fluid solver running on the GPU — Navier-Stokes on raw WebGL2 shaders, zero libraries. Drag to push dye that swirls and dissipates, tinted live by the active accent.
Open full screenA 3D scene that dances to sound — a noise-displaced sphere and a radial spectrum built with Three.js, driven by a Web Audio FFT and glowing in the active accent. Press play for the built-in track, drop your own, or use your mic.
Open full screenA shader-driven slideshow of my work — each poster is generated live from the project data, then cross-faded with soft Three.js transitions (liquid, wave, and a camera-shutter iris). Drag to slide and jump straight into any full case study.
Open full screenAn interactive particle field that reacts to your cursor, rendered on <canvas> and tinted by the active accent.
My go-to accent palettes. Click any swatch to re-theme the entire site instantly.
A tiny Snake built on the grid motif. Fully embeddable via <iframe>, and it borrows the current accent color.
Open full screenA separate React PWA I built for live prize draws — spin the Wheel of Names, or race cars, fish, and horses to a winner, finished with confetti. Embedded here; opens full screen.
Open full screen