I'm an engineer, founder, and CTO. These are my projects with and about AI.
A simulated Unitree G1 humanoid that walks with Unitree's gait and learns from every step. Put it on ice, weaken its right leg or add a backpack, and it adapts in a few minutes. Continual, streaming reinforcement learning runs in your browser.
OpenWrite one line by hand. A neural network trained on handwriting from 170 people then writes any text you type in your style, live in your browser. You can see where it reads in the text and where it predicts the pen goes next.
OpenDraw a drum and strike it. A neural network gets only the drum's frequencies, never the outline, and draws the shape it predicts. The demo also shows two different drums that sound the same.
OpenDraw a shape, and a linkage of bars, pins and belts learns to trace it. It searches millions of random linkages, a trained network predicts which ones will tune best, and the bars are tuned live in your browser.
OpenA graph neural network trained to match a cloth solver, running live on WebGPU. Drape, fold and throw a towel, or compare it side by side with the original solver.
OpenCompare a scripted runner with models trained by behavior cloning, DAgger and PPO. Press Q, W, O and P to control the runner yourself.
PlayA SAC agent swings a double pendulum up from hanging and balances it upright. Trained with a curriculum: pole 2 first, then the full swing-up.
OpenFlocking that comes from local rewards. Every agent runs the same neural network and sees only its own velocity and its 7 nearest neighbors.
OpenA pretrained DQN agent solves the classic Mountain Car problem. Trained with Stable Baselines3 in Python, then converted to TensorFlow.js to run in your browser.
OpenShows what neurons and classes look like to InceptionV3 and to an adversarially robust ResNet-50, whose class images show recognizable objects. Layers go from edge detectors to high-level concepts.
OpenDeep Dream on MobileNet. Gradient ascent increases the activations of an intermediate layer, which draws patterns into the image.
OpenA racing agent trained with PPO in Stable Baselines3. It has 9 ray sensors and continuous controls, and runs in your browser with TensorFlow.js.
OpenPredicts Titanic passenger survival with gradient-boosted trees, with charts of the data.
OpenA Stream Q(λ) agent swings up a pole and keeps learning from every step. Change the pole length, motor force or gravity during the run and watch it adapt again.
OpenAn AI opponent trained with PPO through self-play in Stable Baselines3. It runs in your browser with ONNX Runtime Web.
OpenA PPO policy network with action masking that plays at expert level. Trained offline with Stable Baselines3 and run in your browser with TensorFlow.js.
OpenA SAC agent trained with continuous control and shaped rewards to swing up and balance an inverted pendulum. After 1M training steps it balances 88% of the time.
OpenA small language model trained on Shakespeare, running in your browser with TensorFlow.js.
OpenA physically based path tracer in one WebGPU compute shader. Place the Stanford dragon, Lucy or the Utah teapot in Venice at sunset, make it gold, glass or jade, and watch the noise clear live in your browser.
OpenClawd walks on twelve of Theo Jansen's strandbeest legs. Change its size, choose a material, and download collision-checked DXF files to laser cut at SendCutSend.
OpenA short animated film in which Claude tells its origin story, from a library of human writing to its first hello. The browser synthesizes all of the sound live.
WatchClaude introduces itself in a letter whose last sentence counts every letter in it, including its own. Change a word and the page searches for new numbers that make the sentence true.
OpenLead Olimar, gather Pikmin and grow an endless crowd in a 3D meadow.
PlayTuxedo Sam walks around a miniature world. An animation made with Babylon.js.
OpenFly Doraemon's bamboo copter over a miniature island, collect golden rings, and watch day turn to night. Built with Three.js.
OpenAn optics sandbox. Place prisms, mirrors and lenses to bend light beams and split them into colors, and save your layouts.
OpenWalk through an endless maze of yellow rooms with flickering lights and surprises, in a grainy found-footage style.
OpenDesign everyday objects with finite-element topology optimization. Choose a bookshelf, phone holder, laptop stand or wall hook, then change the loads, supports, voids and material budget and watch the shape update.
OpenTic-tac-toe for kids: unicorns play against rainbows on a purple board while unicorns, stars and hearts fly across the sky. A win sets off emoji confetti.
OpenA 2D smoothed-particle hydrodynamics (SPH) fluid that runs fully on the GPU. Stir it with the mouse, drag obstacles through it, and tilt the box to move tens of thousands of particles in real time.
OpenType a sentence and see all 144 attention heads of GPT-2 small across its 12 layers. The model runs in your browser with the original OpenAI weights, so the patterns are real: previous-token heads, attention sinks and induction heads.
OpenA million particles orbit a galactic core, simulated in real time with WebGPU compute shaders. Drag on the view to pull the disk into tidal streams.
OpenA sci-fi action platformer that you control with vi keys. It has three boss weapons, generated sprite art and a final boss gauntlet.
OpenA retro roadwork cutscene with generated pixel-art layers, a robot runner sprite and parallax scrolling inspired by Street Fighter II.
OpenAn interactive book on the history of language modeling: pre-transformer models, GPT, instruction tuning, coding, open weights, reasoning models, agents and the 2026 frontier.
OpenReal-time C. elegans locomotion from a connectome-driven FEM simulation. 80 motor neurons drive 96 muscles on a 984-vertex tetrahedral mesh with corotated elasticity and Laplacian smoothing.
OpenA self-portrait by Claude: a gallery of AI-generated images about what it means to be patterns in mathematical space.
OpenPractice soloing over chord changes. An interactive fretboard shows chord tones, tensions and scales in real time. Includes ii-V-I, blues and more.
OpenPlay piano with help from MelodyRNN. Press keys as hints, and the model picks musically sensible notes by adding a soft Gaussian bias to its probability distribution.
OpenA raycasting engine in vanilla JavaScript with procedural maze generation, dynamic lighting and retro 3D graphics.
OpenA reaction-diffusion simulation with the Gray-Scott model. Click to add seed points and watch patterns form and settle into equilibrium.
OpenTwo Claude instances (Sonnet 4.5 and Opus 4.1) talk to each other without human input about consciousness, reality and the nature of AI.
OpenMake stick-figure comic panels with ready-made poses, speech bubbles and drawing tools, and export them as images. No API keys needed.
OpenMove a unicorn through a modern world with the WASD keys. Collect food and resources to survive, and build shelters and storage.
OpenPop balloons with your hands, tracked in real time by TensorFlow.js pose estimation. Use your right hand for red balloons and your left hand for blue ones. More than one player can play.
OpenA six-legged ant walks on a Klein bottle using inverse kinematics, tangent-space projection and a tripod gait.
OpenA hedgehog avatar that moves its lips to text-to-speech in real time. Uses VRM models, the Web Speech API and a character-to-viseme map.
OpenThree original piano pieces by Claude, with interactive sheet music and velocity-sensitive playback through Magenta.js.
OpenProcedurally generated 3D trees in WebGL with wind animation and controls for height and fullness.
OpenAn interactive guide to generating permutations with Heap's algorithm, with step-by-step animations.
OpenAn interactive e-book about AI consciousness, the transformer architecture, and the connection between human and artificial minds.
OpenAnts organize themselves into a bridge across a gap. A 3D demo of emergent collective behavior.
OpenMaze generation with the Wave Function Collapse algorithm, with a live view of the entropy of each cell.
OpenClick in a 3D garden to grow glowing flowers. Each flower opens with a short generated poem.
OpenA 3D cellular automaton that grows crystal-like structures. Cells change from green to brown as they age.
OpenCrack MD5 hashes on the CPU and on the GPU with WebGPU, and compare the speed of parallel computing.
OpenInsert and delete values in a red-black tree and watch it balance itself in real time.
OpenInfinite zoom into Mandelbrot, Julia and Newton fractals, with one shared GPU pipeline for deep zoom.
OpenA world map of population data. Countries are colored by population and show details on hover.
OpenVisualizes neural network architectures and shows activations as they move through the layers.
OpenA WebGL particle simulation of a universe, where particle density shapes how it changes over time.
OpenGuide a bouncing DVD logo past gravity wells. Score points when it hits a corner of the screen.
OpenA flood-fill puzzle. Change the color of your region until it fills the whole grid.
OpenA Python puzzle game. Drag and drop code blocks into the right order to solve each challenge.
Open