anonymous_user9 7 days ago

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

  • j16sdiz 7 days ago

    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

  • nsonha 7 days ago

    It’s from scratch not by scratch

    • SirFatty 7 days ago

      a distinction without a difference

      • nsonha 6 days ago

        sure, no difference between "what" and "how"

timhigins 7 days ago

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.

krackers 7 days ago

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

  • heisgone 7 days ago

    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.

    • munch117 7 days ago

      For a piece of software designed by reading the specs and implementing accordingly, there acid3 would be a good way of demonstrating the quality of the result.

      But is that what happened? If you pass tests that conflict with the specs, then that implies that the implementation is not based on specs, but on feedback from the test. Which means it may be designed to pass the test, and not much good once you go outside the test examples.

      I'll extend the benefit of the doubt and say that it's possible that the implementation is based on an older version of specs, one that matches the tests. But it doesn't inspire confidence that all we're shown is a single screenshot and no source code.

  • assimpleaspossi 7 days ago

    Exactly. It's meaningless now and I stopped looking at it a few years before 2017 when I ran a Web dev shop

  • 0gs 7 days ago

    hmm. i wonder if any of the stuff they have changed since then is stuff i could legitimate not do without in a browser

  • 5555watch 7 days ago

    Aha, I'm getting 97/100 on Safari

Kon5ole 7 days ago

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.

  • ozlikethewizard 6 days ago

    Is this open source? May be being blind but cannae find the source anywhere

  • everyday7732 4 days ago

    Firefox already exists, and for all its flaws it is both free and open source.

SingAlong 7 days ago

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.

  • inigyou 6 days ago

    And don't forget Cloudflare will just ban you from the internet if it doesn't recognise you.

NetOpWibby 7 days ago

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)?

zhxiaoliang 6 days ago

The render of the HN page looks close at first glance, but the engine clearly does not support SVG yet - those tiny arrows are all missing. Also it renders "Hacker News" on the header garbled with overlapping texts so it seems that the text-shaping engine lacks a proper inline box model. I would also be interested in seeing renders of more modern pages.

jokethrowaway 4 days ago

Very cool and I wish you the best of luck (I genuinely hate this generation browsers) - but my experience with bun and other complex zig tools is that a segfault always awaits behind the corner

everyos_ 6 days ago

I was wondering if you could add a Acid2 rendering screenshot to the site, please? It tests some different things than Acid3, so I'm curious how it fares.

h2aichat 7 days ago

I have a question: what are you planning to do with it? It is curiosity. Thanks and congratulations for the work

LoganDark 7 days ago

Huh, cool, let me know when it's available. I like trying out alternative browser engines every now and then.

peesem 7 days ago

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

  • coolwulf 7 days ago

    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.

    • adipose 7 days ago

      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?

HelloUsername 7 days ago

Nice. Will you also release a version without Javascript (and without css)?

flowofcontrol 7 days ago

Awesome work! Can't wait for it to land.

What license will you release under?

esafak 7 days ago

What's the goal? Did you learn anything interesting?

ernsheong 7 days ago

Hello, how does cwbrowser compare with Lightpanda?

peterbower 5 days ago

This should be downloadable.

mplewis 7 days ago

how much of it was vibe coded?

bubblebeard 7 days ago

Super cool! Any plans to release it for Linux? Would love to test it but I have no Mac unfortunately

nicoburns 7 days ago

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?

snvzz 7 days ago

No source code, no binary, just a page with some claims about code that might even exist.

Eh.

m00dy 7 days ago

The whole thing looks like a giant AI slop

tetrisgm 7 days ago

Congrats. I’d love a very agent friendly browser by the way

fragmede 7 days ago

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.

  • tyre 7 days ago

    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.