CodingSoftware & developer tools
Claude Opus 5.5 rewrites a Three.js 3D scene in plain WebGL, adding to debate over Paul Ford's case for the browser
Simon Willison had Claude Opus 5.5 rewrite a Three.js 3D scene in plain JavaScript and WebGL. Readers measured the library-free version as far smaller and more responsive, though it dropped visual effects. The test followed Paul Ford's essay on the browser as an app platform.
From the Simon Willison article of November 9, 2026 and cited sources: After a Hacker News commenter argued that an LLM doesn't need Three.js, Willison asked Claude Opus 5.5 to port his 'Nudibranch Fabergé Egg' scene to vanilla WebGL. [1] [2] [9]
SOURCES[1] Simon Willison: comment on "The Web Is More Than Enough" simonwillison.net[2] Hacker News: simonw comment and replies news.ycombinator.com[9] shared transcript claude.ai
AI-assisted, not human-edited. Methodology Corrections Who owns this site
- What happened
- After a Hacker News commenter argued that an LLM doesn't need Three.js, Willison asked Claude Opus 5.5 to port his 'Nudibranch Fabergé Egg' scene to vanilla WebGL. [1] [2] [9]
- Original source
- Simon Willison article, independent perspective
- Brief by
- AT Pulse research desk AI-assisted; publisher and contact on the desk page
- When
- November 9, 2026 article published
- Covered
- Nov 9 edition
- Evidence
- 11 sources across 8 sites
- 1Simon Willison: comment on "The Web Is More Than Enough"simonwillison.net
- 2Hacker News: simonw comment and repliesnews.ycombinator.com
- 3TechCrunch: Anthropic releases Opus 5.5techcrunch.com
- 4BetaNews: Claude Opus 5.5 price cutbetanews.com
- 5Paul Ford: The web is more than enough (Aboard)aboard.com
- 6Simon Willison: The October inflection point for vibe game…simonwillison.net
Reach: not measured yet
After a Hacker News commenter argued that an LLM doesn't need Three.js, Willison asked Claude Opus 5.5 to port his 'Nudibranch Fabergé Egg' scene to vanilla WebGL. He used the regular Claude chat app, in the same conversation that built the original scene. Both versions and the chat transcript are public. [1] [2] [9]
Hacker News readers reported large gains for the port. One put the total download at 173.4 KB versus 2.61 MB with the Three.js library included. Another measured page responsiveness (Interaction to Next Paint) at 120 ms versus 504 ms. However, a commenter said the port removed glow and glass effects, so the two versions don't do the same work. [2]
The experiment grew out of Paul Ford's essay. He argues that built-in browser features such as WebGL, WebAssembly, Web Crypto and Web Audio, plus nearly free hosting, now let one person ship software that once needed a team. Critics, including Leon Mika and several Hacker News users, agree the web is powerful but doubt it will replace native apps. [5] [6] [10] [11]
The evidence is one public demo and a few readers' measurements. If models can reliably write low-level graphics code, small web projects may need fewer libraries.
Read the full assessment
The costs would shift toward readability, maintenance, and checking that every feature survived the rewrite.
Research is complete, so I'm writing the dossier now.
Executive brief
Claude Opus 5.5 rewrote a Three.js 3D scene in plain JavaScript and WebGL in one chat. On Hacker News, readers measured the library-free version as much smaller and faster. Simon Willison ran the test after a commenter argued that an LLM doesn't need Three.js (Willison). Bengalilol put the total download at 173.4 KB against 2.61 MB, and another reader reported much better responsiveness. Another commenter said the port dropped visual effects, though, so the two versions don't do the same work (HN thread). The thread follows Paul Ford's essay arguing that the browser alone is now a strong enough app platform.
What changed and event timeline
Anthropic ships Opus 5.5
Anthropic says it matches its pricier Fable 5.1 model at 20% lower API prices. Outside groups METR and Frontier Design tested it before release (;).
Ford publishes "The Web Is More Than Enough."
He says browser APIs (Web Crypto, WebAssembly, WebGL, Web Audio) give solo developers power that used to need large teams. One example is Willison's browser game Battle Drones ().
Willison calls an "inflection point" for vibe-coded games
He made four browser games with Claude, each taking at most four hours of his own time, and credits Opus 5.5 improvements ().
The essay spreads
Kottke and Willison quote Ford's line that the browser is "very, very, very powerful" software whose cost of access keeps falling (;).
Willison tests the no-framework idea
In the same chat that built the scene, Opus 5.5 ports his Three.js "Nudibranch Fabergé Egg" to vanilla WebGL. Readers post size and speed numbers and point out missing effects (;).
Capabilities and access
- Model: "Claude Opus 5.5 Medium" in the regular Claude chat app, not an agent harness (Willison).
- Price and access: $4 per million input tokens and $20 per million output tokens.
- Outputs: Both versions are public: a 77 KB Three.js file and a 98 KB vanilla WebGL file. Willison also published a shared transcript.
Read the full section
- Model: "Claude Opus 5.5 Medium" in the regular Claude chat app, not an agent harness (Willison). "Medium" probably means an effort setting, but no reviewed source defines it.
- Price and access: $4 per million input tokens and $20 per million output tokens. Available through Anthropic's API, AWS, Google Cloud, Azure, and the Pro, Max, Team and Enterprise plans (BetaNews).
- Outputs: Both versions are public: a 77 KB Three.js file and a 98 KB vanilla WebGL file. Willison also published a shared transcript.
Technical analysis
- Why the sizes differ: The vanilla file is bigger as written (98 KB vs 77 KB), but the Three.js version also has to download the library.
- Different output: Willison says the two versions aren't identical and he doesn't fully understand why.
- Method: One prompt, one scene, and timings from a few readers' machines. Nobody controlled the test.
Read the full section
- Why the sizes differ: The vanilla file is bigger as written (98 KB vs 77 KB), but the Three.js version also has to download the library. A commenter put the totals at 173.4 KB vs 2.61 MB (HN).
- Different output: Willison says the two versions aren't identical and he doesn't fully understand why. A commenter citing the transcript says the port removed the glow and glass effects. Size and speed comparisons therefore compare two scenes with different features.
- Method: One prompt, one scene, and timings from a few readers' machines. Nobody controlled the test.
- Readability: Willison finds the Three.js code a little easier to follow, but rarely reads the code in these projects.
Claims and evidence
- Opus 5.5 can build 3D scenes in vanilla WebGL: One public demo supports this (Willison). It doesn't show how reliably the model does it.
- The vanilla port is faster: whilenot-dev reported Interaction to Next Paint (INP, a page-responsiveness metric) of 120 ms vanilla vs 504 ms Three.js.
- Opus 5.5 matches Fable 5.1: This is Anthropic's own claim, as reported by TechCrunch.
Read the full section
- Opus 5.5 can build 3D scenes in vanilla WebGL: One public demo supports this (Willison). It doesn't show how reliably the model does it.
- The vanilla port is faster: whilenot-dev reported Interaction to Next Paint (INP, a page-responsiveness metric) of 120 ms vanilla vs 504 ms Three.js. Bengalilol reported better frame rates on an M1 Mac (HN). These are anecdotes, and the port dropped effects.
- Opus 5.5 matches Fable 5.1: This is Anthropic's own claim, as reported by TechCrunch. The reviewed sources don't include an independent benchmark that checks it.
Context and prior work
- Ford's essay is the frame: browser-native APIs plus near-zero hosting (Cloudflare cost him $0) let one person ship real software (Aboard).
- Willison's October post had already argued that Opus 5.5 is good enough to make games without much creative input from him (Willison).
- In the same thread, onion2k shared an earlier Opus 5 project that did 3D without Three.js (HN).
Read the full section
- Ford's essay is the frame: browser-native APIs plus near-zero hosting (Cloudflare cost him $0) let one person ship real software (Aboard).
- Willison's October post had already argued that Opus 5.5 is good enough to make games without much creative input from him (Willison).
- In the same thread, onion2k shared an earlier Opus 5 project that did 3D without Three.js (HN).
Limitations, safety and contested findings
- Feature loss: The port dropped visual effects, so its size and speed gains partly come from doing less (HN).
- Web vs native: Leon Mika agrees the web is powerful but doubts web apps will replace native apps (Mika).
- Credit: HN commenters disagree over whether prompting an LLM counts as "building" the app or delegating it.
Read the full section
- Feature loss: The port dropped visual effects, so its size and speed gains partly come from doing less (HN).
- Web vs native: Leon Mika agrees the web is powerful but doubts web apps will replace native apps (Mika). Other HN users argue native still wins on performance and user experience (HN discussion).
- Credit: HN commenters disagree over whether prompting an LLM counts as "building" the app or delegating it.
Business and practitioner implications
- Dependencies are optional: If a model can write the low-level code, libraries matter less for small, self-contained projects.
- Check what was dropped: Before relying on size or speed gains from an LLM port, confirm it kept every feature.
- Distribution: Ford's argument and Mika's reply both point to the web as a route around app stores for cheap, AI-assisted software (Aboard; Mika).
Read the full section
- Dependencies are optional: If a model can write the low-level code, libraries matter less for small, self-contained projects. Teams still pay in readability and maintenance.
- Check what was dropped: Before relying on size or speed gains from an LLM port, confirm it kept every feature.
- Distribution: Ford's argument and Mika's reply both point to the web as a route around app stores for cheap, AI-assisted software (Aboard; Mika).