"Writing a browser" (from scratch) at this point basically means you are implementing a type of portable operating-system-in-a-box (the web platform) and that it will be compatible with whatever Google decides to add to theirs. The browser is so comprehensive in functionality and APIs, and such a challenge to keep up with Google's constant churn of new features and total dominance, that not even Microsoft could do it…
> The browser is so comprehensive in functionality and APIs Not really. If you limit your scope by saying that you're building a hypertext document viewer , it suddenly becomes approachable. A lot of the functionality is all that PWA stuff no one asked for and no one is using for anything good anyway. WebSQL? IndexedDB? Service workers? WebGL? WebGPU? WebBluetooth? WebRTC? Just act like it all doesn't exist. 99% of a…
But, importantly, they shouldn't lose their core functionality (if they're written well) because that's the "Progressive" part of PWA. If you don't use the feature or your browser doesn't support it, the website should still have basic functionality. One of the big ideas behind PWAs is "progressive enhancement", where you layer on features that may not be supported everywhere but add value when they are supported.
And a progressively built browser that doesn't implement every spec goes hand-in-hand with that. I think having more under-featured browsers like that would push webdevs into caring more about progressive enhancement.