I made one of these years ago, much less polished but broadly similar.
From that perspective you have done well to avoid discouragement. Most of the feedback I received was negative. Worse was that the negative feedback was not related to my implementation but arguing that I should not try at all.
If you do keep working on this project for the rest of your life, I commend you.
I kind of got split between making a client only version (all data client side), a file storage server where all brains are client side but persistent data is on a server, or a direct Linux login (open real shell on browser. Linux executables can connect to a socket to open windows on the browser and provide a UI similar to how X11 does, only with a much smarter UI host)
In recent years I have been doing a few experiments working on the areas that were difficult. So many things have been added to browsers since I started, I can't recall exactly how long ago that was but I remember boot2gecko adding features that I needed.
Recently I have been experimenting with launching web workers which asks for an API and is given a MessagePort with code to construct functions that translate to messages. That way all of the desktop features can be provided as permissions with some auditing theoretically(but unimplemented) available.