Game Designer · AI Developer · Creative Technologist · Musician
Game designer at the AI frontier — building playable agents, generative worlds, and simulations that surprise and inform the user.
A trained agent plays a procedural platformer while its policy lights up in 3D. JAX PPO, MinGRU policy exported to the browser, JS/Python/JAX conformance.
A full-screen WebGPU Navier – Stokes fluid simulation. Real-time vorticity, dye injection, and pressure projection on the GPU.
A Physarum polycephalum simulation rendered as living text. Agents deposit chemical trails on a WebGPU compute pass; the result reads as glyphs.
A procedural ASCII world you can walk around in. Characters, dialogs, terrain — all rendered as text.
Reynolds flocking with predator pressure, generative ambient drone, and tunable cohesion / separation / alignment. Click to engage and play.
3D WebGPU boid flocking with GPU spatial hashing. Twenty-plus knobs for gradient, bloom, particle physics, neighbor strategies — emergent crowd behavior, tunable in real time.
An autonomous shader iteration loop using vision-model image analysis to drive evolutionary refinement of GPU shaders. Each iteration generates two candidates, analyses both, picks the winner, and uses that shader as the basis for the next generation.
Procedurally generated 2D platformer levels — solvable platforms, enemies, coins, and a goal laid out fresh each click. Local builds also drive a Nano Banana 2 reskin loop that regenerates every sprite from a text prompt.
An AI-driven jam tool. Type a vibe, Gemini writes verse / chorus / bridge with chords + lyrics. Synth, drum sequencer, and walking-bass generator all play live in the browser.
A real-time WebGPU raymarcher flying a chase-cam ship through a Mandelbox. Camera pose, fractal folds, AO, glow, and HDR are all live-tunable from the collapsed Fractal Controls panel; defaults are pre-tuned for atmospheric flight.
A graph-embeddings-based film and animation pre-production tool, powered by Nano Banana — staged generations, character / background / style folders, drag-and-drop curation, and a chat-driven generate-or-search loop.