I have wanted to write consistently for years. Ideas often collect in my notes, but on some weekends I would rather rest than open the laptop. Another thing also kept interrupting the habit: I enjoyed rebuilding the website where I was supposed to publish.
Since 2019, I have tried Gatsby, Jigsaw, Hugo, and Next.js. The site uses Astro now, but that was not the plan from the beginning. Each choice made sense to me at a different point in the journey.
What I Chose at the Time
Gatsby
Gatsby was my first static site generator experiment. My JavaScript knowledge was limited, so I used an existing theme, wrote a few articles, added a personal summary, and deployed the result to Netlify.
After a few weeks, the project stopped. I could change the theme, but I was not yet sure what I wanted the website to become. I wrote more about that attempt in My First Static Site Generator Experiment.
Jigsaw
In 2022, I returned to the idea and asked a very direct question:
Is there a static site generator built with PHP?
I was focusing on PHP and Laravel, so Jigsaw felt familiar. Its Blade templates and Tailwind setup let me customize the site without learning an entirely new application structure first.
At the time, I also felt slightly behind because other developers were talking about Hugo and Go while I was still choosing PHP. Using Jigsaw reminded me that a familiar tool can still be the practical choice when the goal is to start building.
Hugo
I later became curious about Hugo. I selected a theme, customized some content, and made another personal summary. I did not go much further because learning the templates and documentation required more time than I wanted to spend on that experiment.
That does not make Hugo a poor tool. It simply was not the tool I continued with at that point.
Next.js
Next.js felt the most approachable to me after those experiments. I liked that it supported static generation while also providing routing and other React framework features. Vercel also made deployment convenient.
That was where the original version of this story ended: I was comfortable using Next.js with Tailwind for my personal site.
What Changed Later
The current website has a narrower purpose. It is primarily a collection of Markdown articles, a small number of pages, and a few shared components. It does not need most application features on each page.
Astro now fits that shape well:
- articles live in a content collection with validated metadata;
- pages are generated as static HTML;
- shared layouts handle navigation and metadata;
- browser JavaScript is added only where the site needs interaction;
- the generated site is deployed to Vercel.
These are observations about the repository I maintain today, not criteria I had already defined during the earlier experiments.
The Lesson I Kept
I do not see the sequence as a ranking where Astro wins and every earlier tool loses. Gatsby introduced me to static generation. Jigsaw matched the PHP and Blade knowledge I had at the time. Hugo gave me another ecosystem to explore. Next.js was the framework I found friendly when I returned to JavaScript.
Astro is simply the current choice because it keeps this writing site small and easy for me to inspect after time away.
The more useful lesson is to choose a tool for the work I need to do now. For a personal writing site, the tool is helping when it makes publishing easier—not when choosing and rebuilding it becomes the main project again.