finds.dev← search

// the find

meshtastic/web

★ 861 · TypeScript · GPL-3.0 · updated Oct 2026

Meshtastic Web Client/JS Monorepo

Meshtastic Web is the official monorepo for the browser/Node client and SDK that talk to Meshtastic LoRa mesh devices over Bluetooth, serial, or TCP. It's for anyone building tooling against Meshtastic hardware rather than just using the stock mobile app — the SDK is usable standalone from any transport-specific UI.

The transport interface is a genuinely clean seam: SDK does all packet framing/decoding, transports just hand over raw byte streams, so adding Deno or Node-serial support didn't require touching the protocol layer. Protobufs generated via buf from a separate protobufs repo keep the wire format as the single source of truth instead of hand-maintained types. Domain errors go through Result (better-result) rather than thrown exceptions, and there's a transport-mock package plus createFakeTransport() specifically so slice/use-case tests don't need real hardware. Signals-backed state wrapped in useSyncExternalStore for the React hooks is a sensible choice for concurrent-mode correctness that a lot of similar projects get wrong.

Eleven packages (SDK, SDK-react, UI, protobufs, five transports, the app itself) is a lot of surface for what is ultimately one SDK with pluggable transports — expect friction if you only want the core and not the whole workspace. Web Bluetooth and Web Serial are Chromium-only APIs and the README doesn't flag that browser support is effectively limited to one engine family. No versioning/stability policy is mentioned for the SDK's public API despite shipping to both NPM and JSR, so consumers have no signal about what counts as a breaking change. The DDD layering (domain/application/infrastructure/state per feature slice) is heavier ceremony than a device-control SDK usually needs, and it's unclear from the docs how painful it is to add a feature slice end-to-end versus just bolting onto an existing one.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →