Similarly, some years ago I prototyped an ESC/POS client (?) for a Bluetooth thermal printer. It was implemented as a Chrome Extension/Chrome App pair, because only Apps were allowed to use Chrome's proprietary Bluetooth API back then. Extension and App communicated via postMessage IIRC. I was shocked how well that hack actually worked. Google then sunset Chrome Apps, and Web Bluetooth never happened.