Software EngineerSoftware Engineer
Loading interactive experiments...
15 interactive simulations and experiments built with physics, algorithms, and creative coding.
Explore the entire English Wikipedia link graph in your browser: 7.2 million articles, 707 million links. Expand link networks node by node, trace six degrees between any two topics, play the Wikipedia race game, render the whole map of Wikipedia in WebGL, and script the graph yourself.
My real GitHub contribution graph, dropped into Conway's Game of Life and left to evolve.
A shared grid of one billion checkboxes you check in real time with everyone online. A bigger, multiplayer take on One Million Checkboxes.
Overwhelm one server and watch how it copes: FIFO, LIFO, priority queues, and early dropping, built up one idea at a time with live charts.
An interactive, build-up tour of load balancing: watch Round Robin, Weighted Round Robin, and Least Connections route traffic across unequal servers, with charts generated live from the simulation.
Interactive Tambola game with automatic ticket generation, number calling, and support for multiple players.
An interactive real-time fluid simulation built on Jos Stam's stable-fluids method: drag to paint dye, choose ink/water/smoke/fire presets, and tweak the raw Navier-Stokes solver knobs.
A JavaScript implementation of the famous spinning donut algorithm with 3D rotation, lighting, and Z-buffering.
An interactive Newtonian gravity playground: binary stars, planetary systems, chaotic three-body dances, and asteroid belts, integrated with energy-stable velocity Verlet. Drag and fling bodies into new orbits.
Craig Reynolds' boids, interactive: hundreds of heading-coloured boids flock from three local rules, your cursor scatters or gathers them, and presets swing between tight swarms and streaming rivers.
A planarity puzzle: drag the nodes until no lines cross. The graph is a Delaunay triangulation (always untangleable), with live crossing highlighting and a confetti win.
An interactive wave interference playground: drag point sources around, add up to six, and watch superposition build constructive and destructive fringes in real time.
More experiments in development. Check out my GitHub for the latest work.