Simon Willison · 2026-07-16 · notable
Simon Willison — Puter compiles Firefox to WebAssembly using ~$25K in Claude tokens
Simon Willison writes up Puter's firefox-wasm project: the Gecko engine compiled to a 233MB WebAssembly binary that runs Firefox inside another browser, built with about $25,000 of Claude Opus and Fable tokens on a Claude Max plan.

Puter shipped Firefox running inside another browser tab — Simon Willison walks through how much Claude did the porting work and where the seams show.
What is it?
Simon Willison's July 16 post covers firefox-wasm, a Puter Labs project that compiles Mozilla's Gecko engine to WebAssembly so the actual Firefox interface renders inside a normal browser tab. The build ships as a 233MB gecko.wasm binary; Simon confirms it runs by loading his own blog inside a nested Firefox running inside Chrome.
How does it work?
Firefox in Wasm cannot open arbitrary network sockets from browser code, so all page loads are routed over WebSocket through the Wisp proxy protocol on Puter's servers. GPU rendering goes through WebGL and the project ships an experimental JavaScript-to-WebAssembly JIT (Puter flags it as still buggy). Puter's team told Simon they chose Firefox specifically because Gecko's single-process mode is the only mainstream engine that fits cleanly into a WebAssembly build.
Why does it matter?
Simon flags the interesting number: the port took roughly $25,000 worth of Claude Opus and Fable tokens, but ran under a Claude Max subscription so the real out-of-pocket cost was much lower. That reframes 'is coding-agent time cheap enough to attempt engine ports?' from a hypothetical into an actual example — a 20-year-old browser codebase re-hosted on a new runtime by a small team using LLM assistance as most of the labour.
Who is it for?
Browser engineers, agent builders, and anyone tracking what LLM-driven ports of large legacy codebases actually cost.
Try it
Try the demo at developer.puter.com/labs/firefox-wasm