Why I moved to Ghost Pro

After a 7-year hiatus, I’m rebooting this blog with a fresh mindset. From battling perfectionism and over-engineering my own blogging tools to embracing managed platforms like Ghost Pro, this post reflects on the lessons learned — and a pivot toward frictionless writing in 2025.

Why I moved to Ghost Pro
Photo by Hunter Harritt / Unsplash

It's 2025, and this is my attempt to restart this blog. I haven't posted on this blog for the last seven years for various reasons. Surprisingly, this site continues to receive a steady stream of traffic. I will be restarting this blog with a pivot. You can also read about the journey so far, including my excuses for not writing for so long.

The move to the new platform is being done gradually. Please bear with me while this transition completes.

Prior blogging platforms

I have used a static site generator, including building my own. I have built a blog-like content management system that can manage multiple sites. And to be honest, it had many features similar to Ghost, rather than WordPress. Additionally, I had some customizations done, such as automatic CTAs and cross-linking using pre-GenAI-era techniques. Things were over-engineered to stay the least. At any given point in time, there were todos to be done on the systems. I did not open-source it, thinking I could build a product out of it - it was close, but I never launched because it wasn't perfectly set to my needs. I knew that perfectionism can kill your product idea, and you need to launch, but then this wasn't a product idea to begin with. I was in a limbo state, where I wanted to write, switched to product building, and then returned to writing again.

Lack of time, move to Hugo, and the fallout.

Later, I became too busy with work and life, and keeping up with these engineering feats became harder due to the limited time I had. I would have the inspiration to write a post, and that idea would be recorded in a document. I would write something there, a half-post, half-outline, and then I would get pulled into the development to-dos, i.e., the engineering side. I've had enough.

The problem with the setup was that I was not writing; I was building the blogging platform from one to another.

I decided to simplify it and move it to a static site generator, which I did not build. I decided to abandon the development effort that constantly distracted me from writing. I used Hugo - and, well, it's not completely developer-free, but it's mostly one step away from the effort I was putting in. Migrating was a little bit of work and needed patience. I had a few posts built over the years and needed to ensure that SEO is not impacted and backlinks continue to work.

But little did I realize the importance of the features that I had built over time within my blog post editor. Simple things like adding images became an irritant. For those unfamiliar, it is essential to name the image files correctly, place them in the corresponding folder according to your structure, and then include those names correctly in your markdown file. I was comfortable with Markdown, but sometimes I would forget or get confused with specific syntax for hyperlinks and images. The constant to-and-fro between editor and preview became a friction point. These were minor friction points, but they add up when you're trying to write within the minimal time window you have. Not to discount the effort needed on the article itself. My setup was straightforward: I created a folder and wrote an index.md file and had any images within that folder. Push that directory to the GitLab repo (via Git), and the continuous deployment setup will automatically run and deploy the post to live in a couple of minutes.

The dud

And yet, the minor friction points combined with limited time windows prevented me from writing. To the extent that I completely stopped writing. The result - I would write on Reddit, HN, or other platforms, but I stopped doing so on my blog. After 2018, when I upgraded my machine, I barely updated my blog at all due to the limited time I had available and a lack of motivation to install the repo locally. The blog existed, but it had not been updated and was experiencing declining traffic. Interestingly, it continued to get some traffic for years.

Revisiting in 2024

In 2024, once I had some free time, I fell back into the same cycle - developing and engineering instead of writing, but it was on a different blog. And the engineering was justified there. However, it was then that I realized a few things.

  1. Friction to flow - When I want to write, I should be able to write immediately, no friction. Once I get in a flow state, I can finish what I started. But if I see the friction getting into the flow state, it will eventually lead to not writing.
  2. Wastage of time - I spent time worth thousands of dollars trying to build my blogging platform. It wasn't worth it when compared to paying for a managed platform, which would have eventually yielded more output, even if I were writing just one post a month.
  3. Sunk cost myth - Managed platform feels like a sunk cost, but it was the only problem that I had with it. And that was also low compared to the multitude of development complexities. It isn't a sunk cost, because my blog inadvertently served as a lead generator for my consulting business.

When and if I restarted, I had a few goals for blogging this time.

  1. Take it as a business: I had been blogging for two decades, just because I enjoyed writing. However, I never took it as a business. The best I got out of it was generating some ad revenue by placing ads. And if I am going for a managed platform, and want to avoid feeling the "sunk cost", I need to keep it open for business. That may not be just ads, but also subscriptions, affiliates, or other revenue streams.
  2. Avoid friction: This may be specific to me, but I have learnt that avoiding friction early on leads to better results. I thought it was a self-discipline problem, but it is not - the amount of willpower we all have is limited. Do not use that to do things that could have been avoided in the first place.
  3. Embrace constraints: When I am using a managed platform, I am outsourcing all the development to them. I give up control over the features and the ability to exert control over them. They may not have everything I want, but that's okay as long as they have what I need. WordPress has everything I want, and I avoid it like the plague. Embrace the constraints, trust them with their work, and focus on the primary goal: writing good content.
  4. Keep it flexible: While I am giving up control to the platform to manage the blog, I do not wish to give control over the content, should they become a less-than-ideal fit in the future, or any other worst-case scenario. I can run a Ghost instance on my cloud server if I do not like the Pro plans. That is the reason why I did not go with Medium, Substack, or Hashnode.

Distancing the programmer mindset

All that said, I am a programmer at heart. I love building things, and I did not know how it would feel getting off that mindset, especially when there are "seemingly friendlier" ways out instead of using Ghost Pro. Questions like:

  1. Why not use a static site generator? Fork one and upgrade to your needs?
  2. Why not use AstroJS when I am so experienced in React?
  3. Why not rebuild your platform in NextJS?
  4. Why not just host Ghost on your own Digital Ocean droplet?

These are valid questions; there was no cost-benefit to this action if it prevents me from achieving my goal, i.e., writing. As I mentioned earlier, all my effort earlier prevented me from writing and cost me time worth thousands of dollars. Answering these with factual or anecdotal proofs took some time. And ultimately, I decided to move forward with the Ghost Pro plan.

Why Ghost Pro

This is compared to my previous setups. I am not comparing all platforms.

  1. The editor is simple and clean. There is no clutter, and you can focus on writing. I also love the fonts. This is also one of the reasons why I created my blog content management system similar to Ghost.
  2. The upgrades are managed. I do not have to upgrade Ghost myself. I do not worry about the disk backups. The infrastructure is managed. And yes, it is a little more costly than hosting your own, but that hassle is offset by a few dollars a month.
  3. Easier to place images in a flow. This was one of the irritating issues I had with Markdown files and static generators. It would break my flow and chain of thought. I would either have tags like <insert-xyz-image-here> throughout my Markdown files, or I would have to prepare my files beforehand.

If the only option I had were anything like WordPress, I would have stuck back to improving my prior setups.

Restarting blogging in 2025

The blogging era has evolved with the advent of Generative AI. ChatGPT already answers many queries. I use ChatGPT for what I used to do with Google before. This is because I know that specific queries on Google will prompt me to browse through links before I find an answer. Whereas, on ChatGPT, I get the answers right away. It's another thing that I do not trust blindly - I might still go and ask Google for some fact-checks if I have to.

However, there are things that I will not use ChatGPT for; instead, I will use Google because I know it provides concise answers. ChatGPT also suffers from providing too much information or writing excessively - sometimes it's almost like gaslighting. And not every person needs a Plus subscription.

Overall, AI is not taking away the entire search traffic; it may be taking away some significant part. Another problem with AI is the phenomenon known as "AI slop." A lot of low-quality content is coming through. I do not see how that will end.

Advantages of AI

Writing takes time. And in the world of AI, if you use the right tools, writing can be done at the speed of thought. Assuming your speed of thought isn't better than GenAI tools. However, if you only use AI to write, you are generating a lot of "AI content slop."

However, there are also several advantages of AI, which I will likely discuss in more detail in another post. For me, the most important thing is language - I am not a native English speaker, and there are nuances in the language that I will miss naturally. Sometimes I can't recall the right word to use. Both ChatGPT and Grammarly help me immensely here.


The path forward

I am unsure whether my decision to restart blogging in 2025 will be a lasting one. I am uncertain whether I can treat it as a business that will at least break even. It may become a tool to share insights, with expenses paid out of pocket.

I already started another blog earlier, with Ghost Pro, and my consistent output there has given me a positive outlook about my restart here. Time will tell whether moving to a managed platform will ultimately lead to benefit or regret.

This blog began as a space to explore technology and programming, and that foundation still holds. Over the years, my work has expanded to include machine learning, AI, technical architecture, leadership, mentorship, entrepreneurship, and strategic thinking. Occasionally, I might touch on trading or take a walk down data-driven rabbit holes that blur the line between science and speculation 😉.

The transition from old to new will be slow and gradual. I may revisit and edit some of the posts I wrote in the past. Please bear with me while this transition completes.

If you'd like to follow along, you can subscribe for updates.