FluffyChat: Matrix chat in Flutter with real E2EE
Chat apps look simple until encryption and multi-device sync arrive. FluffyChat is a production Matrix client in Flutter — useful if you care about messaging architecture without inventing a protocol.
Architecture beats
- Matrix SDK as the protocol brain (with Rust crypto such as Vodozemac underneath).
- Flutter as the shared shell for mobile and desktop form factors.
- Optional push (FCM etc.) layered on top of sync — not instead of it.
Steal this
- Keep protocol state out of widgets; expose streams/selectors.
- Model rooms as first-class domain objects, not screens.
- Treat device verification UX as a product surface, not a settings footnote.
Pitfalls
E2EE bugs are trust bugs. Do not home-roll crypto. Offline queueing and out-of-order events will break naive setState UIs.
If you need chat, prefer Matrix (or another mature protocol) over a custom socket JSON soup.