Skip to content

Software

The MPowerUP app codebase and its stack. The current stack is proof-of-concept code, not a committed architecture — see Technologies → Communication Architecture for the build-vs-adopt reconsideration that may reshape it (including the standing consideration of integrating an existing tool like Jami, Briar, or SimpleX rather than maintaining a fully custom P2P stack).

Repo: Big-Nerd-Idea/MPowerUp — the source import is wired separately.


The POC stack

Layer Choice Notes
App framework React Native 0.81 + Expo SDK 54 Bundled platform choice — see ADR-002
Identity did:key (Ed25519 via TweetNaCl), keys in expo-secure-store Keypair, not account
Sync Yjs CRDT — one YDoc per Circle RN-proven; counter-evidence (Cinapse) logged as a Known Unknown
Transport relay-assisted WebRTC js-libp2p was rejected (event-target-shim crashes on RN 0.81)
Persistence WatermelonDB (SQLite) Reactive offline-first store
Group encryption TweetNaCl + shared per-Circle key MLS/OpenMLS is a candidate upgrade (FS + PCS)

The data model behind Circles is documented in ADR-001.


In this section

These are research/reference guides that informed the POC stack and its candidate replacements: