I should mention that a local web server that serves the website as well as listening for tcp connections works well, but then you're back to needing a local native app (chrome app for ChromeOS or something else for everything else), but perhaps a minimal node server installed via npm is easier than a full on electron app.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I should mention that a local web server that serves the website as well as listening for tcp connections works well, but then you're back to needing a local native app (chrome app for ChromeOS or something else for everything else), but perhaps a minimal node server installed via npm is easier than a full on electron app.