Show HN: Mesh – Team chat on Nostr using NIP-29 relays (Rust and Next.js)
github.comLive Demo: joinmesh.xyz
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!
Heyy! I am building a streaming client on nostr and I wanted to better understand how you are creating the channel so that I can build for my usecase. Looking forward to hearing from you.
My pub key: npub12ecgmc9nw3a864jydxmr67s6v7770m6tudcfdarfkzlhkcv0vxcqpt00qa http://primal.net/p/npub12ecgmc9nw3a864jydxmr67s6v7770m6tudc...
Looking forward to hearing form you