Comment by pavlov
1 day ago
The comment that points out that this week-long experiment produced nothing more than a non-functional wrapper for Servo (an existing Rust browser) should be at the top:
1 day ago
The comment that points out that this week-long experiment produced nothing more than a non-functional wrapper for Servo (an existing Rust browser) should be at the top:
It’s not just a wrapper for Servo, the linked poster just checked the dependencies in the Cargo file and proclaimed that without checking anything further.
In reality this project does indeed implement a functioning custom JS Engine, Layout engine, painting etc. It does borrow the CSS selectors package from Servo but that’s about it.
"Borrow" is an interesting choice of word, see for example this:
https://github.com/wilsonzlin/fastrender/blob/3e5bc78b075645...
And then this:
https://github.com/servo/stylo/blob/71737ad5c8b29c143a6c992a...
It seems ChatGPT is still copying segments of code almost verbatim, although sometimes it does weird things, compare these for example:
https://github.com/wilsonzlin/fastrender/blob/3e5bc78b075645...
https://github.com/servo/stylo/blob/71737ad5c8b29c143a6c992a...
Interesting, I remembered that when trying out Stable Diffusion, once I ventured outside of the realm of anime waifus, the images ended up being so similar to existing sources, that image search could find the references.
Which is also kinda crazy since superficially there was very little similar between the 2 images, but I guess AI models used for image search converge on similar embedding than the ones used for AI generation.
Well, could it be because it was instructed to kinda "study" Servo?
https://github.com/wilsonzlin/fastrender/blob/3e5bc78b075645...
Yeah there's more to a browser than a couple of out-of-tree servo components, otherwise https://github.com/servo/servo wouldn't have 300k+ lines of Rust code, 400k+ if you count comments and blanks (I cloned the repo, nuked the tests directory, then did a count).
Plus that linked comment doesn't even say it's "nothing more than a non-functional wrapper for Servo". It disputes the "from scratch" claim.
Most people aren't interested in a nuanced take though. Someone said something plausible sounding and was voted to top by other people? Good enough for me, have another vote. Then twist and exaggerate a little and post it to another comment section. Get more votes. Rinse and repeat.
In your hurry to defend this slop you didn't do your due diligence. You know that 1 million LoC JS VM? Yeah, it isn't actually running - https://imgur.com/fqGLjSA. And you can tell this is actually the case because it's been brought up a few times on this thread and that guy has ducked around it.
I've responded to this claim in more detail at [0], with additional context at [1].
Briefly, the project implemented substantial components, including a JS VM, DOM, CSS cascade, inline/block/table layout, paint systems, text pipeline, and chrome, and is not merely a Servo wrapper.
[0] https://news.ycombinator.com/item?id=46655608
Just for context, this was the original claim by Cursor's CEO on Twitter:
> We built a browser with GPT-5.2 in Cursor. It ran uninterrupted for one week.
> It's 3M+ lines of code across thousands of files. The rendering engine is from-scratch in Rust with HTML parsing, CSS cascade, layout, text shaping, paint, and a custom JS VM.
> It kind of works! It still has issues and is of course very far from Webkit/Chromium parity, but we were astonished that simple websites render quickly and largely correctly.
https://xcancel.com/mntruell/status/2011562190286045552#m
Could you somewhere make clear exactly how much of the code was "autonomously" built vs how much was steered by humans? Because at this point it's clear that it wasn't 100% autonomous as originally claimed, but right now it's not clear if this was just the work of an engineer running Cursor vs "autonomously organised a fleet of agents".
You're claiming that the JS VM was implemented. Is it actually running? Because this screenshot shows that the ACID3 benchmark is requesting that you enable JavaScript (https://imgur.com/fqGLjSA). Why don't you upload a video of you loading this page?
Your slop is worthless except to convince gullible investors to give you more money.
Does any of it actually work? Can you build that JS VM separately and run serious JS on it? That would be an accomplishment.
Looking at the comments and claims (I've not got the time to review a large code base just to check this claim) I get an impression _something_ was created, but none of it actually builds and no one knows what is the actual plan.
Did your process not involve recursive planning stages (these ALWAYS have big architectural error and gotchas in my experience, unless you're doing a small toy project or something the AI has seen thousands of already).
I find agents doing pretty well once you have a human correct their bad assumptions and architectural errors. But this assumes the human has absolute understanding of what is being done down to the tiniest component. There will be errors agents left to their own will discover at the very end after spending dozens of millions of tokens, then they will try the next idea they hallucinated, spend another few dozen million tokens and so on. Perhaps after 10 iterations like this they may arrive at something fine or more likely they will descent into hallucinations hell.
This is what happens when one of :the complexity, the size, or it being novel enough (often a mix of all 3) of the task exceed the capability of the agents.
The true way to success is the way of a human-ai hybrid, but you absolutely need a human that knows their stuff.
Let me give you a small example from systems field. The other day I wanted to design an AI observability system with the following spec: - use existing OS components, none or as little code as possible - ideally runs on stateless pods on an air gapped k3s cluster (preferably uses one of existing DBs, but clickhouse acceptable) - able to proxy openai, anthropic(both api and clause max), google(vercel+gemini), deepinfra, openrouter including client auth (so it is completely transparent to the client) - reconstruct streaming responses, recognises tool calls, reasoning content, nice to have ability to define own session/conversation recognition rules
I used gemini 3 and opus 4.5 for the initial planning/comparison of os projects that could be useful. Both converged on helicone as being supposedly the best. Until towards the very end of implementation it was found helicone has pretty much zero docs for properly setting up self hosted platform, it tries redirecting to their Web page for auth and agents immediately went into rewriting parts of the source attempting to write their own auth/fixing imaginary bugs that were really miscondiguration.
Then another product was recommended (I forgot which), there upon very detailed questioning, requesting re-confirmations of actual configs for multiple features that were supposedly supported it turned out it didn't pass through auth for clause max.
Eventually I chose litellm+langfuse (that was turned down initially in favour of helicone) and I needed to make few small code changes so Claude max auth could be read, additional headers could be passed through and within a single endpoint it could send Claude telemetry as pure pass through and real llm api through it's "models" engine (so it recognised tool calls and so on).
I cannot make these two statements true at the same time in my head:
> Briefly, the project implemented substantial components, including a JS VM
and from the linked reply:
> vendor/ecma-rs as part of the browser, which is a copy of my personal JS parser project vendored to make it easier to commit to.
If it's using a copy of your personal JS parser that you decided it should use, then it didn't implement it "autonomously". The references you're linking don't summarize to the brief you've provided.
What the fuck is going on?
It's funny how their whole grift hinges on people not reading clearly.
[dead]
Did you actually review these implementations and compare them to Servo (and WebKit)? Can you point to a specific part or component that was fully created by the LLM but doesn't clearly resemble anything in existing browser engines?
Has anyone tried to rewrite some popular open source project with IA? I imagine modern LLMs can be very effective at license-washing/plagiarizing dependencies, it could be an interesting new benchmark too
I think it's fair enough to consider porting a subset of rewriting, in which case there are several successful experiments out there:
- JustHTML [1], which in practice [2] is a port of html5ever [3] to Python.
- justjshtml, which is a port of JustHTML to JavaScript :D [4].
- MiniJinja [5] was recently ported to Go [6].
All three projects have one thing in common: comprehensive test suites which were used to guardrail and guide AI.
References:
1. https://github.com/EmilStenstrom/justhtml
2. https://friendlybit.com/python/writing-justhtml-with-coding-...
3. https://github.com/servo/html5ever
4. https://simonwillison.net/2025/Dec/15/porting-justhtml/
5. https://github.com/mitsuhiko/minijinja
6. https://lucumr.pocoo.org/2026/1/14/minijinja-go-port/
As the author, it's a stretch to say that JustHTML is a port of html5ever. While you're right that this was part of the initial prompt, the code is very different, which is typically not what counts as "port". Your mileage may wary.
Interesting, IIUC the transformer architecture / attention mechanism were initially designed for use in the language translation domain. Maybe after peeling back a few layers, that's still all they're really doing.
2 replies →
Note that it's not clear that any of the JustHTML ports were actually ports per se, as in the end they all ended up with very different implementations. Instead, it might just be that an LLM generated roughly the same library several different times.
See https://felix.dognebula.com/art/html-parsers-in-portland.htm...
More vibe coded browser modules:
V8 => H8 - JavaScript engine that hates code, misunderstands equality, sponsored by Brendan Eich and "Yes on Prop H8".
Expat => Vexpat - An annoying, irritating rewrite of an XML parser.
libxml2 => libxmlpoo - XML parsing, same quality as the spec.
libxslt => libxsalt - XSLT transforms with extra salt in the wound.
Protobuf => Probabuf - Probably serializes correctly, probably not, fuzzy logic.
Cap'n Proto => Crap'n Proto - Zero-copy, zero quality.
cURL => cHURL - Throws requests violently serverward, projectile URLemitting.
SDL => STD - Sexually Transmitted Dependency. It never leaves and spreads bugs to everything you touch.
Servo => Swervo - Drunk, wobbly layout that can't stay on the road.
WebKit => WebShite - British pronunciation, British quality control.
Blink => Blinkered - Only renders pages it agrees with politically.
Taffy => Daffy - Duck typed Flexbox layout that's completely unhinged. "You're dethpicable!"
html5ever => html5never - Servo's HTML parser that never finishes tokenizing.
Skia => SkAI - AI-generated graphics that hallucinates extra pixels and fingers.
FreeType => FreeTypo - Introduces typos during keming and rasterization.
Firefox => Foxfire - Burns through your battery in 12 minutes, while molesting children.
WebGL => WebGLitch - Shader compilation errors as art.
WebGPU => WebGPUke - Makes your GPU physically ill.
SQLite => SQLHeavy - Embedded database, 400MB per query.
Vulkan => Vulcan't - Low-level graphics that can't.
Clang => Clanger - Drops errors loudly at runtime.
libevent => liebevent - Event library that lies about readiness.
Opus => Oops - Audio codec, "oops, your audio's gone."
All modules now available on GitPub:
GitHub => GitPub - Microsoft's vibe control system optimized for the Ballmer Peak. Commit quality peaks at 0.129% BAC, mass reverts at 0.15%.
Not me personally, but a GitHub user wrote a replacement for Go's regexp library that was "up to 3-3000x+ faster than stdlib": https://github.com/coregx/coregex ... at first I was impressed, so started testing it and reporting bugs, but as soon as I ran my own benchmarks, it all fell apart (https://github.com/coregx/coregex/issues/29). After some mostly-bot updates, that issue was closed. But someone else opened a very similar one recently (https://github.com/coregx/coregex/issues/79) -- same deal, "actually, it's slower than the stdlib in my tests". Basically AI slop with poor tests, poor benchmarks, and way oversold. How he's positioning these projects is the problematic bit, I reckon, not the use of AI.
Same user did a similar thing by creating an AWK interpreter written in Go using LLMs: https://github.com/kolkov/uawk -- as the creator of (I think?) the only AWK interpreter written in Go (https://github.com/benhoyt/goawk), I was curious. It turns out that if there's only one item in the training data (GoAWK), AI likes to copy and paste freely from the original. But again, it's poorly tested and poorly benchmarked.
I just don't see how one can get quality like this, without being realistic about code review, testing, and benchmarking.
> up to 3-3000x+ faster than stdlib
Note that this is semantically exactly equivalent to "up to 3000x faster than stdlib" and doesn't actually claim any particular actual speedup since "up to" denotes an upper bound, not a lower bound or expected value. It’s standard misleading-but-not-technically-false marketing language to create a false impression because people tend to focus on the number and ignore the "up to".
6 replies →
To be fair, good benchmarking is hard, most people get it wrong. Scientific training helps.
I used one of the assistants to reverse and rewrite a browser-hosted JS game-like app to desktop Rust. It required a lot of steering but it was pretty useful.
Apparebtly this person actually got it to compile: https://xcancel.com/CanadaHonk/status/2011612084719796272#m
https://x.com/CanadaHonk/status/2011612084719796272 as well.
I went through the motions. There are various points in the repo history where compilation is possible, but it's obscure. They got it to compile and operate prior to the article, but several of the PRs since that point broke everything, and this guy went through the effort of fixing it. I'm pretty sure you can just identify the last working commit and pull the version from there, but working out when looks like a big pain in the butt for a proof of concept.
> but several of the PRs since that point broke everything, and this guy went through the effort of fixing it. I'm pretty sure you can just identify the last working commit and pull the version from there, but working out when looks like a big pain in the butt for a proof of concept.
I went through the last 100 commits (https://news.ycombinator.com/item?id=46647037) and nothing there was working (yet/since). Seems now after a developer corrected something it managed to pass `cargo check` without errors, since commit 526e0846151b47cc9f4fcedcc1aeee3cca5792c1 (Jan 16 02:15:02 2026 -0800)
1 reply →
Negative results are great. When you publish them on purpose, it's honorable. When you reveal them by accidentally, it's hilarious. Cheers to Cursor for today's entertainment.
A bit off topic, but fun for people having lots of Claude credits. Auto Claude is a nice opensource repo to let Claude generate entire application from just one prompt. Lots of Jolo vibing her, but nevertheless impressive. Last week I asked it in one sentence to create a full blown Hotel website including all the software tools for backoffice. It took almost 4 days with 4 Claude accounts. It actually created a working thing.
What the hell?
I was seeing screenshots and actually getting scared for my job for a second.
It’s broken and there’s no browser engine? Cursor should be tarred and feathered.
A lie like this seems like it should be considered fraud
Why is the top comment on this item just a link to another comment on this same story?