{
    "version": "https://jsonfeed.org/version/1",
    "title": "Soapbox Blog",
    "home_page_url": "https://soapbox.pub",
    "feed_url": "https://soapbox.pub/rss/feed.json",
    "description": "Soapbox is customizable open-source software that puts the power of social media in the hands of the people.",
    "icon": "https://soapbox.pub/assets/logo.svg",
    "items": [
        {
            "id": "https://soapbox.pub/blog/sample-blog-title",
            "content_html": "<p><strong>As I have been building <a href=\"https://soapbox.pub/ditto\" target=\"_blank\">Ditto</a>,</strong> it has become clear that there are foundational Nostr development tools missing from the ecosystem — tools Ditto needs to succeed.</p>\n<p>I have <a href=\"https://github.com/nbd-wtf/nostr-tools/pulls?q=is%3Apr+author%3Aalexgleason\" target=\"_blank\">contributed heavily</a> to <strong>nostr-tools</strong> (as the second-highest contributor), and sent <a href=\"https://github.com/nostr-dev-kit/ndk/pulls?q=is%3Apr+author%3Aalexgleason\" target=\"_blank\">a few patches</a> to <strong>NDK</strong>. But I found difficulties with both that are not easy to solve.</p>\n<p>I wanted a modular library built around thoughtful interfaces, using modern web APIs like <a href=\"https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal\" target=\"_blank\">AbortSignal</a> and <a href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AsyncGenerator\" target=\"_blank\">AsyncGenerator</a>. I wanted components that could be easily swapped in and out, instead of a monolithic framework.</p>\n<p>Additionally, the problems I was facing on Ditto were also problems with the <a href=\"https://mostr.pub/\" target=\"_blank\">Mostr Bridge</a>. And I know I&#x27;m not the only one! So instead of just baking these solutions into Ditto, I decided to create a new Nostr library where we could all share code together.</p>\n<p>Thus, <a href=\"https://nostrify.dev/\" target=\"_blank\">Nostrify</a> was born!</p>\n<h2>What is Nostrify?</h2>\n<p><strong>Nostrify</strong> is a flexible library for building Nostr apps in TypeScript. It provides Relays, Signers, Storages, and more to help you build your app.</p>\n<p>It is centered around interfaces such as <a href=\"https://jsr.io/@nostrify/nostrify/doc/~/NStore\" target=\"_blank\"><code>NStore</code></a>, <a href=\"https://jsr.io/@nostrify/nostrify/doc/~/NRelay\" target=\"_blank\"><code>NRelay</code></a>, and <a href=\"https://jsr.io/@nostrify/nostrify/doc/~/NostrSigner\" target=\"_blank\"><code>NostrSigner</code></a>. So even if you don&#x27;t like the built-in components, you can easily swap them out for your own!</p>\n<p>Nostrify uses nostr-tools under the hood for low-level operations, but it implements a brand-new <a href=\"https://nostrify.dev/relay/single\" target=\"_blank\">Relay</a> and <a href=\"https://nostrify.dev/relay/pool\" target=\"_blank\">Pool</a> from scratch. If you want, we even offer a <a href=\"https://nostrify.dev/integrations/ndk\" target=\"_blank\">wrapper around NDK</a> so you can use it as a relay backend!</p>\n<h2>Building Together</h2>\n<p>A core tenet of Nostrify is &quot;interfaces over implementations&quot;. You can think of Nostrify as a <strong>protocol</strong> for building on Nostr with TypeScript... kind of like Nostr itself!</p>\n<p>We want you to <strong>build your own components</strong> and share them with the community. To get started, see:</p>\n<ul>\n<li><a href=\"https://nostrify.dev/relay/#custom-relays\" target=\"_blank\">Custom Relays</a></li>\n<li><a href=\"https://nostrify.dev/store/#custom-storages\" target=\"_blank\">Custom Storages</a></li>\n<li><a href=\"https://nostrify.dev/sign/#custom-signers\" target=\"_blank\">Custom Signers</a></li>\n</ul>\n<h2>Ditto: Soon</h2>\n<p><a href=\"https://soapbox.pub/ditto\" target=\"_blank\">Ditto</a> is a decentralized, self-hosted social media server that emphasizes user control and community building across platforms. Key features include a built-in Nostr relay, compatibility with any Mastodon app, and full customizability. Always open-source, no ads, no tracking, and no censorship.</p>\n<p>Please stay tuned. Ditto is almost ready!</p>\n<h2>Bring your projects to life on Nostr 🌱</h2>\n",
            "url": "https://soapbox.pub/blog/sample-blog-title",
            "title": "Announcing Nostrify",
            "summary": "Nostrify is a flexible library for building Nostr apps in TypeScript. It provides Relays, Signers, Storages, and more to help you build your app.",
            "date_modified": "2024-04-17T00:00:00.000Z",
            "author": {
                "name": "Alex Gleason"
            }
        }
    ]
}