Embracing Minimalism on Nostr: Building a Dedicated Kind 30023 Client
- Disclaimer
- The Vision: Pure, Unadulterated Kind 30023
- This is a test… and a beginning
- The Beauty of Constraints: Handling Cover Images
- Try It Out
Disclaimer
This is a test. This article was AI generated. It was just to be a test of LongNostr.
The Nostr ecosystem has evolved at a breakneck pace. What started as a simple protocol for decentralized microblogging has rapidly expanded into a sprawling network of rich media applications, complex relay architectures, zaps, badges, and everything in between. While this rapid feature growth is incredible for the protocol’s adoption, I recently found myself realizing something: I missed the old Nostr clients.
Specifically, I missed the minimalist clients that were perfectly tailored for long-form articles.
In a world of infinite scrolling feeds and feature-heavy interfaces, the actual art of writing can sometimes get lost in the noise. I wanted an interface where I could simply sit down, format an article, and broadcast it to the network without any distractions. So, I decided to build one.
The Vision: Pure, Unadulterated Kind 30023
For those unfamiliar with the underlying mechanics of Nostr, different types of posts and actions are categorized by “Kinds.” Standard short-form text notes (like a tweet) are Kind 1. Long-form content—articles, blog posts, and essays formatted in Markdown—are categorized as Kind 30023.
The plan for this new project was singular and uncompromising: build a front-end client that is clean, simple, and does absolutely nothing except allow for posting Kind 30023 long-form notes.
No feeds to distract you. No complex relay management dashboards. No fluff. Just a blank canvas to write, format, and post.
This is a test… and a beginning
Whenever you build a new client, the first step is always to verify that the protocol handshakes are working. You write a few words, hit publish, and hold your breath to see if it propagates across the relays.
This should be a quote.
And indeed, the markdown parsing works exactly as intended. Whether you are using headers, bold text, or blockquotes to emphasize a point, the goal is to ensure the formatting translates perfectly to the decentralized web. This first test was simply to see if it indeed posts correctly to the network—and the results are highly encouraging.
The Beauty of Constraints: Handling Cover Images
When building minimal software, you inevitably run into design crossroads where you have to choose between adding complexity or maintaining simplicity.
One thing I immediately noticed during development is the handling of cover images. In feature-heavy traditional web platforms (like WordPress or Medium), you are accustomed to dragging and dropping an image file to upload it to a server.
However, keeping this client entirely front-end and decentralized means there is no native back-end storage server to host your image files. Therefore, cover images cannot be uploaded directly through the client. Instead, an already active, hosted URL must be pasted in.
But honestly? That’s okay. It aligns perfectly with the minimalist ethos of the project. By relying on external image hosts or media servers (like Nostr.build or Void.cat), the client remains incredibly lightweight. It does exactly what it needs to do—broadcast the metadata and the markdown—without bogging down the codebase with file hosting complexities.
Try It Out
The project is still in its early stages, but the core functionality is there. If you are a writer looking for a distraction-free way to publish long-form content to the Nostr network, I invite you to test it out.
The client is currently live and ready to use at:
https://longnostr.vercel.app
Because Nostr is built on the ethos of open-source and community collaboration, the entire codebase is fully open and available for you to inspect, fork, or contribute to. You can find the repository on GitHub at:
https://github.com/crrdlx/longnostr
Here’s to bringing the focus back to the words. Happy writing.
.hostr
Write a comment