George MacKerron built printervention.app, a web application that runs a full Linux VM inside your browser to give abandoned printers a second life. The project started when he acquired a Canon SELPHY photo printer that neither macOS nor Windows would touch anymore. Linux could handle it via CUPS and Gutenprint, but MacKerron wanted something anyone could use without installing software or buying a Raspberry Pi print server. The solution runs v86, Fabian Hemmer's browser-based x86 emulator, booting Alpine Linux and connecting to physical printers through Chrome's WebUSB API.

The technical bridge between the emulated Linux environment and real printers went through several iterations. MacKerron initially tried a custom CUPS backend (Gemini's idea) that piped print data through a v86 TTY, but the text-mode channel mangled binary data and produced colorful but incorrect output. Adding an stty raw command fixed the color plane displacement. Later, he asked Claude how to make the connection bidirectional so CUPS could receive status updates from the printer. Claude suggested USB/IP and tcpip.js, then wrote a 400-line USB/IP-to-WebUSB bridge in what MacKerron calls essentially one shot. He paid £18 for a month of Claude Code and describes it as "a private jet" compared to normal development.

The app works by identifying your printer via WebUSB, matching it to the closest Gutenprint driver using trigram similarity, and installing that driver in the VM. When you print a photo, it uploads into the emulated machine, CUPS processes it, and USB/IP packages the data for tcpip.js to unwrap and send to your printer via bulk USB transfers. MacKerron wrapped up the project by embedding JPEGs in hand-rolled PDFs to stop CUPS from squashing photos. He's now working on yes-we-scan.app using the same stack for old scanners.