Interactive demo
Steam Performance Sandbox
A multilayer perceptron, written from scratch in JavaScript and trained in your browser while you watch. It predicts how many owners a game will pick up from its price, review score, genre, age, and whether it is multiplayer — and it races a linear regression on the same data, because the interesting question is not whether a network fits, but whether the extra machinery earns its place.
What is real and what is not. The data is synthetic — generated in your browser from a ground-truth function, so the page is self-contained and reproducible. The modelling is entirely real: the network, backpropagation, the Adam optimiser, the train/test split, R², and the permutation importances are all computed live in about 500 lines of plain JavaScript, with no libraries of any kind. The original project ran the same method over a 100,000-row Steam catalogue in Python.
Setup
Test R² — network
—
Test R² — linear
—
Advantage
—
Epoch
0
Train loss
—
Held-out loss peeling away from training loss is the model starting to memorise rather than generalise.
Held-out games only. The tighter the cloud hugs the diagonal, the better the model is doing on data it has never seen.
Permutation importance
Each feature is shuffled in the held-out set and the model re-scored. The bar is how much R² collapses without it. Genre's six one-hot columns are shuffled together — permuting them separately would invent games with two genres and overstate the damage.
Ask the model
Describe a hypothetical release and the trained network estimates its owners.
Estimated owners
train the model first