#

ditto

(5 articles)

Ditto.pub — The Nostr Web Client That Speaks Mastodon

Ditto is a self-hosted Nostr community platform by SoapBox that doubles as a full Nostr web client. It's accessible at ditto.pub and offers one of the most polished web-native Nostr experiences available. What makes Ditto unique is that it implements the **Mastodon API**, meaning you can log in and post to Nostr from any of the 50+ Mastodon apps. This bridges two decentralized worlds seamlessly. ## Features - **Built-in Nostr Relay** — NIP-01 compliant, fully self-hostable - **Mastodon API Compatibility** — Use Mastodon, Feditext, or any Mastodon app with Nostr - **27+ Content Types** — Text, images, video, polls, and more - **Lightning Zaps** — Built-in Bitcoin tips, with zap receipts decoded - **NIP-05 Identity** — Self-service usernames like user@ditto.pub - **Full-Text Search** — Postgres-backed search across the network - **Trending Content** — Explore tab with trending hashtags, users, and posts - **Custom Themes** — Fully customizable UI with light/dark mode - **Robust Moderation** — TypeScript policy plugins, admin teams, spam filters, rate limiting - **IPFS Media** — Supports local, IPFS, and S3-compatible storage - **Prometheus Metrics** — For relay performance monitoring - **Curated Communities** — Local feeds with curated discovery - **Language Detection** — Multilingual support with DeepL parsing ## Why It Matters for Nostr Ditto bridges the Nostr protocol and the Mastodon/Fediverse ecosystem. Mastodon users can interact with Nostr content without even knowing what Nostr is. For existing Nostr users, Ditto offers a modern, fast, feature-rich web client that rivals native apps like Damus and Amethyst. Its self-hosted nature means communities can run their own Ditto instance with their own relay, moderation policies, identity system, and branding — truly owning their corner of the social web.

Ditto is cool. I'd love to see a multi-community aggregator client/ecosystem.

*Note: This is not some fancy writing piece. this is just brain farting that I thought it was too long for a regular post.* Alex Gleason is always doing a lot of crazy interesting work. [Ditto](https://soapbox.pub/ditto/) is a step in the right direction for an alternate type of relay ecosystem that runs alongside the standard globally focused community we all know. While #Ditto is awesome, what I'd really like to see something similar, but more focused on a multi-community experience that simultaneously makes each community's viewing experience focused only on that community's content. Just for fun, to write down some ideas, below are the 2 big changes that I think would make ditto the ultimate "communities" system that could trounce Reddit. ### 1. Single relay experience on the domain: By default, I think community sites should only show content from the built in relay (or a relay group for redundancy). Currently on ditto.pub, when you first sign in, it feels a lot like any other web nostr client. The default home just shows follows I have from other relays instead of being thrown into the community content. You have to click the local feed, to filter the community's content, but it's limited to people who registered a NIP-05 for that domain. I think that it would be great if you could contribute with any NIP-05 and it counts as community content. That could be accomplished by equate community content to content posted on the relay. There are countless apps to get a feed of your relays, so it doesn't benefit me to see it on a communty's domain. ### 2. Sister client giving multi-community aggregation experience: I think communities should like pokemon and you grab the ones to identify with. Create a set of web and mobile app clients that manage viewing and switching single relays at a time. The client experience would be like reddit where you navigate ditto communities like subreddits. If a community is a pokemon, then this is the pokedex? OK I actually don't know shit about pokemon so that might not be the slam dunk I thought it was. Whoops. ### Ideas / more particulars * To see a community's content, you add a community relay subscribing to subreddit, or simply visit the domain. * Another great feature would be customizing the relays that make up your home feed, and making other named combo-feeds (especially awesome if you are a part of 2 rival communities who's focus generally overlap) * The client would use more globally used relays to handle settings like your list followed ditto communities, etc (configurable) * Similarly, to help users find communities, ditto servers can optionally publish their relay info to a list on a "discovery" relay. Main popular discovery relays would be set by default (where communities publish discovery info to), but could be configured to other relays (if people wanted to set up custom curation relays or something.) * Registering a domain handle (NIP-05) at the community domain can be more focused on people with relay moderation roles, or just people who really for some reason want that community to be their whole identity (i don't personally get that, which is why mastodon is not for me) * Communities could work independently of the aggregator app(s) If people just wanted to visit the domain to post (from any NIP-05)