Projects
Build the thing.
Keep the skill.
86 focused projects. Each one drills a real skill until it is a reflex, then has you build something that exists afterwards on your own machine.
86 projects
Highlights
- Part 1
Python Foundations
Read a program before you run it. Then write one worth showing.
Foundational~6h8 modules
- Part 2
Python Fluency
Choose the shape before you type. Then say it in one line.
Intermediate~5h7 modules
- Part 3
Python Confidence
Somebody else wrote it. Find out whether it works.
Advanced~7h7 modules
- Part 4
Python Craft
It works. Now make it somebody else's.
Advanced~10h7 modules
- Part 5
Python Design
It works. It is also the wrong shape.
Advanced~8h7 modules
- Part 6
Python Reach
The data is outside. Go and get it.
Advanced~7h7 modules
HTTP & APIs
Every answer is already in the headers.
Intermediate~4h6 modules
Nginx & Proxies
The config is right. The request went somewhere else.
Advanced~4h6 modules
Auth
Everything works until somebody holds one piece of it.
Intermediate~3h5 modules
Discrete Mathematics Drills
MA101 taught it once. This is the volume.
Intermediate~8h8 modules
Modern CSS
Six features that changed what a stylesheet is.
Intermediate~4h6 modules
Modern JavaScript
Modules, iterators, generators, proxies — read it before you run it.
Intermediate~5h6 modules
TypeScript: Types & Inference
The checker already knows. Learn to read it.
Intermediate~4h5 modules
CSS: Layout
Predict the box before the browser draws it.
Intermediate~3h6 modules
Rust: Ownership
Call it before the compiler does.
Advanced~3h5 modules
Rust: Types & Traits
The borrow checker is settled. Now shape the types.
Intermediate~4h6 modules
Regex
Read the pattern. Then predict exactly what it does.
Intermediate~4h6 modules
SQL: Queries
Say what a query returns before you run it.
Intermediate~3h6 modules
ORMs
Count the queries before the mapper sends them.
Intermediate~4h6 modules
SQL: Joins & NULL
The rows that found no partner, and the values that are not there.
Advanced~4h5 modules
SQL: Advanced
The clause you did not write decided the number.
Advanced~6h7 modules
PostgreSQL
Predict what the engine will do before it does it.
Advanced~4h6 modules
Rust: Concurrency
Four designs. One answer. Every run.
Advanced~4h5 modules
CSS: Cascade & Specificity
Specificity is the fifth question, not the first.
Intermediate~4h5 modules
TypeScript: Advanced
The type system is a language. Write it.
Advanced~4h7 modules
C Foundations
Everything before the asterisk, and the build underneath it.
Intermediate~5h6 modules
Go Foundations
The six places Go answers differently.
Intermediate~7h7 modules
Go Concurrency
One goroutine is a program. Two is a design problem.
Advanced~5h6 modules
JavaScript Foundations
Know what it prints before you run it.
Intermediate~5h7 modules
JavaScript: Async
Nothing here runs when you wrote it.
Intermediate~6h6 modules
Java Foundations
Say what a Java line prints. Then compile one that earns its output.
Intermediate~5h6 modules
Java: JVM & Memory
Your objects die on a schedule nobody showed you.
Advanced~5h6 modules
Linux & Shell
The prompt stops being a place you guess.
Foundational~4h5 modules
Linux: Processes & Systems
Stop guessing why it did not come back.
Intermediate~4h6 modules
Bash Scripting
The line you keep is a different thing from the line you type.
Intermediate~5h5 modules
REST API Design
Every good decision has a constraint behind it.
Intermediate~3h7 modules
Git: The Model
Stop memorising the commands. Learn what they move.
Intermediate~5h6 modules
Git: Collaboration
Two people, one history, and no surprises.
Intermediate~5h7 modules
HTML & Semantics
Two documents that look identical. Only one of them says anything.
Foundational~4h6 modules
Data Modelling
Name the form it breaks, and what the break costs you.
Intermediate~5h5 modules
Tailwind
A class name is a compiled selector.
Intermediate~4h5 modules
Accessibility
The scan came back clean. Now put the mouse down.
Intermediate~4h5 modules
React: Effects & Data
Effects have an order. Learn to say it without stopping to think.
Intermediate~5h6 modules
Next.js
Where does this run, and which copy answered?
Intermediate~4h5 modules
React: Rendering & State
Know how many times it renders before you run it.
Intermediate~4h5 modules
The DOM & Web APIs
The page will tell you what it is about to do.
Intermediate~3h6 modules
C++ Foundations
Know what the closing brace runs.
Advanced~4h5 modules
C: Pointers & Memory
It compiled. It ran. Is it correct?
Advanced~4h6 modules
Kubernetes: Objects
Stop guessing what the cluster will do next.
Intermediate~4h4 modules
Kubernetes: Config & Networking
The cluster already told you what is wrong.
Intermediate~4h6 modules
Modern C++
It compiles. Now say what it does.
Advanced~3h6 modules
Frontend Testing
Green is a claim, not a proof.
Advanced~4h4 modules
Browser Rendering
Know what the browser will do before you ask it to.
Intermediate~4h5 modules
Message Queues
The broker will hand it to you again. How many times?
Advanced~3h5 modules
GraphQL
One request, and a bill nobody counted.
Advanced~4h6 modules
AWS: IAM & Security
The algorithm is published. This is running it.
Intermediate~4h5 modules
Docker: Compose & Networking
Know where every byte and every connection goes, before you run it.
Intermediate~4h5 modules
Docker: Images & Layers
Stop waiting four minutes for a one-line change.
Intermediate~4h5 modules
Redis & Caching
Every cache is a number you chose.
Intermediate~4h5 modules
MongoDB & NoSQL
Embed it or point at it — and know which, with a number.
Advanced~4h5 modules
NumPy
Know what comes out before you run it.
Intermediate~5h5 modules
pandas
Say what the table will be before you run the line.
Intermediate~4h7 modules
AWS: Networking
The packet got somewhere. Say where it stopped.
Advanced~2h5 modules
AWS: Core
Given this workload, which one is wrong, and why?
Intermediate~3h5 modules
CI/CD
What passed here will pass there. Check the claim.
Intermediate~4h6 modules
Terraform
Say what apply will do before you run it.
Advanced~5h5 modules
Observability
Three nines is a number. Work out which one.
Advanced~3h4 modules
RAG & Embeddings
Retrieval is arithmetic. Do the arithmetic.
Intermediate~4h5 modules
LLM Fundamentals
Tokens are countable. A window is arithmetic.
Intermediate~4h5 modules
PyTorch: Training
Write a loop that learns, and fix one that does not.
Advanced~4h4 modules
PyTorch: Tensors & Autograd
Say the gradient before backward() does.
Intermediate~4h4 modules
Interview: Two Pointers & Sliding Window
Read the problem. Then say whether a window applies at all.
Intermediate~3h4 modules
Interview: Trees & Graphs
One skeleton. Then the family it answers.
Intermediate~5h6 modules
Interview: Dynamic Programming
Most problems are not new. Learn to see the shape.
Advanced~5h5 modules
System Design: Walkthroughs
The system is the setting. The decisions are the work.
Advanced~4h5 modules
System Design: Building Blocks
Every box has a price. Learn to work it out.
Advanced~4h6 modules
VS Code
Stop guessing what the window just did.
Foundational~4h6 modules
JSON & YAML
Two formats you can read. Neither one means what you think.
Intermediate~4h5 modules
Vim Basics
Stop memorising keystrokes. Learn the grammar that generates them.
Foundational~4h6 modules
R for Data
Say what it returns before you run it.
Intermediate~4h5 modules
Figma for Developers
Read the file. Get the numbers. Ask nobody.
Intermediate~3h5 modules
Linear Algebra Drills
MA201 taught it once. This is the volume.
Advanced~7h9 modules
Computer Architecture Drills
CS203 taught it once. This is the volume.
Advanced~6h9 modules
Probability & Statistics Drills
Thirty-three procedures, on questions that never repeat.
Advanced~8h9 modules
Algorithm Analysis Drills
CS305 taught it once. This is the volume.
Advanced~6h8 modules
Theory of Computation Drills
CS304 taught it once. This is the volume.
Advanced~6h9 modules
Browse by topic
Eight shelves, one skill each
Pick one.
Start today.
The first item of every project is free. No setup, nothing to install until a project needs it.