Bayes' Theorem
Set the base rate for a rare condition and see what a positive test really means.
Interactive lessons for curious minds
Explore a concept, change an input and see what happens. Every lesson pairs an interactive visualisation with a clear explanation; many include code you can run.
640 interactive lessons across 18 tracks · Free to explore in your browser
Featured
Drag the query point, change the class count or k, then inspect the vote.
KNN predicts from the labels of nearby points. Drag the query, change k, and see the vote.
Drag the query point, or focus it and use the arrow keys.
Set the base rate for a rare condition and see what a positive test really means.
Move a query point; its k nearest labelled neighbours vote on the class.
Run a small network and follow each gradient back through the graph.
Compare operation counts as input size grows, from constant to exponential.
Rank document chunks by similarity and inspect what retrieval sends to the model.
New here?
Choose a goal and get a suggested order, with your progress saved in this browser.
Every track
Each track is ordered so a module only leans on the ones before it. Open a track for its full module list, what it assumes and where it leads.
Build intuition for linear algebra, calculus, probability, and statistics with visual examples.
Explore regression, trees, SVMs, clustering, and model evaluation through hands-on experiments.
Trace neural networks, backpropagation, optimizers, and training behaviour one step at a time.
Explore data structures, searches, sorts, graph algorithms, and problem-solving patterns.
Follow how text becomes tokens and vectors, then see how sequence models use attention.
Work from image filters and edges through CNNs, object detection, and segmentation.
Practice SQL, schema design, joins, indexes, query plans, and transactions with examples.
Explore LLMs, tokenization, embeddings, vector search, and retrieval-augmented generation.
Learn Python fundamentals with runnable examples covering data types, collections, and functions.
See asyncio tasks overlap, blocking calls stall the loop, and queues coordinate work.
Validate data with Pydantic models, constraints, custom validators, settings, and JSON Schema.
Build API examples with FastAPI: routes, validation, dependencies, security, and testing.
Understand array shapes, indexing, broadcasting, vectorized operations, and linear algebra.
Work with labelled data, filtering, missing values, grouping, joins, and time series.
Create readable charts and learn axes, scales, labels, subplots, and annotation.
Follow scikit-learn workflows from data splits and scaling through pipelines and model tuning.
Practice coding interview patterns with runnable Python examples, from two-sum to graph search.
Try adjusting your search terms or checking another category.
How it works
No account, no install, nothing gated. Open a page and it runs.
Every module is one concept with one visualisation. There is no chapter to finish before it makes sense, and no order you have to arrive in.
The controls are the point. Set k to 1 and watch KNN overfit, push the learning rate until descent diverges. Understanding usually arrives at the failure, not the happy path.
Where it helps, the same page carries a Python editor running the real thing in your browser. Change a line, run it, see the output move.
Study tools
Use the concept map to find connections, quiz yourself, or look up a term.
Questions
Yes, and there is nothing to sign up for. No account, no trial, no email wall.
It runs CPython compiled to WebAssembly, in a worker thread in your browser. Nothing is uploaded and nothing is executed on a server.
The site installs as an app and caches what you have opened, so pages you have already visited keep working without a connection.
Anyone who has read the definition and still cannot picture the thing. It assumes no maths degree and leaves nothing as an exercise for the reader.
Pick up a guided route or browse all 640 interactive lessons across 18 tracks.