The lab
Machine learning you can touch. Everything here runs entirely in your browser: nothing is sent to any server, and nothing is a video or a faked animation. Real models, training and predicting in front of you.
Guided experience
Train your own mini-GPT in 30 minutes
A step-by-step wizard: pick the corpus, train your own tokenizer, define the architecture and watch a real model train in front of you, all the way to generating text with it.
The network that learns in front of you
Draw points and watch it find the boundary.
Open experimentDraw a digit and it recognises it
A model trained on 30,000 digits, running right here.
Open experimentThe ball that hunts the minimum
Gradient descent over a loss mountain, in 3D.
Open experimentThe map where dog and cat are neighbours
Type words and see where they land by meaning.
Open experimentInside a transformer's attention
Real weights from the transformer I wrote from scratch.
Open experimentShow something to the camera
An image classifier running in your browser.
Open experimentThe polynomial that memorises the data
Raise the degree: train nailed, validation wrecked.
Open experimentGroup points without telling it what to look for
K-means step by step, with centroids you can drag.
Open experimentThe tree that chops the plane apart
A CART growing split by split, diagram alongside.
Open experimentThe tokenizer that learns in front of you
BPE from scratch: watch tokens emerge merge by merge.
Open experimentThe 1958 neuron
The original perceptron: it converges, or dances forever.
Open experimentHow many bits does a model need?
fp32, int8, int4, int2: accuracy measured live, right here.
Open experimentSwitch off 90% of the brain
Prune weights with a slider and watch when it breaks (it takes a while).
Open experimentEvery digit fits in two numbers
Move through latent space and watch digits morph.
Open experimentA digit born from noise
Real diffusion, trained by me, denoising live.
Open experimentWords that sort themselves out
Word2vec training live: chaos organises itself.
Open experimentThe gradient, step by step
Backpropagation over the real graph, node by node.
Open experimentThe agent that learns to be afraid
Q-learning in a maze, with its mental map visible.
Open experimentWhat the model does not know
Sixty models and a band that widens where data is missing.
Open experimentThe curve that broke the textbook
Double descent computed live: the spike and the second drop.
Open experimentHow it picks the next letter
Greedy, beam search and sampling on my real transformer.
Open experimentThe generator that melts a 0 into a 9
Interpolate through the latent space of a GAN I trained.
Open experimentThe missing dimension
The kernel trick: inseparable in 2D, a plane in 3D.
Open experimentFifty trees are wrong better than one
The bootstrap, animated: watch a random forest grow.
Open experimentAll the attention, as a building
My transformer's 16 heads stacked in navigable 3D.
Open experimentThe pole that learns not to fall
CartPole with policy gradients, training in front of you.
Open experimentTrain a transformer right now
Attention, backprop and Adam by hand, running in your tab.
Open experimentTeach the camera your own classes
Real transfer learning: 15 examples and two seconds.
Open experimentYou against the network: ten digits
A duel of speed and accuracy. The network takes microseconds.
Open experimentA whole RAG in your tab
Chunk, index, retrieve and cite — no server.
Open experimentHow alike are two sentences?
One global number, and the matrix that shows when it lies.
Open experimentUpload a CSV and know it in a minute
Types, nulls, correlations and warnings — without leaving your browser.
Open experimentTeach the microphone your words
Eight examples per command and a hand-written FFT.
Open experimentRate five films and I will read your taste
Matrix factorisation I trained, solved in your browser.
Open experimentWrite by hand and it reads it back
One transformer sees your stroke, another writes it out, letter by letter.
Open experimentPop bubbles by moving
Classic vision with no model at all: pixels subtracted with wit.
Open experimentEvery pixel gets a name
Semantic segmentation: the whole photo, decided pixel by pixel.
Open experimentSame network, two engines
JavaScript versus Rust-compiled WebAssembly, measured in your browser.
Open experimentLearn your normal, catch the odd
An isolation forest trained on your own motion.
Open experimentAnd outside the lab: