pyforjs home

Start here

What this course is, who it is for, and how the in-browser Python runtime works.

A one-day technical transition for senior JavaScript and TypeScript engineers moving to modern Python 3.14+ and AI engineering. Roughly seven hours end to end, five modules, one runnable kata each.

Who this assumes you are

Fluent in modern TypeScript, ES6+, async/await, and Node service architecture. Nothing here explains what a closure is; every section explains where Python's version of the thing you already know diverges from yours.

How the code runs

Every editor on this site is real CPython, compiled to WebAssembly, running on a worker thread in your browser. There is no server, no sandbox to provision, and no install step. The first snippet you run downloads the runtime, a few seconds, and every one after that is instant.

That means the output you see is what the interpreter actually did, not what an author claimed it would do. The Footgun Simulator leans on this. You predict, then CPython settles it.

The modules

When a kata fails

Failing katas have an Explain in JS Terms button. It sends the code, the assertions and the traceback to a model with one instruction. The model explains the Python error using JavaScript analogies, point at the line, show the idiomatic fix.

Two references sit alongside the course: the Rosetta cheatsheet for lookups, and the Footgun simulator for the cases where your instincts are actively wrong.

On this page