We're Live
Week 1 of NullPost.
You're reading this on the thing I've been building. That still feels strange to type. For weeks it lived on localhost:8080 — a blinking cursor, a database file, a stack of half-finished ideas. Today it lives on a real domain, with a real certificate, serving a real post. This one.
So: hello. I'm Ivan, and this is the first thing I've published on NullPost.
Why this exists
I wanted to write more and I kept not writing. Every time I sat down, the tool got in the way. One platform wanted me behind a paywall. Another buried the editor under a dashboard of metrics I didn't ask for. A third was so configurable that "write a post" turned into an afternoon of settings. The blank page is hard enough. I didn't need the software making it harder.
So NullPost is a reaction to all of that. The pitch is one line: write without distraction, publish without friction. No feed to game. No engagement score. No popup asking you to install an app. You open the editor, you write, you hit publish. That's the whole thing, and keeping it that whole is the hard part.
What it actually does today
Week 1 is small on purpose. Here's what works:
- A distraction-free editor. Markdown, live preview, and it auto-saves as you type so you never lose a paragraph to a stray refresh.
- Your own space on the internet. Every blog gets a subdomain — this one is ivan.nullpost.io — and if you'd rather use your own domain, you can point it here and we'll handle the certificate for you.
- Clean public pages. Fast, readable, no clutter. RSS, sitemap, and the right meta tags come for free, because a blog nobody can find or subscribe to isn't much of a blog.
That's it. That's the product. If it feels like it's missing things, that's not an accident — a lot of what I didn't build is the point.
What I'm deliberately not building
No like counts. No follower graph. No "trending" anything. No algorithm deciding who sees your words. The measure of a post here is whether it was worth writing, and that's a number the software has no business calculating.
I'm sure I'll be tempted later. There's always a "just one more feature" that makes the demo shinier and the writing worse. Consider this post the receipt — if a future version of NullPost starts nagging you to boost your engagement, you have my permission to send me this link.
Under the hood, briefly
For the curious: it's a single Go binary and a SQLite database. HTMX on the front end, no heavy framework, no build step to speak of. The whole thing is small enough to reason about in an afternoon, which is exactly how I want it — a tool this simple should be simple all the way down. I'll write more about the build in future posts, because getting on-demand TLS working for custom domains was its own small adventure.
What's next
More writing, mostly — from me and, soon, from you. I'll use this blog to think out loud about the product, the decisions behind it, and what I'm learning shipping something into the world one week at a time.
If you're reading this and you've also got a blog gathering dust because your tools kept getting in the way: that's who I built this for. Come write something.
We're live. Let's see where it goes.
-- Ivan