tav1
Joined 10 months ago
Joined 10 months ago
Hi HN,
I built Mesh because I wanted a self-hosted alternative to Slack that didn't require a complex backend or central database. It runs entirely on the Nostr protocol using the NIP-29 specification (relay-based groups).
The architecture is:
Backend: A custom NIP-29 compliant relay written in Rust.
Frontend: Next.js client that connects via WebSockets.
Auth: No email/password; uses end-to-end cryptographic keys (Nostr identity).
The goal was to prove that you can have "Slack-like" real-time features (channels, admin roles, kick/ban) without giving up data sovereignty. Since it's Nostr, you can swap the relay out anytime and migrate your data easily.
It’s still early days (v1), so I’d love feedback on the Rust relay implementation or the group handling logic.
Happy to answer any questions!
Data is processed in encrypted memory The service provider literally cannot access the memory contents Remote attestation provides cryptographic proof the code is unmodified Data exists only during processing (seconds), then RAM is wiped
Why it matters:
Forensic accountants processing divorce/litigation cases Mortgage lenders doing income verification Anyone who doesn't want their net worth visible to a SaaS provider
Honest question for HN: Is this overkill, or is "trust us" fundamentally broken for financial document processing?