The Great Migration of '25
If you're a regular visitor here, you might notice things feel a little... different. The paint is fresh, the furniture has been rearranged, and a few new pictures are on the wall. That's right, I've just completed the Great Migration of '25, moving my digital home from Gatsby.js to the shiny new world of Next.js 14.
My old Gatsby site served me well. It was my first real foray into the Jamstack, and I loved it. But as a developer, my personal site is more than just a portfolio; it's my playground. It's where I experiment, break things, and put new skills into practice. And lately, I had a specific goal in mind: peak performance and better SEO.
The "Why" Was Performance, The "How" Was a Journey
The biggest driver for this change was a desire for even better site performance. Gatsby is fast, but I was chasing top-tier Core Web Vitals and a more SEO-friendly architecture out-of-the-box. Next.js, with its powerful server-side rendering and static generation capabilities, promised a level of speed and optimization that was hard to ignore. The hope is that these improvements will not only make the site feel zippier for you but also make it more visible to search engines.
Of course, a migration is never just a simple lift-and-shift. It was a chance to declutter and tackle some gurt technical debt that had been quietly accumulating.
While I was already using Tailwind CSS, the migration gave me the perfect opportunity to refactor a theme configuration that had grown a bit wild over time. My old setup had become a tangled web of overrides and custom classes that made consistency a real challenge. The rebuild forced me to start fresh, creating a cleaner, more streamlined tailwind.config.js
. It was a much-needed reset, and the result is a design system that feels far more intentional, maintainable, and frankly, lush.
The content migration was another beast. My posts were already in MDX, which was a huge head start. However, untangling the GraphQL queries that Gatsby handled so magically took some real head-scratching. There were a few late nights fueled by Tetley tea (screw you Yorkshire tea) and sheer determination, figuring out the best way to fetch and structure data in the new AppRouter world.
Finally, this wasn't just a code migration; it was a platform one too. I moved the site from Netlify to Vercel. Given Vercel are the creators of Next.js, the experience was as smooth as you'd hope. The domain hookup was seamless—a welcome, easy final step to the whole project.
Did You Spot the Fun Stuff?
Of course, it can't all be about the struggle! A rebuild is the perfect excuse to add some personality.
I've sprinkled some new animations throughout the site because, why not? Pay close attention to the homepage intro—my name has never felt so interactive and, dare I say, bouncy. It's one of those small details that just makes me smile. It's a reminder that web development can, and should, be playful.
So, Was It Worth It?
Without a doubt. Was it a simple weekend project? Definitely not. There were moments of frustration and days where I questioned my sanity. But I've come out the other side with a site that is quantifiably faster and a much deeper understanding of the modern React landscape.
This wasn't just a tech migration; it was a refresh of my personal space on the web, and it feels more 'me' now. So, have a look around, click on everything, and let me know what you think of the new place!