finds.dev← search

// the find

liamcottle/reticulum-meshchat

★ 1,071 · JavaScript · MIT · updated Apr 2026

A simple mesh network communications app powered by the Reticulum Network Stack.

A chat client for the Reticulum Network Stack — a cryptographic mesh networking layer designed for radio, LoRa, and other low-bandwidth links. It wraps the Python Reticulum runtime in a WebSocket server and gives you a Vue frontend (or Electron app) to send messages, files, and voice calls over whatever physical layer you can configure. Aimed at off-grid and emergency communications people who want something more usable than raw Reticulum tooling.

The architecture is honest about what it is: a thin UI shell over the Python RNS/LXMF stack rather than a reimplementation, which means Reticulum protocol updates come for free. Codec2 audio encoding for calls over LoRa is genuinely clever — that codec exists specifically for low-bitrate voice and it actually works at LoRa speeds. Cross-client LXMF compatibility with Sideband and Nomadnet means you're not locked into this app to talk to other Reticulum users. The distribution story is solid: standalone Electron binaries via cx_Freeze + Electron, Docker, Termux, and Raspberry Pi guides all covered.

The Python/WebSocket bridge is a process boundary that will bite you — if meshchat.py crashes, the frontend goes silent with no recovery path visible from the UI. No message encryption key verification UI anywhere (you're trusting the stack's key handling blindly from a UX standpoint). The hot-reload dev story is explicitly broken and acknowledged in the README as a TODO, which makes frontend iteration painful. Multi-identity support is listed as a future update but a single identity file is a meaningful limitation for anyone running this in a context where key rotation or compartmentalization matters.

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 →