Habla
Habla is a Nostr writing room for people who want essays, highlights, comments, bookmarks and zaps to belong to their public key instead of to a blogging platform.
A writing room with relays behind the walls
Habla is one of the clearer answers to a simple question: what does Nostr do for writers who are not trying to squeeze every thought into a short note? The app gives you a web surface for long-form posts. You can read, highlight, write, bookmark and earn from the same place, which is why the home page feels less like a feed and more like a small publishing desk. The point is not that Habla invented blogging. The point is that it moves the blog post away from a single company's account system and toward an event signed by your Nostr key.
If you have used Medium or Substack, the first impression is familiar enough: title, body, formatting, images, preview, readers, comments. But the center of gravity is different. On a normal blogging platform, the site owns the main record, the user account, the audience graph and usually the money rail. On Habla, the article is meant to live as Nostr long-form content, so the same identity can be seen by other clients and the same work can be discovered outside Habla's own interface. That is the promise worth testing.
NostrApps describes Habla as a web client for long-form Nostr notes and calls out the right practical details: long-form publishing, Markdown support, a rich text editor, dark and light modes, relay browsing, content mirrored to other Nostr platforms and extension-only sign-in. Those details matter because a writing app is only pleasant if it lets you forget the protocol while writing, then remember the protocol when you want to check where the work went.
The name is well chosen. Habla's own front page points back to fabula, speech and language, and the product really is about letting a signed Nostr identity speak in paragraphs rather than fragments. That sounds romantic, but the product test is practical. Can you sit down, shape a serious article, add references, publish it, and have another reader find it without first becoming a Habla customer? That is the useful question. Habla is strongest when you judge it as a writer's table connected to the relay world, not as a closed magazine that happens to use Nostr branding.
The article is the record
The technical heart of Habla is Nostr long-form publishing. In NIP-23, articles use kind 30023. The body is Markdown, and the article can carry tags for title, summary, cover image, publication time and topics. A d tag gives the article an addressable identity, so an author can update the work without treating every edit as a totally unrelated object. This is the quiet difference between posting an essay and merely uploading text into a database you rent from a platform.
Habla's FAQ is unusually useful on the storage question. It says the app does not run its own relay and has chosen to focus on building the writing experience while leaving storage and redistribution to relays. That one sentence is more valuable than a dozen claims about freedom. It tells you what Habla is and what it is not. It is a client. It helps you compose and publish. It does not promise to be the permanent warehouse for every article you ever write.
That should shape how you use it. A serious Habla writer should learn which relays receive the post, whether those relays store long-form events well, and whether another Nostr reader can fetch the article later. The comforting version of the story is: your writing is not trapped inside Habla. The practical version is just as important: portability depends on the event format, relay retention, signer behavior and client support. Habla can make the path friendly, but it cannot remove those facts.
NIP-23 also gives Habla a discipline that normal blogging software can hide from you. The article is not only "content"; it is an addressable event with a public key, tags and references. Links to Nostr profiles, notes and other articles are supposed to use Nostr-aware references, and replies to long-form articles now sit in the comment-event world rather than in a private comment database. If you are writing for readers who may move between clients, that structure is the whole point. The app is not simply saving text. It is preparing text to be seen by other software.
Reading is part of the tool
Habla is not only an editor. Its own feature guide treats readers as first-class users. You can comment on articles, highlight passages, bookmark pieces and interact with Nostr references inside the text. That changes the feel of long-form writing. Instead of an essay sitting alone on a static page, the article can become a place where notes, profiles, lists, badges, streams, audio and other Nostr objects are pulled into view.
The highlight feature is especially important because it connects Habla to the wider reading layer around Nostr. A reader can mark a passage, carry that highlight into compatible Nostr tooling and treat a sentence as something that can be discussed, boosted or zapped. That is a different reading culture from the old comment-box model. The margin starts to matter. The quote can travel without pretending the article disappeared.
For writers, the useful editor details are plain: Markdown, toolbar help, preview, media support, checklists, tables and footnotes. Habla's feature guide also explains Nostr link handling: user references, notes, long-form posts, badges and lists can turn into reader-friendly embeds. It even covers traditional embed code for outside media, plus Nostr-native audio and streaming examples. In practice, that makes Habla a good place for essays that need references, receipts and surrounding context rather than only a clean block of prose.
This is where Habla feels less like a notebook and more like a reading room. A good article can carry its sources, invite comments, let a reader save a passage and keep the author reachable through the same identity. You can still write a simple post, of course. But Habla is most interesting when the piece needs a small constellation around it: one quoted note, one profile, one embedded stream, one bookmark, one zap, one reply thread. The article becomes a public object with handles on it.
The money and identity layer
Habla's monetization idea is simple: connect a Lightning address to the Nostr profile and let readers zap the author. This is not a paywall by default, and it is not a newsletter business in disguise. It is closer to a public tip rail attached to signed writing. If the reader finds value in a piece, the zap is both payment and signal.
That sounds small until you compare it with the usual publishing stack. On many writing platforms, identity, audience, payments and posts are bound to the same company. Habla separates those pieces. The identity is the Nostr key. The post is a long-form event. The money path can be Lightning. The app is the tool that makes those pieces usable in a browser. You still need good habits: key custody, a signer you trust, a wallet setup you understand and relays that actually serve your readers.
Sign-in is also a clue. NostrApps notes extension-only sign-in, and Habla's guide points users toward browser-extension login. That is a sane instinct for a web publishing tool. A writer should not paste a raw private key into every site that offers a text box. For Habla, the better setup is a signer or browser extension that can approve events without handing the whole identity to the page.
The FAQ is blunt about the payment path: connect a Lightning address to the Habla or Nostr account and receive value directly from readers. That does not turn every essay into a business. Most essays will not earn much, and pretending otherwise would be silly. What it does change is the relationship between reader and author. The appreciation can be attached to the public work itself, with no platform subscription plan standing in the middle. For independent writers, that is not a full income model by itself. It is a clean primitive worth having.
Who is visible from the project trail
The public Habla trail is not a polished corporate biography. The visible writing around the product includes onboarding, FAQ and feature articles by Tony, with a 21ideas.org Nostr address shown on Habla. Those posts explain the product from the user's side: what Habla is, how to sign in, how to earn, where content is stored and how comments, highlights, zaps, Markdown, embeds and communities work. That is the best public-facing material because it tells you how the product wants to be used, not only what category it belongs to.
The code trail has two useful generations. The older verbiricha/habla.news repository is a substantial TypeScript project with 1,700-plus commits visible on GitHub, a GPL-3.0 license, and a stack built around Next.js, Chakra UI, NDK, ndk-cache-dexie, nostr-tools, void-cat, Alby Bitcoin Connect, React Markdown tooling and zapthreads. That stack reads like an early web app trying to make Nostr long-form writing pleasant without hiding the payment and relay pieces from the author.
The newer public repository, purrgrammer/habla, describes the project with the short phrase "speak your mind." Its package file points to a different modern web-client shape: React Router, React 19, Vite, TypeScript, Tailwind, Radix UI components, Tiptap for rich editing, nostr-tools, nostr-idb, Blossom client code and a broad set of Applesauce packages for accounts, signers, relays, actions, content, React hooks and wallet connect. In plain English: the newer trail looks less like a simple blog template and more like a Nostr-native editor and reader with local caching, signer handling, relay plumbing and media/storage pieces built into the application layer.
There is also a maintenance signal you should not skip. GitHub marks purrgrammer/habla as archived by the owner on Apr 23, 2026, and read-only. That does not automatically mean the live service is unusable. Habla can still be valuable, and the older repository is still visible as part of the project's history. But a publishing tool is a long-term place by definition. If a public code path is archived, writers should check the live app, the update rhythm, the support trail and the surrounding client ecosystem before making it their main home.
There is a useful honesty in that. Habla may still be valuable even when a repository is quiet, because the article events can exist beyond one interface. But a writer choosing a daily publishing tool should never ignore maintenance signals. The right question is not "Is Habla perfect?" The right question is "If Habla changes, can my work, identity and audience still be read somewhere else?" Nostr makes that question possible. It does not answer it for you.
How to test Habla before you trust it
Start with a small article, not your life's work. Sign in with a browser extension or signer, write a short Markdown post, add a title, summary, image if needed, one tag and one Nostr reference. Publish it. Then open the article from another Nostr long-form reader or gateway. If you can find it, edit it, and still resolve the same long-form address, you have learned more than any marketing page can tell you.
Next, test the reader layer. Highlight a sentence. Bookmark the piece. Leave a comment. Send or receive a small zap if your wallet setup is ready. Paste a Nostr profile or event link into a draft and see how the embed behaves. Browse by relay and watch what appears or disappears. Habla becomes much easier to judge when you stop asking whether it is "decentralized" and start asking which parts of your work survive outside the screen you are currently looking at.
Then test the boring parts, because boring parts decide whether a writing tool becomes part of your life. Log out and come back. Try another browser. Check whether your signer prompts make sense. Look at how drafts behave. Change a title and see whether older versions confuse a second reader. Try a cover image, then try an article without one. Open the same naddr from a different client. If you use Lightning, send a tiny zap and confirm where it lands. None of this is glamorous. It is how you find out whether the tool respects the work.
If you are an editor, publisher or community organizer, test one more thing: can Habla handle a shared reading culture? Ask someone else to comment from a different client. Ask a reader to highlight a passage. Ask a non-technical friend to open the public article link. A good Nostr writing tool should not require every reader to understand event kinds before they can read a paragraph. Habla's job is to keep the surface calm while the protocol does the hard work underneath.
The caution is not a reason to avoid the app. It is the reason Habla is interesting. It sits at the exact place where writers discover that Nostr is not a website, not a CMS and not a magic backup service. It is a network of signed events, relays and clients. Habla's best contribution is that it makes that system feel like a writing tool long enough for a real essay to happen.
Sources worth opening
These are the pages I would open before making any strong claim about Habla. They show the directory listing, both public code trails, FAQ source files, standards and libraries that give the app its shape.
- verbiricha/habla.news README
- verbiricha/habla.news FAQ page source
- purrgrammer/habla FAQ route source
- Habla on NostrApps
- purrgrammer/habla source repository
- verbiricha/habla.news source repository
- purrgrammer/habla package file
- verbiricha/habla.news package file
- NIP-23 long-form content specification
- Nostr Dev Kit
- Applesauce Nostr SDK
- Blossom client and storage ecosystem
- purrgrammer/habla GitHub API metadata
- verbiricha/habla.news GitHub API metadata
- purrgrammer/habla issue list
- verbiricha/habla.news issue list
- NIP-23 GitHub source
- NIP-22 comment events
- NIP-27 text note references
- NIP-57 Lightning zaps
- NIP-84 highlights
- NIP-96 HTTP file storage
- nostr-idb repository
- Tiptap editor repository
- Bitcoin Connect repository
- nostr-tools repository





