The PodSystems (npub1upd…83nv) team has a group chat client in development. #NoorNode relay members should connect with ابو مريم (npub17ve…cc5z) for beta tester access if interested. #grownostr
quotingBeen working away at this nostr chat app project the past couple weeks and I'm excited to share the the next phase of the adventure has completed. The goal of this phase was to build the private layer — encrypted direct messaging, private rooms, disappearing messages, and media — on top of the self-hosted workspace delivered last month.
nevent1q…grln
NIP-17 gift-wrapped direct messages are working end to end: 1:1 conversations, small group conversations up to ten participants, threaded replies, and a preferred-relay publish-and-lookup layer so messages reach people on other clients. Interoperability is confirmed live with Flotilla, Yakihonne, and NoorNote.
DMs from outside your shared workspaces land in a separate Message Requests section rather than your main inbox, with accept/decline handled per-person. NIP-17 Small Group conversations use a "weakest link" rule: a group only auto-trusts if every participant individually would, and the warning names the specific people who don't — because with gift wraps, each named person genuinely holds their own independently-decryptable copy of everything sent.
All four NIP-29 privacy flags were verified individually against our own relay, which corrected real bug I've been chasing for years. Channel creation now offers three presets — Open, Broadcast, and Private — chosen because live testing proved these are the only combinations that behave coherently; the rest are silent no-ops or traps for whoever picks them.
Channels now also show a mention count and an unread indicator; conversations show unread state; sidebar sections collapse and remember their state. Real @-mentions now publish proper `p` tags, which was a genuine gap before this phase as mentions had been display-only.
NIP-17 messages can carry an expiry, set per-message in 1:1 conversations and capped room-wide in small groups. Two rounds of direct testing established that neither relay-side mechanism for this actually works on our relay, so expiry is enforced client-side — with one real exception: uploaded media files genuinely are deleted from storage when their message expires, confirmed by independent verification rather than trusting a success response.
And with that, image and audio upload are live via Blossom, with client-side audio compression through a self-hosted FFmpeg pipeline — deliberately self-hosted rather than pulled from a public CDN, because a tool built around controlling your own infrastructure shouldn't quietly depend on someone else's.
With all of that the client is now stable and usable as a basic chat/messaging client. The web app itself remains in limited developer release but if you are a NoorNode (npub1h8l…dp5p) relay subscriber and want access to the beta tester program, please send me a message and I'll get you added to the whitelist. Plan is to get through one move development cycle before opening the client up to the public, hopefully by the end of August.
As for the next phase, it will be focused on adding the productivity layer that differentiates this client from being a pure-chat app. A few of the specifics will be building out full admin, moderator, and user consoles, full-text search, project boards, calendars, polls, forms, and document co-work tooling. The plan is also to get this packaged as a mobile app specifically optimized for GrapheneOS.
Anyhow, if you don't hear much from me much this next month, I'm probably working on this or swamped with IRL stuff.
nevent1q…qay8
