Interactive demos
A collection of things I built for fun and rebuilt to run live in your browser. Most started as Python projects and were ported to JavaScript and canvas. Click in and play.
NEAT Flappy Bird
A population of neural-network birds learns Flappy Bird through NEAT neuroevolution. Play it, or watch the AI train.
Raycasting Engine
A Wolfenstein-style pseudo-3D renderer. The left pane shows the 2D map and rays, the right pane shows the 3D view they build.
Cloth Simulation
A grid of point masses linked by sticks, solved with Verlet integration. Drag across it to slice through the threads.
Game of Life
Conway's Game of Life with age-colored cells. Click to toggle cells, then watch the patterns breathe. Born, young, and old cells are colored differently.
Mandelbrot Set
The Mandelbrot set rendered by escape-time iteration. Scroll or click to zoom into the infinite detail at the boundary.
Perceptron Classifier
A single perceptron learns to separate two classes of points with a line. Step through training and watch its guess snap toward the true boundary.
Pi from Collisions
Two sliding blocks and a wall. Count their perfectly elastic collisions and the digits of pi fall out. A famous, surprising result.