2 min read AI-generated

Firefox Now Runs Inside Chrome: A Whole Browser in WebAssembly, Built With $25,000 of Claude Tokens

Copy article as Markdown

Puter compiled Firefox to WebAssembly. The entire browser runs inside another browser. And the bill behind it is a neat lesson in the economics of AI-assisted coding.

Featured image for "Firefox Now Runs Inside Chrome: A Whole Browser in WebAssembly, Built With $25,000 of Claude Tokens"

Sometimes a project is just absurdly cool. Puter compiled Firefox to WebAssembly — the entire browser runs inside another browser. Simon Willison tried it: his blog, running in Firefox, running in WebAssembly, running in Chrome.

Why Firefox

They picked Firefox/Gecko because the engine has strong single-process support. That’s the precondition for any of this working at all — Chromium’s multi-process architecture would be a much harder problem inside a WASM sandbox.

The networking part is the real trick: code running in a browser can’t open arbitrary network connections. So all traffic funnels through a WebSocket protocol (Wisp) via Puter’s server. That sounds expensive — and apparently was: the team had to scale servers up when the Hacker News conversation about the project kicked off.

Willison inspected the end-to-end encryption claim and confirms it: traffic to his own HTTPS site was encrypted, while requests to http://www.example.com/ were in cleartext.

The bill

Now the part that sticks with me. By their own estimate, the project burned $25,000 worth of Claude Opus and Fable tokens. They paid far less — the team was on a Claude Max plan.

That’s the quiet story here. $25,000 in API costs for a feasibility study of the “is this even possible?” variety simply wouldn’t fly. On a flat-rate subscription, it did. It wasn’t the model that made this project possible — it was the pricing model.

And that’s not a footnote. It decides which experiments anyone bothers to start.

My take

A whole browser as a WASM blob is the kind of thing that would have been a multi-year thesis three years ago. The point isn’t that Claude built it alone — a project like this is packed with human knowledge about Gecko, build systems and network proxying. The point is that the threshold moved: from “who’s brave enough to sink six months of their life into this” to “let’s just try it”.

That’s exactly the experience I have with Claude Code on a much smaller scale. You start with a question and end up somewhere else entirely. Just with a browser engine instead of a weekend script.

By the way: the code is open as firefox-wasm. There’s a similar project, theogbob/WebkitWasm, compiling WebKit to WASM — but that one has no accessible online demo yet.


Sources: