Congrats! Even if this is vibecoded, this is a hard task to get just a barebones renderer working.
I do concur with the few other folks here that the ShowHN is meant for actually showcasing something rather than the landing page with a screenshot. I would expect it to link to a downloadable binary or the source.
Showcasing Web Platform Tests coverage would be better than just Acid 3.
For anyone else wondering why this is hard: I'm writing a browser engine that renders to png. I dug into the source code of other browser engines and came across scenarios that I had never imagined. I learnt about font rasterization, execution contexts for scripts, etc. There's a tonne of stuff to be learnt by building something like this.
Supporting iframes and each group of the web platform APIs, each add another layer of complexity that I definitely dont want to be tackling as a solo dev.
Acid3 is 100 tests but to have a browser that works on any real percentage of the internet you need to pass the over 52000 tests and nearly two million subtests [1] that make up the Web Platform Tests [2]
This is like the difference between a college degree and passing a spelling test.
Your own engine?! Wow, that's incredible. Is this gonna be like Servo where people can build a browser around this, or will it be a standalone browser?
I recently switched from Arc to Helium but it's still Chrome with different paint. When I was using Opera 12, it was the most standards-compliant browser so it became my main. What are the goals for cwbrowser (and is the name permanent)?
Modern browsers should no longer score 100 on Acid 3 though.
>By April 2017, the updated specifications had diverged from the test such that the latest versions of Google Chrome, Safari and Mozilla Firefox no longer pass the test as written
Yes, but considering the goal of his project is a proof of concept, that is, proving this project is possible, acid3 is a good place to start to prove the worth of the project and aiming 100% first make more sense. Tweaks will be needed one way or another to make it equivalent to the big 3.
https://github.com/web-platform-tests/wpt/commits/master/aci... shows the history of the web-platform-tests copy of WPT, which has mostly followed Hixie’s earlier updates to Acid3 by simply commenting out assertions that no longer match what specs say.
For reference, Safari is doing around 53, and Chrome is around 60 for M5, of which they were bragging about [0]. So curious to see whether there's any gains from your custom browser.
i'm assuming this is written with LLMs given the writing on that page and the nature of the other "products" on that website. i would not call that hand-written, as the page does in the second paragraph
I did use LLM for the landing page since I don't have much time on it. The browser however not that much. I did use claude and my own cwcode to help developing this, but a lot of times the zig code had to be written by hand. Hope this answered your question.
Cursor was lambasted from the start because they wrote blog posts about writing a browner “from scratch in rust” but it was neither without dependencies nor actually worked.
It was not serious engineering. It was a side project experiment with yeeting tokens into the sun.
Congrats! Even if this is vibecoded, this is a hard task to get just a barebones renderer working.
I do concur with the few other folks here that the ShowHN is meant for actually showcasing something rather than the landing page with a screenshot. I would expect it to link to a downloadable binary or the source.
Showcasing Web Platform Tests coverage would be better than just Acid 3.
For anyone else wondering why this is hard: I'm writing a browser engine that renders to png. I dug into the source code of other browser engines and came across scenarios that I had never imagined. I learnt about font rasterization, execution contexts for scripts, etc. There's a tonne of stuff to be learnt by building something like this.
Supporting iframes and each group of the web platform APIs, each add another layer of complexity that I definitely dont want to be tackling as a solo dev.
If you're going to "Show HN" you should show something. This just a hastily-extruded [1] landing page with no details.
Also, using an agentic framework and writing code by hand "a lot of the time" does not count as "from scratch".
[1] https://news.ycombinator.com/item?id=49129191
Working with it for 2 years is impressive nevertheless.
Working with an agentic framework for more than a week make me want to throw it over the cliff
It’s from scratch not by scratch
Acid3 is 100 tests but to have a browser that works on any real percentage of the internet you need to pass the over 52000 tests and nearly two million subtests [1] that make up the Web Platform Tests [2]
This is like the difference between a college degree and passing a spelling test.
1. https://servo.org/blog/2023/07/20/servo-web-platform-tests/ 2. https://github.com/web-platform-tests/wpt
Not to mention this site is clearly vibe coded and has a vague call to action and no source code available thus indicating possible vaporware.
Faster than chrome and 100% clearance of acid3 is certainly interesting, and a great achievement for a solo dev, good job!
I’d love to see something entirely FOSS dethrone the big corp browsers, hope that’s the goal here.
Your own engine?! Wow, that's incredible. Is this gonna be like Servo where people can build a browser around this, or will it be a standalone browser?
I recently switched from Arc to Helium but it's still Chrome with different paint. When I was using Opera 12, it was the most standards-compliant browser so it became my main. What are the goals for cwbrowser (and is the name permanent)?
Modern browsers should no longer score 100 on Acid 3 though.
>By April 2017, the updated specifications had diverged from the test such that the latest versions of Google Chrome, Safari and Mozilla Firefox no longer pass the test as written
Yes, but considering the goal of his project is a proof of concept, that is, proving this project is possible, acid3 is a good place to start to prove the worth of the project and aiming 100% first make more sense. Tweaks will be needed one way or another to make it equivalent to the big 3.
https://github.com/web-platform-tests/wpt/commits/master/aci... shows the history of the web-platform-tests copy of WPT, which has mostly followed Hixie’s earlier updates to Acid3 by simply commenting out assertions that no longer match what specs say.
Exactly. It's meaningless now and I stopped looking at it a few years before 2017 when I ran a Web dev shop
hmm. i wonder if any of the stuff they have changed since then is stuff i could legitimate not do without in a browser
Aha, I'm getting 97/100 on Safari
96/100 with Brave on Android
lots of questions for HN folks here from a noob dev
- how exactly do you go about writing your own browser engine
- what specs are you supposed to follow
- how do you measure or determine if your browser engine is compliant
- how long do you think such a task would take (no AI / with AI)
- how do you test something like this?
What's the Speedometer 3.1 [0] rating for that browser paired with an M5?
[0]: https://browserbench.org/Speedometer3.1/
For reference, Safari is doing around 53, and Chrome is around 60 for M5, of which they were bragging about [0]. So curious to see whether there's any gains from your custom browser.
[0]: https://blog.google/chromium/a-double-victory-for-web-speed-...
Not a Show HN:
https://news.ycombinator.com/showhn.html
Awesome work! Can't wait for it to land.
What license will you release under?
Nice. Will you also release a version without Javascript (and without css)?
Hello, how does cwbrowser compare with Lightpanda?
Super cool! Any plans to release it for Linux? Would love to test it but I have no Mac unfortunately
how much of it was vibe coded?
This is cool! And as someone else who's been building their own browser engine: welcome to the club!
Do you have WPT tests results, and/or screenshots of it rendering real websites?
i'm assuming this is written with LLMs given the writing on that page and the nature of the other "products" on that website. i would not call that hand-written, as the page does in the second paragraph
I did use LLM for the landing page since I don't have much time on it. The browser however not that much. I did use claude and my own cwcode to help developing this, but a lot of times the zig code had to be written by hand. Hope this answered your question.
this admittedly makes it even a harder sell to have so little (any?) source code available on github, gitlab, codeberg, whatever.
what's the deal with that? why is Google Drive zips your main distribution method, with no source available?
and finally: are you going to change this?
Huh, cool, let me know when it's available. I like trying out alternative browser engines every now and then.
closed source?
The whole thing looks like a giant AI slop
What's the goal? Did you learn anything interesting?
No source code, no binary, just a page with some claims about code that might even exist.
Eh.
In terms of engines, Fastrender, by cursor, is AI generated in rust. Don't know why no one's picked that up and run with it yet.
Cursor was lambasted from the start because they wrote blog posts about writing a browner “from scratch in rust” but it was neither without dependencies nor actually worked.
It was not serious engineering. It was a side project experiment with yeeting tokens into the sun.
Congrats. I’d love a very agent friendly browser by the way