← Modelplay
Practice

Pick one skill.
Drill it until it’s yours.

Challenges build a whole project; practice sharpens a single skill. Each one is ten bite-size tasks that climb from easy to advanced — real Python, real models, instant feedback, all in your browser.

10skills to drill now
100hands-on tasks
20more skills coming
$0in-browser, no setup
Topic
Status
30 skills
FoundationsThe tools you reach for every day
Live

Python

From syntax to fluency

Ten reps that take you from variables and loops to comprehensions, generators, and decorators — the Python every ML engineer leans on daily.

Variables & typesConditionalsLoops+7 more
Core language, easy → advancedDrill it
Live

NumPy

Think in arrays

Vectors, matrices, broadcasting, and the math that powers every model. Stop writing loops — start thinking in arrays.

Create arraysIndexing & slicingVectorised math+7 more
Vectorised numerical computingDrill it
Live

Pandas

Wrangle real data

Load, filter, group, and reshape tabular data — the daily grind of every data and ML project, drilled until it's muscle memory.

Build a DataFrameSelect & filterAdd & transform columns+7 more
DataFrames & data wranglingDrill it
Live

Data Visualization

Make data speak

Turn numbers into pictures with matplotlib — line, scatter, bar, histogram, and the touches that make a chart actually readable.

Your first plotScatter plotsBar charts+7 more
Plotting with matplotlibDrill it
Soon

Git & Version Control

Never lose work again

Branch, commit, merge, and recover — the version control every developer lives in, drilled until it’s second nature.

init & commitBranch & mergeUndo & reset+3 more
Version control fundamentalsPreview
Soon

Command Line

Live in the terminal

Navigate, pipe, and script from the shell — the fastest interface to your machine, one rep at a time.

Navigate the filesystemFiles & foldersPipes & redirection+3 more
Shell & terminal skillsPreview
Soon

Regular Expressions

Match any pattern

The pattern-matching mini-language hiding inside every editor and language — finally make regex click.

Match literalsCharacter classesQuantifiers+3 more
Pattern matching in textPreview
Soon

Unit Testing

Trust your code

Write tests that catch bugs before your users do — assertions, fixtures, and mocking with pytest.

Your first testAssertionsFixtures+3 more
Testing with pytestPreview
Soon

Type Hints

Catch bugs before runtime

Annotate your Python so tools and teammates know what you meant — and let mypy find mistakes for you.

Basic annotationsCollections & genericsOptional & Union+3 more
Static typing in PythonPreview
Soon

Object-Oriented Python

Model the real world

Classes, inheritance, and dunder methods — structure bigger programs the way real libraries do.

Classes & objectsAttributes & methodsInheritance+3 more
Classes & object designPreview
DataGet data in, clean, and ready
Machine learningFrom first model to feature craft
Live

Regression

Predict the number

Fit lines and curves to data and measure the error — linear, polynomial, and regularised models on real datasets.

Fit a lineScore with R²Multiple features+7 more
Predicting continuous valuesDrill it
Live

Classification

Predict the category

Tell classes apart — logistic regression, trees, KNN — and learn the metrics that tell you whether your model is actually any good.

Your first classifierAccuracy & the splitK-Nearest Neighbours+7 more
Predicting discrete labelsDrill it
Live

Clustering

Find hidden structure

Group data with no labels at all — K-Means, the elbow method, and dimensionality reduction with PCA.

Your first K-MeansAssign new pointsPick K with the elbow+7 more
Unsupervised learningDrill it
Live

Feature Engineering

Better features, better models

The work that moves the needle more than the model: encoding, scaling, binning, interactions, and leak-free pipelines.

Encode categoriesOne-hot encodingScale numeric features+7 more
Shaping inputs that models loveDrill it
Live

Deep Learning

Neural nets from scratch

Build the network from first principles in NumPy — neurons, activations, forward pass, backprop, and gradient descent. The intuition every framework hides.

A single neuronActivation functionsA layer of neurons+7 more
Neural nets, built by handDrill it
Soon

Model Metrics

Know if it’s any good

Accuracy lies. Drill precision, recall, F1, ROC-AUC, and the regression metrics that tell the real story.

Accuracy & errorPrecision & recallF1 & ROC-AUC+3 more
Evaluating model qualityPreview
Soon

Cross-Validation

Evaluate honestly

Stop trusting a single lucky split — k-fold, stratification, and leak-free validation you can rely on.

Why hold out dataK-fold splitStratified folds+3 more
Trustworthy evaluationPreview
Soon

Hyperparameter Tuning

Squeeze out the score

Find the settings that make a model sing — grid search, random search, and validation curves, without overfitting the search.

Why tuneGrid searchRandom search+3 more
Optimizing model settingsPreview
Soon

ML Pipelines

One object, end to end

Chain preprocessing and models into a single, leak-proof pipeline you can cross-validate, save, and ship.

Why pipelinesChain stepsColumn transformers+3 more
Composable sklearn pipelinesPreview
Soon

Linear Algebra

The language of ML

Vectors, matrices, and dot products — the math under every model, drilled with hands-on NumPy.

VectorsDot productsMatrices+3 more
Vectors & matrices in codePreview
AIBuild real features on a live model

Want a skill that isn’t here yet?

Tell us what you want to practice next. We add skills and tasks all the time — your request helps decide what’s next.