Short, focused lessons that take you from your first print() to writing real scripts — reading data, automating chores, building small tools you'll genuinely reuse. Runs in your browser. Works on a phone. Free forever.
Start here if you've never written code. Variables, control flow, functions, lists, and dictionaries — the eleven concepts you need before anything else makes sense.
Once the basics click, this is where Python starts to feel useful — OOP, files, exceptions, comprehensions, decorators, and the techniques you'll lean on every day.
The techniques that separate "Python user" from "Python engineer" — metaclasses, descriptors, async, typing, and performance work.
Apply what you've learned by building real, working Python programs you'll actually use. Each project walks through the build end-to-end, then hands you stretch goals to make it your own.
Recipe-style answers to the things you'll actually Google later — scraping, APIs, CSVs, databases, automation, testing, logging, packaging.
A gentler entry to data science — what it is, why it matters, and your first hands-on Pandas analysis. Intuition first, jargon never.
Machine learning without the maths-degree pretence. Linear regression, classification, decision trees, and the metrics that actually matter.
Neural networks from intuition first, then Keras. CNNs for images, RNNs for sequences — and what every line of training code is doing.
How ChatGPT, Claude, and friends actually work — tokens, attention, embeddings, RAG, fine-tuning — and how to use them from Python.
NumPy, Pandas, Matplotlib, and just enough statistics to not embarrass yourself. Real datasets, real questions, no toy examples.
Neural networks, CNNs, NLP, GANs, and how the production AI stack actually fits together. Theory where it earns its place, code where it doesn't.
Flask, FastAPI, and Django — when each fits, how to build a working app in each, and the patterns production teams actually ship. Auth and database wiring come next door.
Password hashing, sessions, JWT, OAuth2 with real providers, and the OWASP-flavoured security checklist every web app needs before it goes live.
Docker, GitHub Actions, environment management, and secret handling — the boring-but-critical layer between 'works on my laptop' and 'works in production'.
Beyond SQLite — Postgres with psycopg/asyncpg, Redis for caching and queues, MongoDB for document data, plus ORM patterns that don't blow up in production.
Every Python error you are likely to meet, from a stray indent to a service falling over at 2am. What Python is actually complaining about, the code that causes it, and the fix — with the examples runnable here.
Cheat sheets and a glossary for when you have forgotten the syntax rather than broken something — comprehensions, slicing, f-strings, datetime, regex. No fluff, just the answer.
Short, practical habits that experienced Python developers rely on: the before, the after, why it works, and when not to use it. Plus how real projects like Dropbox and Spotify used these ideas at scale.
Real outages, lost data and a malicious package (Cloudflare, GitLab, PyPI): what went wrong, told from each company’s own write-up, and the habit that would have caught it. Every story ends in code you can run.
The data tracks assume you can actually run things. You can — scikit-learn, XGBoost, LightGBM, pandas and statsmodels all execute in this tab, with no install, and your code never leaves your device. Train a model, score it on a test split, plot the result. PyTorch and TensorFlow are the honest exceptions: no WebAssembly build exists, so those lessons ask you to run locally and say so plainly.
Cells that share one Python session. Load a DataFrame in the first cell and every cell below can see it — no re-running the whole file to change one line. Tables and plots render where you make them, and it autosaves.
Open the notebook →Seven CSVs with real structure in them, so a model you fit actually finds something: housing, weather, retail, films, students, churn — plus one deliberately messy file, because cleaning is the part nobody teaches. One line to load any of them.
Browse the datasets →The full editor when you want a scratchpad rather than a notebook: multi-tab, syntax checking, package installs, and your session restored exactly where you left it.
Open the playground →Charts render as high-resolution images, and Plotly figures render live — drag to rotate a 3D scatter or spin a loss surface, which is the difference between seeing a cluster and understanding one.
a short, honest note — worth two minutes.
196 lessons, 45 error write-ups and 31 tips is where we are, not where we stop. Two of the things promised here have shipped; the next two are being written now, in this order. There is no newsletter and no notify me box — bookmark the site and look in again, and if you want one of these sooner, say so with the feedback button. That is genuinely how the order gets decided.
Now live as Tips & tricks: 31 tips, each putting the beginner version next to the Pythonic one, with why it’s better and when the short form is the wrong call.
Browse the tips →The code that never raises anything, now in the tips: the mutable default argument, the bare except, the comparison against True, the list doing a set’s job, is where you meant ==.
The How-to track already has in-depth recipes. Next: one short, runnable page per question people actually type — read a CSV, call an API, parse JSON, talk to SQLite — instead of a forum thread from 2014 with three contradictory replies.
Seventeen tracks is a lot of doors. One page that puts them in order — what to learn first, what can wait, and what you genuinely do not need yet.
Everything already here stays free, and everything new arrives the same way — no account, no paywall, no email gate.
No paywall, no premium tier, no email gate. Your code runs in your browser, not on servers we rent, which is what makes free possible. There are no ads today; when they arrive they'll be clearly labelled, and the lessons stay free either way.