// the find
liamcottle/reticulum-meshchat
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.