Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> were the agents working on it able to build it, or were they blindly writing code?

The project was able to build the whole time, and the agents were constantly compiling it using the Rust compiler and fixing any compile errors as they occurred.

The GitHub CI builds were failing, and when they first opened the repo people incorrectly assumed that meant the code didn't compile at all.

The biggest problem with the repo when they first released it was that there were no build instructions for end-users, so it was hard to try out. They fixed that within 24 hours of the initial release.

> What I don't know, and seemingly nobody else knows, is how functional the rest of the codebase is.

It's functional enough to render web pages - you can build it and run it yourself to see that, I have some screenshots from trying it out here: https://simonwillison.net/2026/Jan/19/scaling-long-running-a...

That said, it's very much intended as a research project into running parallel coding agents as opposed to a serious browser project that's intended for end users. At the end of my post I compare it to "hello world" - I think "build a browser" may be the "hello world" of massively parallel coding agent systems, which I find quite amusing.



> it's very much intended as a research project

If so then the failure of the experiment should be acknowledged.

Failure described among others at: https://news.ycombinator.com/item?id=46705625

> It's functional enough to render web pages

> FastRender may not be a production-ready browser, but it represents over a million lines of Rust code, written in a few weeks, that can already render real web pages to a usable degree.

This is something that can be done in much less than a million lines of code. There must be a core somewhere in Fastrender--probably just a few thousands lines--which is putting together existing layout and graphics libraries and makes it render something to the screen.

Doing that in a few weeks isn't impressive, especially not when buried in a million lines of spaghetti code.

If you want an example of a real prototype web engine build along radical design choices, head over to https://github.com/DioxusLabs/blitz

I'm pretty sure it renders far better than Fastrender(the edits the agents made to Taffy are probably nonsense), and I'm guessing it is at most 50k lines.

Conclusion:

In the light of the efforts to paper over failures, I'm calling Fastrender not a research project but propaganda.


They wanted to figure out patterns to have thousands of agents work on millions of lines together in parallel without stepping on each other's toes. They achieved that. Looks like a success to me.

Implementing a browser was just the demo for that. I called it their "hello world" at the end of my post.


> Looks like a success to me.

How is spaghetti code that does not implement the spec(web standards in this case) success?

You are one of the creators of Django; so let me try to give you an analogy: if someone runs thousands of agents in parallel to produce a web framework, and the code ends-up being able to connect to a database and render a template using existing libraries, and the rest would be total non-sense and otherwise useless to web devs; would you call that a success?

Success in software requires something that works as intended and is maintainable.


Their success criteria was "can we run thousands of agents at once and have them work towards a goal". By that criteria it was a success.

So yes, in your hypothetical I would call it a success IF their goal was parallel agent research. I'd call it a failure if they told me they were trying to build a production-quality alternative to Django.


I understand this is not meant as production level quality, but as a web engineer I was expecting at least a decent POC with some interesting design ideas; not total spaghetti that even gets the spec wrong(despite the good idea of checking the spec in the repo).

They may have solved a problem related to agent coordination, like you discussed in your interview related to conflicts and allowing edits to merge without always compiling.

But at the end of the day, a novelty like this is only useful in so far as it produces good code; I don't see how coding agents are of any help otherwise.

So the failure of the pattern should be acknowledged, so we can move on and figure out what does work.

I speculate that what does work is actually quite similar to managing an open source project: don't merge if it doesn't pass CI, and get a review from a human(the question is as what level of granularity). You also need humans in the project to decide on ways of doing things, so that the AI is relegated to its strength: applying existing patterns.

In all seriousness, you can tell Wilson to get in touch with me. With even only one person with domain knowledge involved in such an effort, and with some architectural choices made ahead of unleashing the herd, I think one could do amazing stuff.


I was actually thinking of your earlier comments about this from the perspective of a Servo engineer when I asked Wilson how much of his human-level effort on this project related to browser architecture as opposed to parallel agents research.

The answer I got made it clear to me that this wasn't a browser project - he outsourced almost all of the browser design thinking to the agents and focused on his research area, which was parallel agent coordination.

I'm certain having someone in the human driving seat who understands browsers and was actively seeking to build the best possible browser architecture would produce very different results!


Thanks for the clarification.

With the scope of the experiment in mind, I think we can deduce from it that AI is just not able to produce good software unsupervised. It's an important lesson.

To make a wider point, let's look at another of your prediction: that in 2026 the quality of AI code output will be undeniable. I actually think we've already reached that point. Since those agents came around I've never encountered a case where the AI wasn't able to code what I instructed it to. But that's not the same thing as software engineering, and in fact, I have never been impressed by the AI solving real problems for me.

It simply sucks at high quality software architecture. And I don't think this is due to a lack of computing power but that, rather, only humans can figure out what makes sense for them. And this matters, because if the software doesn't make sense, beyond very simple things you can test manually, it becomes impossible to know whether it works as intended.

A Web engine is a great example, because despite the extensive shared suites of tests and specifications, implementing one remains a challenge. You can write code and pass 90% of some sub test suite, and then figure out that your architecture for that Web API is all wrong and you'll never get to the last 10% and in fact your code is fundamentally broken. Unleashing AI without supervision makes this problem worse I think. Solving it requires human judgement and creativity.


Yeah I agree entirely.

Current coding agents are not up to the task of producing a production-quality web browser.

I genuinely can't imagine a better example of a sophisticated software project than a browser. Chrome, Firefox and WebKit each represent a billion-plus dollars of engineering salaries paid out to expert developers over multiple decades.

Browsers have to deal with a bewildering array of specifications - and handle websites that don't conform fully to those specifications.

They have extreme performance targets.

They operate in the most hostile environment imaginable - executing arbitrary code from the web! - so security is diabolically difficult as well.

I expect there's not a human on earth who could single-handedly architect a production grade new browser, it requires too much specialist knowledge across too many different disciplines.

On the basis, I should reconsider my 2029 prediction. I was imagining something that looked like FastRender but maybe a little more advanced - working JavaScript, for example.

A much more interesting question is when we might see a production grade browser built mostly by coding agents.

I do think we could see that by 2029, but if we did it would be a very different shape from the FastRender project:

- a team of human experts driving the coding agents

- in development for at least a year

- built with the goal of "production ready Chrome competitor", not as a research project

The question then becomes who would fund such a thing - even a small team of experts doesn't come cheap, and I expect that LLM prices in 2029 will still measure in the tens or hundreds of thousands of dollars for this, if not more.

Hard for me to definitely predict that someone will step up to fund such a project - great open source browser engines exist already, why would someone fund one from scratch?


> The question then becomes who would fund such a thing

Historically new web engines came about when a new challenger wanted to have a stake in web standards development. The way it happened was never from scratch but with a fork of an existing engine. Last time this happened was with Google. The reason, I think, was wanting to evolve the web into an application-like platform(HTML5), and a new architectural idea: multi-process.

The person who was in charge of that effort is now at OpenAI.

Today there are also projects like Ladybird and Servo which follow a different model: started from scratch and driven by interest from a developer community. But so far neither has users in the real-world, and so they haven't had an impact on the Web in the way Chromium has, yet.

Already today, both development models could benefit from the productivity gains of AI; in 2029 the game may have changed entirely. I can imagine a combination of math(TLA+ like I've done at https://github.com/w3c/IndexedDB/pull/484), web standard in their semi-formal English, and then some further guidance in terms of code architecture(through a conversation-like iterative loop), and see a Fastrender-like approach that actually works. Humans would still be the ones defining and solving all the hard problems, but you'd be typing a whole lot less code...

I'm the one who was driving the efforts to start experimenting with AI in Servo, which was cut short by https://github.com/servo/servo/discussions/36379

I've been using AI on side-projects ever since, and in those I don't type any code by hand anymore and end-up doing things I would not even contemplate(due to time constraints) without the use of AI.

Example: https://medium.com/@polyglot_factotum/tla-in-support-of-ai-c...


If you were looking for a good long-term AI benchmark, “build me a Web browser” should last you for a while.


I hear you but still just struggle what we are supposed to take from this. If I worked for McDonalds and came up with a way to make 1000 bad hamburgers in the time it takes for them to currently make 10 good ones, no one would be that impressed.

"Hello world" is self-justifying, you know it when you see it, and it is what it is because it shows something unambiguous and impossible to mistake.


The thing I took from this is that you can arrange a set of coding agents in a tree of planners and workers and have them churn away on much larger projects than if you use a single coding agent.

This is a new capability - this likely would now have worked prior to GPT-5.1 and Opus 4.5, so we've had models that can do this for less than three months.

It's extremely new: the patterns that work are just starting to be figured out. Wilson had an effectively unlimited token budget from Cursor and got to run experiments that most teams would not be able to afford.


The fact that it is new is meaningless: the output is useless even as a proof of concept web engine and should be discarded, alongside the agent engineering pattern that produced it.


By that logic any experiment that doesn't produce a perfect result should be deleted. I don't think that's a defensible position.


Yes, but that is not what I wrote.

I wrote: "useless even as a proof of concept". It doesn't have to be perfect; it just needs to show a clear path forward.


I think rendering this is a pretty great proof of concept that illustrates a path forward to doing better: https://static.simonwillison.net/static/2026/cursor-simonwil...

If I was trying to build a new browser and I got to that point within a few weeks of starting I would be ecstatic.


So I think that's an easy way to achieve ecstasy for you then. I suggest giving it a try.

A good place to look for how one could do this, is https://github.com/DioxusLabs/blitz/tree/main

That project I consider a proper POC of a web engine, even though it doesn't even run javascript. Why? Because it has a nice architecture built around a clear idea--radical modularity--which could scale-up to a full web engine one day, despite major challenges remaining.

I think that with AI assistance, if you had some idea, you could reshuffle components of Blitz and have your own thing rendering to the screen within a day.

let's say you had a more ambitious goal, like taking Blitz and adding a JS engine like Boa. Well if you had some clear idea on how to do it, you could get a nice little POC in a week or two.

Basically what I'm saying is that yes the AI would save you a ton of typing and you'd be able to iterate on your idea. There are plenty of layout/graphics/Js components out there to choose from, so you could ensure a relatively small and clean POC.

Someone doing that, with or without AI but with a good idea, would impress me.

FastRender on the other hand is just this humongous pile of spaghetti, and my guess is it still is entirely dependent on existing libraries for actually showing something to the screen.

So that's the clear fail of the agent in my opinion: why produce so much code when it could be done so easily otherwise. Also, why bs yourself into these architecture docs and pretend you are following the specs when in fact you are not?

Everytime I try to browse the code I give up, mostly because when I look at something to try to understand how it fits into the whole, I end-up realizing it's only used in some unit-test.

For a quick comparison:

- https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3... - https://github.com/wilsonzlin/fastrender/blob/19bf1036105d4e...

I believe the two are more or less doing the same, but one is 30x the size of the other.

I can't begin to understand the render loop of Fastrender from the code.

On the other hand, here is the one from Blitz shell(the default Blitz app putting together various modular components):

- Window runs in winit loop: https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3... - Redraw is at https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3... - Calls into `paint_scene`, using the generic scene from the generic renderer: https://github.com/DioxusLabs/blitz/blob/f828015b26d32b0bed3...

Simple as that, and with a nice idea in terms of modularity.

That's a POC web engine.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: