thegecko and I have done a lot of work on the webbluetooth NPM package lately. It now uses SimpleBLE instead of Noble, which means no custom drivers on Windows and no root permissions on Linux. Once thegecko/webbluetooth#188 is complete, it won't even be necessary to maintain separate browser and node abstractions.