Run it on your own machine
Two different downloads for two different jobs. The SERVER runs the whole product on your computer, offline, with no account and no limits. The NODE stays a client — it connects what a browser cannot reach and feeds a pool in the cloud.
The server — your pools, your disk
Unzip it, `npm install`, `node start.mjs`, and open 127.0.0.1:5099. It is the same engine and the same page as the hosted product, with every quota unlimited: the engine reads "no entitlements service" as "self-hosted", so there is no licence to check and nothing to activate. Right for a workshop with no reliable internet, a lab whose readings are not allowed to leave the building, and anybody who wants to try it without signing up.
Point any SDK at it
new LeumasLivePools({ baseUrl: "http://127.0.0.1:5099" }) — or LivePools(base_url=…) in Python. The API is identical, so code written against a local pool runs against a cloud one unchanged, and the other way round.
The node — a machine that feeds a pool
COM ports with nobody at the screen, MQTT brokers on the LAN, local HTTP and WebSocket services, Bluetooth the operating system has paired, Wi-Fi and network state, CPU and temperature. One outbound socket, and a durable outbox so a workshop keeps working through an outage and catches the pool up when the connection returns.
A folder, not a single file — and that is deliberate
The store is libSQL, which is a native module. A single-file build would compile, ship, launch and die on its first query, so the server ships as a folder with a Node runtime beside it. The node does ship as one file, and there the trade is reversed: a single binary cannot open a serial port, so it serves a loopback page and lets the browser open it.
Questions
Does it phone home?
No. There is no licence server, no activation and no telemetry. It reads and writes one file in your user data folder.
Is the local one crippled?
The opposite — it has no limits at all. What it cannot do is be read by somebody who is not on your machine, which is the entire thing the hosted product sells.
Can I sync a local pool to the cloud?
Yes, with a write key: the node mirrors chosen pools upward through the same durable outbox it uses for its own sources.