Back to blog

The WriteKit founder story

From Hugo frustrations to building the blogging platform I actually wanted.

I’ve been building websites for over a decade—my own blogs, client projects, everything in between. And I kept hitting the same walls.

My blog journey

My first blog ran on Hugo. Static, fast, free hosting on GitHub Pages. Wrote posts about OpenGL, Nuxt and Supabase, random thoughts about programming being therapy. It worked.

Then I rebuilt it on Astro. Better DX, more flexibility, RSS feeds with Discord notifications. Still static, still fast.

But every time I wanted something dynamic—comments, analytics, a newsletter—I was back to duct-taping services together. Disqus for comments (2MB of JavaScript just to say “nice post”). Google Analytics (selling my readers to advertisers). Mailchimp for email (another $20/month). Five different dashboards to check if anyone actually read anything.

The devs who figured it out

While I was fighting with configs, I kept noticing developers who’d built something better for themselves.

Daniel Roe runs roe.dev—Nuxt core team lead. His site isn’t just a blog. It’s a streaming hub, speaking schedule, and open diary. He built something that represents him, not a template.

Anthony Fu at antfu.me created Vitest, Slidev, VueUse, UnoCSS—and his blog ties it all together. Photography, travel, coding streams. Personal and authoritative.

Aaron Francis built an entire business around database education. High Performance SQLite, screencasting courses, podcasts. His blog isn’t separate from his work—it is his work.

Wes Bos at wesbos.com runs courses, hosts Syntax.fm, built a whole brand around teaching. He owns his platform, his audience, his content.

Dan Abramov writes at overreacted.io—deep technical posts that people actually read and share years later. Redux creator, React core team. No corporate filter, just honest dev thoughts about whatever he’s thinking about.

What I kept noticing: these devs turned writing into careers. Courses, speaking, consulting—their blogs aren’t hobbies, they’re the foundation. And they all own their platforms. Not a Medium page that could disappear tomorrow. Not a Substack taking 10%. Their thing, their rules.

The freelancer visibility problem

Four months ago I went independent. Freelance software engineer in Cape Town, mostly Node or Go, web apps, sometimes three.js when projects get interesting.

Building visibility as an independent is harder than I expected. LinkedIn is my main platform for reaching potential clients, but here’s what that actually looks like:

  • Analytics scattered across 5 different services
  • Comments and engagement on one platform, subscribers on another
  • No unified view of what content actually resonates
  • Spending time on infrastructure instead of writing
  • Worrying about which service is tracking what about my readers

I wanted one place. Write something, know if it landed, own the data, move on. Sounds simple. Apparently it’s not.

What’s wrong with existing options

I looked at everything. Here’s what I found:

Substack

Newsletter-first, blog second. Great if that’s what you want, but you’re building their platform. Limited customization, their branding everywhere. And they take 10% of paid subscriptions—which means they’re incentivized to push monetization even when it doesn’t make sense for you.

Medium

Your content lives behind their paywall. Their algorithm decides who sees your work. Their rules, their layout, their ads surrounding your posts. Any SEO juice goes to medium.com, not you.

Hashnode / Dev.to

Better for devs, I’ll give them that. But you’re still in their ecosystem. Your audience lives on their platform. Discovery is tied to their community, which is fine until you want to do something they didn’t plan for.

Ghost

Closest to what I wanted. But it’s Node.js and MySQL—real infrastructure to maintain. I’ve deployed enough Node apps to know what that means at 2am when something breaks.

Static site generators (Hugo, Astro, Eleventy)

You own everything, which is great. But they’re for shipping a site, not building an audience. Want comments? Add a service. Analytics? Another service. Newsletter? Another one. Suddenly you’re managing Plausible and Cusdis and ConvertKit and checking three dashboards to see if your post did anything.

Data ownership actually matters

This might sound paranoid, but I think about this stuff:

Privacy-respecting by default

No Google Analytics selling reader data to ad networks. I want to know who’s reading without participating in surveillance capitalism. Simple analytics that tell me what posts resonate—not a profile of every visitor to sell to the highest bidder.

Full portability

If I want to leave, I leave with everything. Posts, analytics history, subscriber list. Not an export that loses half the data. Your SQLite database, not a row in someone else’s table.

Transparency

I want to see exactly what data exists. No hidden tracking pixels, no mystery algorithms deciding what to surface. If data exists, I can see it and delete it.

This isn’t paranoia—it’s just how things should work. GDPR-friendly by default because that’s the baseline, not a premium feature.

So I built WriteKit

Here’s what I actually needed:

Problem WriteKit Solution
Editors that fight markdown Markdown-native editor that stays out of your way
“Export available” = data ownership Your actual SQLite database file, downloadable
Analytics require tracking scripts Built-in analytics, no third-party surveillance
Comments need embeds Native comments, no JavaScript blob
Newsletter = another service Integrated, no Mailchimp required
Writing takes forever UI that stops you from overengineering
Five dashboards to check engagement Comments, analytics, subscribers in one place

Go for the backend because it’s fast and deploys as a single binary. SQLite per tenant for true data isolation. React only where it matters—the editor, not the reader.

Who this is for

Developers who write. Or want to write. Or keep meaning to write but spend all their time on setup instead.

Maybe you’re a DevRel who needs somewhere that isn’t your company blog. Maybe you’re freelancing and realized visibility actually matters. Maybe you just like explaining things and Twitter threads aren’t cutting it anymore.

If you’ve ever mass-deleted node_modules at 11pm because your blog’s build broke again, or wondered why you need four different services just to know if anyone read your post—yeah. That’s who this is for.

WriteKit is the blog I wanted when I was debugging plugin conflicts. When I was checking five different dashboards to see if anyone read my post. When I was jealous of developers with slick personal sites that somehow felt theirs.


This isn’t a VC-funded moonshot. It’s a product built by a developer who’s lived the problem.

If that resonates, try the demo. If not, no hard feelings.

But if you’ve ever thought “why is blogging still this hard?"—yeah. That’s why I built this.