
Migrating over to Next.js, AWS and more...
Updating my website and migrating to Next.js and AWS
Introduction
My website needed a serious update, not just the tech behind it but also how it looked. It needed a fresh, modern design that matched my current skills. I believe a website should show off a developer's abilities, both in coding and creativity.
Why Switch to Next.js?
I really like how Next.js works. It has built-in routing, server-side rendering (SSR), and client-side rendering (CSR). Plus, I get full control over what gets generated and where.
One big reason I chose Next.js is that I want to use it for most of my future projects. To be clear, I'm using Next.js only for front-end development. For the back end, I prefer "enterprise" languages like C# and Java because they're strong and reliable.
Job security is another reason, but that's a story for another time...
Some say, "Everything that can be done in JavaScript will eventually be done in JavaScript." I'm not completely sold on that idea—at least not yet.
Moving to AWS
Since I started learning about cloud computing, I've wanted to use both of the top providers. Why? Honestly, I don't know, it just feels right.
Switching to AWS isn't just about using what I've learned; it's also my way of testing more complex setups. I'm talking about big-company-level architecture, on my tiny website that gets about three visitors a month (all of whom are me, on different devices). - Sometimes, someone stumbles across my site through LinkedIn and is impressed that I bought a .com domain. Maybe that small effort makes them explore my site a bit. If that's you—thank you, my friend! But I digress...
My main goal was to get hands-on experience, which I did. But in the end, it doesn't really matter which cloud provider you use—as long as your site is online and cheap to maintain.
Right now, the only thing I host on AWS is the images on my site. The actual website is on Sevalla because I realized hosting a Next.js site with SSR on AWS is tricky if you want to do it automatically.
My first attempt was using an EC2 instance, and it worked! I set up my GitHub to update the site whenever I pushed code to main. All I had to do was create a cron job and BOOM! I had a working CD system.
The problem? It was going to cost too much, and wasting money on unnecessary infrastructure would bring shame upon me in the eyes of the AWS gods. So, I shut it down.
Next, I thought about using AWS Amplify. But then I got a $50 credit from Sevalla, and... well, here we are. 😁
The AWS migration isn't finished, but I'll get there in the next few months.
The Design
The design is simple and that's exactly what I wanted.
I could add crazy animations that make you wonder what you're looking at and how it was done. But that would make my life harder as a developer.
My goal is to push out code and move on to the next project. This site isn't a big deal, but it took me months to finish because I was busy building other things.
The design is based on v1 but looks better. Darker colors, fewer rounded borders, a bit more animation, some gradients, and just the right amount of blue to keep things interesting.
The first version (v1) helped me land a job. The current version (v2) is all about showing my skills and my love for writing, building, and design.
How did I come up with the original design? I copied another site, made small changes over time, then finally did a full redesign to make it my own. I also added a blog and a projects page while removing my resume page.
There's still a lot I want to add, but at some point, I'll stop maintaining this site and switch to Notion, like Leo Radvinsky. But we're not there yet...
Conclusion
To wrap things up, this site is my testing ground for new ideas, projects, and whatever I find interesting. Let's see how it evolves over time.