00 / Python
Learn debugging, git and real servicesgraded by the real tools
From a hung deadlock to a broken migration - 180 lessons graded by pdb, pytest, and a real Postgres, not string matching.
Early access
01 / what grades you
Grading runs the real tools the job actually uses, in the copy of VS Code you already have open - not a simulated sandbox and not a recording.
When a lesson says PASSED, that verdict came from the real debugger, the real test runner, or a real service running on your machine.
PROOF 161 lessons verified stub-fails-solution-passes, 0 failures; the other 19 are quizzes and observation lessons, skipped by design, not by accident
02 / the free tier
20 free lessons, forever
No account. No card.. the free tier makes zero network calls, answers ship encoded and are released one failed attempt at a time, and your progress is a local file you can read and delete. no accounts, no telemetry, no subscription.
03 / syllabus
Lesson 1 of 20 free. Opens in your own VS Code - free forever.
Store not yet open What to expect on your machine
180 lessons across 8 tracks
Debugging
Your first breakpointFREE/Stepping through codeFREE/Reading the call stackFREE/Reading tracebacksFREE/Conditional breakpointsFREE/Watch expressionsFREE/Exception breakpointsFREE/LogpointsFREE/Debugging a live HTTP request/Which layer dropped the field/The silently None field/The service will not start/Debugging scheduled code/Debugging a failing test/Async stack traces/A race you can catch/The blocked event loop/Threads, one at a time/Memory: who ate it/Stepping into libraries/Remote attach into Docker/Two processes, one debugger/The mutating total/Timeouts and retries/Contract mismatch/One request id, two logs/The lost task/The vanishing money/The read that lies/Capstone: the wrong total
Python
Variables and typesFREE/Strings and f-stringsFREE/Control flow/Functions, properly/Your first class/Dunder methods/Dataclasses/Modules and imports/Virtual environments/pip and packaging/Comprehensions/Iterators/Generators/Decorators/async and await/The match statement/Context managers/Exceptions/None and optionals/Equality and identity/Mutability traps/Typing basics/Protocols and generics/Narrowing with mypy/Collections in depth/Sorting and keys/pathlib and files/JSON in and out/Enough regex/Calling APIs with httpx/A proper CLI/Datetimes/Logging
Git
Your first repositoryFREE/The three areasFREE/Good commits/gitignore/Branch and switch/Fast-forward merge/The conflict/Branch lifecycle/Amend the last commit/Rebase onto moved main/Squash commits with rebase -i/Drop a commit with rebase -i/Cherry-pick and revert/Recover with reflog/Reset: soft, mixed, hard/Stash work in progress/Find a regression with bisect/Push to a remote/Pull with rebase/Tags and releases/The feature-branch workflow/Capstone: deliver clean history/What a commit really is/Trees, blobs and refs/The index unmasked/Submodules without tears/Worktrees/Large files and history bloat/Attributes that save releases/Hooks that guard the gate/Signed work/Rebase with a robot/Autosquash discipline/The reverted merge trap/Detached HEAD, no fear/Archaeology/Grand capstone: the inherited repo
Testing craft
Your first testFREE/Fixtures/Parametrize/Testing exceptions/monkeypatch/Mock objects/Floating point with approx/Temporary files/Asserting on logs/Capstone: a full suite
SQL
Your first queryFREE/Numeric, not floatFREE/Inserting rows/SELECT and WHERE/DISTINCT and ORDER BY/GROUP BY and aggregates/HAVING vs WHERE/CASE expressions/INNER JOIN/LEFT JOIN and NULL/The fan-out trap/Self-join/Anti-joins and NOT IN/INSERT ... RETURNING/Constraints and ON DELETE/UPSERT with ON CONFLICT/NULL and three-valued logic/Transactions and deadlocks/SQL injection/Subqueries and CTEs/Set operations/Dates and generate_series/Window functions/Views/JSONB/Indexes and EXPLAIN/Fix the slow query/Recursive CTEs/Schema design/Capstone: the revenue report
APIs
Your first endpointFREE/Path parametersFREE/Query parameters/Request body with Pydantic/Response models/Validation with Field/Status codes/Error handling/Dependency injection/Async endpoints/Reading headers/Middleware/API key auth/Pagination/A database-backed endpoint/Capstone: a CRUD resource
Advanced backend
Your first Celery taskFREE/Retries and dead letters/Scheduled jobs/Caching with Redis/Cache invalidation/Concurrent tasks with gather/Timeouts and cancellation/Threads, the GIL, and pools/WebSockets/Rate limiting/Feature flags/Metrics and observability/Capstone: the broken worker
Infrastructure
Docker imagesFREE/Docker composeFREE/Debugging in containers/Redis basics/Redis as a cache/Kubernetes deploy/Debug a pod/Config and secrets/Multi-stage builds/Volumes and persistence/Crash forensics
04 / how it grades you
Do the work
Open the lesson in VS Code and write the fix, the query, or the test - in your own editor, with your own tools.
The real tool checks it
The debugger, the test runner, or the real service your code talks to decides pass or fail - not a string match on your keystrokes.
Hints, then the solution
Stuck lessons escalate through hints before the reference solution unlocks - spoilers are earned, not browsable.
05 / your machine
What to expect on your machine
By track, per operating system
| Track | Windows | macOS | Linux |
|---|---|---|---|
| Full curriculum | not yet | not yet | not yet |
| Measured per-OS rows land here when the next full three-operating-system run completes and is reconciled on the delivery board. Until then the honest record is the prose above: macOS measured green across all 160 paid lessons, Windows at 140 of 160 and in verification, Linux not yet re-measured. | |||
measuring, 2026-08-30
free lessons CI-proven, full edition in verification Windows
Every lesson grades green on Linux in CI, every commit. Free lessons walk green through the installed extension on Windows, macOS and Linux. The full edition - real licence key, real encrypted download - walks all 160 lessons green on macOS and Linux; not yet on Windows, so the paid edition stays in verification there. The last three-operating-system run was in July, and the git track's graders have been rewritten since. macOS goes on sale once it passes on real Apple hardware.
CI-proven, hand pass pending macOS
the full edition - real licence key, real encrypted download - walks all 160 of its lessons green on macOS and Linux. macOS goes on sale the moment it passes on real Apple hardware, not a day sooner. Every lesson passes in CI on macOS; no person has yet walked it on a real Mac.
CI-proven Linux / WSL
every lesson grades green on Linux in CI, on every commit; the full edition walks all 160 of its lessons green on macOS and Linux.
Store not yet open 20 free lessons are ready right now.
06 / receipts
Receipts
Receipts are claims paired with evidence. The changelog carries the dated record.
PASS every gradeable lesson carries a CI solvability proof161 lessons verified stub-fails-solution-passes, 0 failures; the other 19 are quizzes and observation lessons, skipped by design, not by accident
PASS the services are real, not simulatedSQL grades on a live postgres:16-alpine container, caching on a live redis:7-alpine, APIs on a real in-process FastAPI - if Docker is not running, the lesson tells you, honestly
PASS Python installs itselfuv provisions a pinned Python 3.12 and each lesson's dependencies - install to first green checkmark without touching a download page
PASS answers are earned, never browsablesolutions, explanations and hints ship encoded; the coach releases them one failed attempt at a time
PASS the paid edition is encrypted, and there is no plaintext bundlethe full curriculum ships as an encrypted pack, built by the same packer CI runs; the build refuses to produce anything without a key rather than falling back to a readable zip, and every copy carries a per-buyer marker written into the lessons as they are unpacked. The shipped verifiers check the pack and the marker on Windows, macOS and Linux. The buyer's own walk through it - decrypt, grade, done - is measured green on macOS across all 160 paid lessons; the same run put Windows at 140/160, still in verification, as the status above says; the Linux leg was lost to an infrastructure outage in that run and has not yet been measured
PASS guided first run from a cold installa Start-here Lesson 0, an activation check that names any missing tool, a VS Code walkthrough and a one-click Prepare sandbox button
PASS your progress is a file you ownno account - export it and import it from the Command Palette when you change machines
PASS zero minutes of videonothing to watch; everything to do
07 / questions
Do I need an account?
No. The extension is local. Your progress lives on your machine as a file you own, and exports and imports from the Command Palette when you change machines. No telemetry either.
What do I need installed?
VS Code, uv and git. uv provisions a pinned Python 3.12 and each lesson's dependencies, so Python itself is not a download you have to go and find. Docker is needed only by the 33 lessons that grade against a real service, and not even then if you already run a Postgres and Redis. The environment doctor checks the lot in one command.
Does my operating system get the whole course?
The curriculum, yes - no lesson is gated by your operating system, on any of the three. What differs is how much we have proven: the free lessons are CI-proven through the installed extension on Windows, macOS and Linux, and the full edition on macOS and Linux, with Windows still in verification. It is on this page rather than in a support thread.
Can I see the answers?
Each lesson coaches you with escalating hints before it will reveal a reference solution, and solutions ship encoded rather than sitting in a file next to the exercise. Spoilers are earned, not browsed.
I use AI to code. Is this for me?
Especially you. Use the AI - ship faster. But when the stack trace arrives, autocomplete goes quiet. These are the skills that answer.