Things I built for the fun of it
Interactive toys, small enough to play with in a minute and real enough to show how I think about motion, feel, and the web platform. A few of them feature 3D objects modeled in Maya and exported to glTF/GLB for Three.js.
Foundry
Crank a neon machine until it forges the logo.
A neon-lab assembly bay. Crank a heavy flywheel of gear-slabs — rounded rectangles with a hole punched near the base — and friction fights you the whole way, so you have to keep winding. Fill the charge ring and the LV logomark drops from above and materialises over the machine in a burst of sparks. Real-time lighting, procedural audio, no asset beyond the logo.
Depth Field
A grid of LV logomarks that rise toward you.
Hundreds of LV logomarks laid out in a grid, each one facing the camera. Run your cursor across them and a soft field lifts the tiles toward you — the one you point at rises and heats up most, its neighbours less and less with distance. Click anywhere to send a ripple travelling out through the whole field. Every logo shares one instanced draw call.
Pinball
A hand-modelled table, driven by real physics.
A pinball table modelled from scratch in Maya and wired to the Rapier physics engine. Nothing here is a primitive: the flippers, pins, slingshots, launch rail and clear acrylic ramps are all lifted straight out of the 3D model and given colliders, with gravity tilted like a real cabinet so the ball rolls down-table into the flippers. Hold the plunger to wind the spring — over-wind it and the mechanism jams.
Ragdoll Sandbox
Grab a floppy ragdoll and fling it.
A real-time physics toy. Jointed rigid-body ragdolls you can grab by any limb and hurl around a little stage, knocking over crates. Grab-and-fling works by driving the held body’s velocity toward the cursor, so a fast flick throws it exactly as hard as you’d expect.
Paper Plane
You, a paper plane, and a sky full of stuff.
A 3D endless flyer. Hand-authored obstacle patterns put every reward in the most dangerous spot, so greed and survival are the same decision. Chain pickups for a multiplier, graze hazards for bonuses, and watch the sky turn from noon to deep night the further you get.