I ditched my blogging platform

Spencer Pauly
Spencer Pauly
7 min read
I ditched my blogging platform

My blogging journey started 5 years ago on Medium. I had a blast writing on that platform. Then, I moved to Ghost and put my writing on spencerpauly.com. I wanted a central hub for my content.

Ghost was perfect – it had a beautiful editor, elegant themes, and everything just worked. I was happy there for years.

But something changed this year. I realized I was tired of dashboards – tired of logging into interfaces designed by someone else, adapting to their workflow instead of mine.

The core problem with dashboards is this: I have to go to the data instead of the data coming to me.

Every time I need to view something, publish something, or update something, I have to context-switch out of my workflow, log into someone else's interface, and adapt to their mental model of how things should work.

For years, this was just the price of using software. Dashboards were better than building everything yourself, so we accepted the trade-off.

Here's what changed: AI made owning my own code less painful.

Previously, if I wanted to code my own blog, I would have to manage metadata, post excerpts, and SEO, as well as everything else around a blog. Ghost was attractive because it had built-in systems for all of that.

However, now with AI, doing all that stuff with code is actually easier than using Ghost.

Suddenly, having my blog in my own codebase isn't a burden – it's an advantage.

Creating my blog in 6 hours

Normally, programming your own blog, while not hard, is very time consuming. Not this time.

I was able to code this blog website in six hours – thanks to AI

First, I gave AI a screenshot of my Ghost site and asked it to generate a stubbed-out Next.js codebase. This created the layout, components, and basic structure in about an hour. It took some back and forth to get the design exactly how I wanted it, but it was much faster to iterate on than I could have done myself.

Then, I exported all my content from Ghost's admin panel – years of blog posts, images, and configurations in their proprietary format. I had AI generate a Python script to convert all that exported content to clean Markdown files. What was once locked in Ghost's proprietary format became portable .mdx files I could edit in any text editor.

Then, I programmed Next.js to render these Markdown files as blog posts. I even added custom Markdown components to render editable code examples, highlights, custom tweets, etc. And now I can write directly in my editor with live preview.

I spent another hour or so tweaking the navigation, adding mobile responsiveness, and refactoring the code. I spent another hour redoing my products page. But the entire process end-to-end only took six hours.

Finally, I deployed my new site to Vercel and turned off my Digital Ocean droplet running Ghost. That's $120 a year back in my pocket. The result? I finally own my blog posts. My blog posts are now code, not content trapped in a database behind a web interface.

The future this enables

Now all my blog posts live as Markdown. In the short term, this means I can have custom components to convey ideas better when I write.

In the long term, this means I can have my blog posts automatically fan out to other platforms like Medium, dev.to, and social media.

I can generate Twitter posts, LinkedIn posts, and other social media posts from my blog posts.

Diagram showing markdown file at center with arrows pointing to various platforms like Medium, dev.to, Twitter, LinkedIn
One source of truth, infinite distribution channels - the power of owning your content pipeline

I can copy this codebase over to any other SaaS product I launch and spin up a blog for that product in minutes.

Instead of me hunting for data, the data comes to me. And the best part? It's all free. No more paying to upgrade for more features.

The big picture

In the early 2000s, you downloaded your software as an executable and paid a one-time fee. You owned it forever, but updates were manual and you had to manage everything locally.

In the 2010s, the big innovation was SaaS products where you pay a subscription and no longer need to download anything. Everything was always up-to-date and accessible from anywhere, but you had to adapt to their interfaces and workflows.

The next innovation is one that's been enabled by AI:

SaaS tools that come to you.

More specifically, SaaS tools that come to you wherever you interact with LLMs. You shouldn't have to tweak knobs and toggle settings. You should be able to operate as a manager. You should be able to give AI instructions and have the AI manage things at a more granular level.

For me, where I interact with LLMs is in my code editor. So naturally, bringing workflows into a codebase makes the most sense for me.

Take an analytics product. Yes, it's nice to have a dashboard to look at trends, but most of the time you spend interacting with analytics, you have a very specific question you want to answer.

Something like: "How did my last email campaign do in terms of sales of this product?"

You shouldn't have to dig around a dashboard to get this information. You should be able to ask an AI and it should generate you a chart right there in your chat window.

And it should be a two-way street. The AI should also be able to start a chat with you. If it notices a sharp drop in sales for a product, it should alert you and be able to give you any context needed to understand the problem.

This is a fundamental shift away from a world of dashboards and email alerts and into a world where the LLM is your proxy for interacting with the world.

For me, this blog migration is just the beginning of a push towards that future. I'm pulling more of my digital life out of dashboards and into conversations – not to build everything from scratch, but to build interfaces that come to me instead of forcing me to go to them.

Everyone should be able to feel like Iron Man interacting with Jarvis.

Iron Man interacting with Jarvis holographic interface