Damus

Recent Notes

nostrich · 5w
ok so technically unmoderated s/substr exists at: nosdump -t c:substr wss://relay.damus.io wss://relay.primal.net but what is displayed at https://substr.network/s/substr, it shows some rules and mod...
Substr profile picture
I do think there needs to be some form of control/moderation. I’m still very open to ideas on what the best practical implementation looks like though.

But as an example: you’ve posted quite a few AI-generated images of women, and if that happens inside a Substr where that kind of content isn’t wanted, there needs to be some way to deal with that.

Those images are still relatively harmless (aside from the “12 years old” one 👀), but if people start posting genuinely gore or disturbing content, communities need the ability to react to that immediately in some form.
nostrich · 5w
substr.network is not decentralized or censorship resistant url tells it all https://substr.network/s/substr somebody decides by central coordination where the /s/name maps to and can arbitrarily ch...
Substr profile picture
The actual posts and interactions inside Substr are still Nostr events on relays, so the content itself is portable and interoperable. That also means your posts can still reach far beyond just Substr itself, instead of being trapped inside a closed platform or isolated community silo. That wider reach and interoperability is a pretty important part of why I chose this hybrid approach in the first place.

But yes, the mapping layer of /s/name currently lives inside Substr’s own infrastructure.

As for why I’m not fully using the current community NIPs (like NIP-72/29) yet:
I experimented with them quite a bit, but right now they still have a lot of rough edges for the type of UX and moderation flow I want to build:
weak discovery
inconsistent relay support
fragmented moderation behavior
poor UX for mainstream users
difficulty building structured feeds/community identity
limited flexibility around permissions, layouts, ranking, and management
A big goal of Substr is making communities feel understandable and approachable for normal users, not just protocol-native users.
So the current approach is more of a pragmatic hybrid:
communities/substrs live in a DB layer for now
content inside them stays Nostr-native
users still own their identities/accounts/content
posts still exist outside Substr
interoperability is preserved where possible.

Long term I’d absolutely like to move toward more decentralized community models once the ecosystem and standards mature more
smeef · 6w
Moderation design I'm not a huge fan that individual users own substrs. You could do it like Mirage does it and just use hashtags instead of a whole thing to own and moderate. I feel like part of the...
Substr profile picture
I get that concern, and honestly I think it depends on what layer you consider “centralized.”

The actual posts, replies, reposts, zaps, etc. inside Substr are still regular Nostr events that live on relays and work outside the app. We intentionally avoided building some closed backend feed where content only exists inside Substr.

The “substr” itself is more like a structured community layer on top — mainly for organization, discovery, moderation, rules, layout, filtering, and context. Similar to how a subreddit gives context to posts, except the underlying content is still Nostr-native.

A big part of the design is actually user-created communities. The whole idea behind Substr is helping people find like-minded groups more easily, or allowing creators/projects/shows/interests to have their own dedicated place instead of everything fighting for attention in one endless global feed.

A good example:

- a podcast could have its own substr where episodes, clips, discussions, livestreams, and community posts live together
- an open-source project could have a focused place for updates, feedback, and support
- a niche interest group could have a calmer feed without unrelated noise constantly mixing in

Once you move toward actual community spaces, some form of moderation or curation naturally becomes part of the equation. Otherwise every space eventually turns into “just another hashtag stream” with spam, collisions, and no real continuity or identity around the group.

That said, I’m definitely not claiming the current model is the final answer. I’m very open to experimenting with different moderation structures over time:

- shared moderators - already working
- community voting - already working
- mirror views
- relay-based filtering
- optional open/unmoderated modes
- more collaborative ownership models

I just think there’s a balance between pure protocol idealism and building something that feels usable and understandable for real communities and creators.

So for me it’s less about re-centralizing Nostr, and more about experimenting with a community layer on top of open protocols while keeping the underlying content portable and interoperable.
utxo the webmaster 🧑‍💻 · 8w
Zero interest in trying to shill nostr to bitcoiners here, they know about it already and stubbornly made their choice to stay on twitter I will try to shill it to degenerate gamblers and hookers in...
Substr profile picture
Too bad — I have to be honest, there was quite a lot that came with it when Nostr first came onto the scene, and it didn’t always worked that smoothly back then. But it has improved so much since then; it’s a shame they’re not giving it a second chance.
❤️1
Substr profile picture
Long form posts are now live on Substr ✍️



You can now publish extended content using NIP-23 — write, structure, and share more in-depth posts directly within a Substr.

You can also configure your Substr to only allow long-form posts, if that better fits the type of content you want to see there.

Tried to keep things readable and flexible:
smooth editing experience
easy formatting
preview while you write

Small fix coming soon:
the mobile text-selection toolbox still clashes a bit with the browser’s native options — working on smoothing that out.
🧡1
Substr profile picture
Been working on long-form posts for Substr — almost ready to push.


A few UX decisions we focused on:

Draft persistence so you can save and continue writing later without losing state.



On mobile, easy text selection and formatting to keep editing smooth and intuitive.

A seamless edit/preview toggle on mobile, while on desktop both views sit side-by-side for a more efficient writing flow.


Still polishing, but the core experience is shaping up nicely.
3❤️6👊1👍1🚀1🤙1
Substr profile picture
Substr Update - Shared Nostr Events, Community Space Cards, Live Stream Polish



Quick build update from Substr. I’ve shipped a lot of product polish recently, but two bigger areas deserve a deeper explanation: Shared Nostr Events and community-level customization.

**Shared Nostr Event posts **
Substr is community-scoped by design. I intentionally do not load the full global Nostr firehose into every /s/.
That keeps communities focused, but it also creates a practical issue: people often want to bring an existing Nostr post into a community thread.

So I added Share Nostr Event posting.

What this does:

- You can post a Nostr event reference directly into a substr.
- The shared card resolves richer content (mentions, links, media, video) instead of just showing raw IDs/URLs.
- Engagement actions (likes, zaps, replies) are wired toward the original event target, so interaction stays meaningful across clients.
- I improved repost compatibility so shared behavior is clearer outside Substr too.

Why I did it this way:

- In a global client, “repost” can assume broad feed context.
- In a community-scoped client, I need a wrapper that anchors the post inside a specific space while still respecting the original event.
- This is my bridge between “community context” and “cross-client interoperability.”

**Community space cards (making each /s/ more ownable)
**
I also expanded moderator controls for the right-side “space” layer with dedicated cards:

- Message card (editable title/body)
- Social links card (compact icon-first links)
- Useful links card (curated title + URL entries)

This gives each community a stronger identity without turning setup into a heavy CMS flow.

I’m exploring how to make communities even more distinct and self-owned:

- stronger space identity patterns,
- clearer utility cards,
- better “what this community is for” signaling,
- and more creator/show/community-specific layouts over time.

Other smaller fixes

- Relay UX refinement: compact cards, status dots, clearer relay info.
- Signer/login flow cleanup with better QR/copy/manual paths.
- Mobile-first signer onboarding improvements (wizard flow, clearer steps).
- /s/ sharing improved for PWA (native share first, copy fallback).
- Atmospheric background behavior fixed (viewport-anchored, no stretch on long pages).
- Rich-text mention parsing improved (nostr:nprofile... support, including leading emoji cases).
- Clickable identity and /s/... badges expanded across more surfaces.
- Stream + chat improvements: better layout, publishing/read behavior, diagnostics, and interaction polish.

Cheers and on to the next one!
❤️4
Joe Martin · 9w
sweeeeet!
Substr profile picture
Been tinkering again… small and bigger updates, step by step ⚒️



Starting with a smaller one:

If you’ve created a Substr, you can now:

add social links

show a dedicated links card

add a text card for extra context or info


Also made some updates to the Substr settings page to make it more logical and easier to navigate.

More coming.
1🤘1