Avatar

vishnu b @znx

can't find my capslock key

I migrated my blog (again) to Astro

Yup, again. The last blog was in Zola using a great theme I found. I kept some design elements from there when migrating.

This time, I wanted to have more creative freedom and didn’t use any themes.

I’ve never used Astro before so Copilot & Antigravity were there to guide me along the way.

Where it all began#

My blog has seen a lot of transformations. In all honesty, the state you see it in today is far from what it was at first.

As a kid, growing up, I was quite intrigued by technology - opening up a PC and meddling with the components. The Internet, gaming, video editing and coding all caught my attention.

But, none of that would have been possible if my dad hadn’t struck a deal with me. A deal that probably helped me become who I am today. I never owned a PC growing up, and most of my initial exposure to computers was in internet cafes, playing a lot of Counter-Strike.

The deal was simple - my dad would buy me a PC and I could play all I wanted as long as I spent an hour every day coding. Sounded like a bargain to me, so I shook hands right away, and started my journey into the world of computers. Sometimes I wonder if I ever would have become a software engineer if I didn’t agree to the deal. 😌

The Venn Diagram of all of my interests overlapped in many places, and one of them turned out to be blogging. It started off as blogging about gaming, and video editing, later grew into a tech blog where I shared what I learnt.

The hosting journey#

Blogspot was my initial testing grounds, probably starting somewhere in the 2010s, mostly posting content related to gaming and my YouTube channel.

Later it turned into vanilla HTML / CSS / JS on GitHub Pages, when I was learning these languages - very brief and I forgot what I even wrote there.

The tech blog took off in Hugo somewhere around 2020. Later, and I don’t know why I switched, I heard about Gatsby and hosted a website on the now defunct Gatsby Cloud. The articles on Rudim and .NET stemmed from around then. During this time, I explored a lot of .NET and backend development.

I got an email sometime in 2023 telling me that Gatsby was acquired by Netlify and I needed to change my hosting to Netlify Cloud. It took a lot of nagging from them for me to eventually migrate. It wasn’t pretty, but I managed to get it working after a long stretch of reading not-so-great documentation.

Netlify email announcing Gatsby Cloud End of Service
The final reminder email from Netlify about Gatsby Cloud end-of-service

At that point, I decided I wanted a bit more control over my infrastructure and explored hosting on AWS using IaC. That was honestly quite fun to learn - and something that felt a lot more exciting than clicking buttons on a Netlify Dashboard.

I also migrated to Zola during this transition, and found a theme that was to my liking. My choices were purely about things I wanted to learn. AWS, because I wanted to learn how IaC works and Zola, to dip my feet in a new programming language.

I dove deeper into AWS, and Frontend Development at this time. Though AWS was quite powerful - it was inconvenient to handle, and probably not the best place to host a hobby blog where everything just “works” and was cheap.

So I set out to find the middle ground - not too complex to set up, but still giving me enough control on how it is hosted. It came down to GitHub Pages and Cloudflare Pages. I stuck to Cloudflare because, as always, I wanted to learn something new. 😎

Cloudflare was great - and still has been a comfortable choice to this day. I still host a majority of my side projects on Cloudflare with ease. If you’re starting off on some side projects or blogs I highly recommend Cloudflare or GitHub Pages - both have served me very well.

If you’re interested you can see some of the older websites (Gatsby, Zola) on the Wayback Machine.

Moving to Astro with AI Agents#

The only remaining piece of the puzzle was changing Zola. Don’t get me wrong - Zola was great! It was fast, easy to use and just worked without an issue. The theme was also fantastic - and the current layout is mostly inspired by it.

However, it didn’t have as much flexibility as I wanted. Since I was using a custom theme, any modifications I wanted to make meant I needed to maintain a fork and keep it up to date while resolving conflicts. Zola wasn’t as mature as the other SSGs and it didn’t offer as much flexibility as I wanted.

You guessed it - my decisions were influenced by the next things I wanted to learn. This time it was a mix of two things - not just what I was migrating my site to, but how as well.

2026 is a good year for AI so I wanted to dive a bit more into using Agents. Jio offered a Gemini subscription and I started exploring Antigravity. Quotas soon hit so I got myself a Pro subscription of GitHub Copilot as well.

Antigravity quota reached message
Quota limits being hit all the time.

I used Antigravity to chart out a plan on migrating - providing my requirements and requesting a bunch of options. Something new for me, which won’t deprecate anytime soon, and offered a lot of flexibility.

JS was an obvious choice and Astro stood out as the SSG - writing pure JS or making a React / Angular app meant I had to handle a lot of the problems that SSGs had solved OOTB. Since I am also accustomed to React, I decided to stick to Astro and learn how to customize an SSG extensively.

There were a bunch of other choices I zeroed in on with constant back-and-forth with my Plan Agent, but I’ll leave those nitty-gritties out.

I started out on a blank slate - no themes, no extra plugins. Initialized an Astro project and tried to replicate a similar layout as before - I liked the layout serene provided so I wanted to stick with that for now. I didn’t port over features (e.g. light / dark mode) which I felt I might not need (yet, at least), and also changed quite a few things with the layout and interface.

Most of this was a learning journey with an Agent pointing me in the right direction on how to fix bugs, set up linting, and accelerate my development. This migration would have taken me well over a week or two if I sat and tried to figure out everything from the documentation alone.

Having an agent sift through documentation and surface solutions quickly was a game changer - the state it reached today is with just an hour a day for 3 days.

It’s still far from perfect, and I have a lot more design changes to make - which I will continue iterating on as I am less bound to any template or theme.

Until the next blog migration, à bientôt!