Products / 2026 / Live in the browser
Coil
A Python playground for kids. Real Python 3.14 runs in the browser through Pyodide, and 24 missions across 8 levels go from print to a small adventure game, with turtle drawing and friendly explanations of Python errors.
01
The problem
Kids who want to write real code get either a block editor or an install that a school laptop will not allow, and Python's tracebacks are written for adults.
02
How I approached it
Pyodide runs in a Web Worker, so an endless loop never freezes the page. With cross-origin isolation a SharedArrayBuffer pauses the program for input() and stops it with a KeyboardInterrupt; without it, Stop replaces the worker. One runtime.py records turtle drawing, wires input() to the page and runs the mission checks, and the same file runs in the browser and in the mission checker. Tracebacks are turned into one kid-sized sentence.
03
The outcome
A check script runs every mission's answer key on real Python and requires every starter to fail, and the error explanations are tested against real Python 3.14 messages. No accounts and no server: progress lives on the device, so the site holds no personal data about children.