# The Web Is More Than Enough, by Paul Ford

> Source: <https://simonwillison.net/2026/Nov/9/hn-50421091/>
> Published: 2026-11-09 04:32:33+00:00

[My comment](https://news.ycombinator.com/item?id=50416456#50421091) on [The Web Is More Than Enough, by Paul Ford](https://news.ycombinator.com/item?id=50416456) — Hacker News.

OK, this comment convinced me to give that a shot.

Here's a thing I made in Three.js this morning - a Nudibranch themed Faberge Egg: [https://static.simonwillison.net/static/2026/Hidden-Reef-Egg...](https://static.simonwillison.net/static/2026/Hidden-Reef-Egg-threejs.html) (77KB)

I just asked Claude (Opus 5.5 Medium running in regular Claude Chat) to port that to Vanilla JS, in the same thread where it had built it, and got this: [https://static.simonwillison.net/static/2026/Hidden-Reef-Egg...](https://static.simonwillison.net/static/2026/Hidden-Reef-Egg-Vanilla-WebGL.html) (98KB)

They aren't identical - you can see what Claude said about that in the transcript (I don't fully understand why it differed): [https://claude.ai/share/e56d163e-2793-4677-aa11-191d5058b414](https://claude.ai/share/e56d163e-2793-4677-aa11-191d5058b414)

But yeah, it turns out Claude Opus 5.5 is perfectly capable of 3D modeling in Vanilla JS + WebGL without Three.js.

In eyeballing the code I find the Three.js slightly easier to understand myself, but I rarely look at the code for these 3D projects so that isn't a particularly big deal.

Tags: [hacker-news](https://simonwillison.net/tags/hacker-news), [javascript](https://simonwillison.net/tags/javascript), [ai](https://simonwillison.net/tags/ai), [generative-ai](https://simonwillison.net/tags/generative-ai), [llms](https://simonwillison.net/tags/llms), [claude](https://simonwillison.net/tags/claude), [three-js](https://simonwillison.net/tags/three-js)
