1 comments

  • tav1 7 hours ago
    Live 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!