A Flutter client for MeshCore — opinionated, themeable, and unapologetically built with AI in the loop.
packages/meshcore/) — protocol-faithful, no Bluetooth or platform dependencies in the encode/decode layer, so it’s usable from CLIs, tests, and other apps.outPath repeater chains, not star arcs to self.Design mockups from the UX brief — the NERV aesthetic that drives the actual UI.
Shipped (1.0.x series)
outPath repeater chains (R49).Next (drafts in meshmore-sns-spec.md)
AI integration — every inbound DM / channel message can run through a local intent handler before it lands. The handler is a Dart plugin, signed by you, with no network access. Use cases: auto-translate ja↔en, summarise long messages, surface “emergency” classifiers, draft replies.
Machine-to-machine — a typed-payload channel that sits alongside the chat channel. Schemas are JSON-Schema; handlers are registered by schema URI. A weather station can publish, a logger can subscribe, and neither needs to know about the other.
Themes — Reskin everything. Colour scheme, typography, sound palette, animation curves, even the slide-up sheet ergonomics. Themes are bundles in themes/ (TOML + assets); we ship NERV-default + a clean “office” alternate.
The point: stop thinking of mesh radios as walkie-talkies. They’re a programmable, persistent, low-bandwidth substrate.
A short, honest section.
This is the position the MeshCore “split” put a spotlight on — and we’re choosing the opposite end of the disclosure axis from what triggered it. You can disagree with the choice; you can’t say it’s hidden.
Spec — meshmore-sns-spec.md
Living design doc — what’s shipped, what’s drafted, what’s deferred.