The working engineer’s field guide to AI and machine learning
Structured lessons from your first classifier to the research frontier, deep-dive topic hubs, honest platform and model references, and daily news written in plain English with sources linked.
Learning tracks
All lessons →Start here
Full beginner track →What is machine learning?
Programs whose rules are fitted to data rather than written by hand, the train and predict loop, the vocabulary you will use for the rest of the track, and when machine learning is the wrong tool
Data is the model: datasets, splits and leakage
Build a small synthetic dataset with pandas, split it into train, validation and test sets, then plant a leaky feature and watch the validation score lie
Linear and logistic regression from scratch
Least squares solved in closed form with numpy, then logistic regression fitted by gradient descent with the sigmoid and log loss, both checked against scikit-learn
The training loop: loss, gradients, learning rate
The four-step loop that trains almost every model, the gradient checked by hand and by finite differences, and a learning-rate sweep that shows slow, right and divergent on one chart
Decision trees and gradient boosting
How a decision tree chooses its splits, what depth does to training and held-out accuracy, how gradient boosting stacks small trees into a strong model, and why feature importance needs care
Evaluation that does not lie
Why accuracy misleads on imbalanced data, what precision, recall, F1 and ROC-AUC measure, how stratified cross-validation and a dummy baseline keep you honest, and how a bootstrap puts an interval on a score
Topic hubs
All 20 topics →Machine learning foundations
Paradigms, bias and variance, loss functions, optimisation, evaluation
Data, features and pipelines
Collection, labelling, cleaning, features, leakage, splits and versioning
Classical machine learning
Linear models, trees, boosting, SVMs, k-NN, clustering and PCA
Deep learning
Backprop, initialisation, normalisation, regularisation, optimisers, schedules
Transformers and large language models
Attention, tokenisation, pretraining, scaling laws, decoding, context windows
Fine-tuning and alignment
SFT, LoRA and QLoRA, RLHF, DPO, instruction data and evaluating alignment
Prompting, tool use and agents
Prompts, structured output, tool calling, agent loops, MCP and evaluation
Retrieval and RAG
Embeddings, vector indexes, chunking, hybrid search, rerankers and evaluation
Computer vision
CNNs, vision transformers, detection, segmentation, image diffusion, video
Speech and audio
Speech recognition, text to speech, audio embeddings and streaming inference
Generative models
VAEs, GANs, diffusion, flow matching and autoregressive models compared
Reinforcement learning
MDPs, policy gradients, PPO, offline RL and RL for language models
Platforms
Platform hubs →Build something
All projects →An MNIST-class CNN in PyTorch on CPU
Train a two-layer convolutional network on 16x16 digit images in under a second on a laptop CPU, read the loss curve, print a confusion matrix, and find out which digits it gets wrong.
A tabular classifier with a FastAPI endpoint
Train a scikit-learn pipeline on the breast cancer dataset, save it with joblib, serve it from a FastAPI app with /predict and /health, and test the app in-process before you ever start a server.
Fine-tune a small model with LoRA on Apple Silicon in under 15 minutes
Teach SmolLM2-135M a date-format conversion it cannot do out of the box, with a rank-8 LoRA adapter trained for 60 steps on MPS or CPU, then save, reload and verify the adapter.