A brief history of r3pwn.com...
The very first version of this website looked like the picture above. It was a Jekyll theme deployed to an AWS EC2 instance, and all of the content was in Markdown and committed to the codebase. At the time, I didn't really know about Github Pages, or how it worked. So, every time I wanted to make an update to a page, I would commit it to the codebase, then ssh into the EC2 instance, pull the repo, then restart the dev server (yes, I know now that this was a terrible setup).
From attending several hackathons in college, I managed to amass a couple hundred dollars-worth of AWS credits, and fortunately, they were able to hold me over for quite a while in regards to the EC2 instance. The day that I got that first bill, though (which I believe was for a whopping $0.14), I knew it was about time for a rewrite. At this point, I had been a professional frontend developer since late 2020 and I felt like I was ready to do things the "right way" this time. NextJS and React, hosted on Vercel, paired with a brand new fully open-source Content Management System called PayloadCMS. All of the pages were SSG with Incremental Static Regeneration, so my Lighthouse scores were amazing, and the pages were never out-of-sync with the CMS. Despite a little bit of quirkiness with hosting Payload inside of the NextJS Pages Router (because the app router was not ready for production use yet), getting the new site up and running actually wasn't all that bad.
While I felt great about getting the website rewritten and in a place where I could start writing things more frequently, it still felt... boring? The design was definitely much more modern than the previous version, but I couldn't help but be unsatisfied with the new site. So, naturally, I let it sit for a couple months and rewrote it again, promising myself that it would be so much better this time. Much newer versions of NextJS (with the App router now!), React, and Payload... I introduced some TailwindCSS and ShadCN components, which made it disturbingly easy to get the website up and running, and I really leaned hard into Payload's "Blocks" feauture, which allow me to create re-usable snippets of content that I can put anywhere, on any page. Some blocks I built for this new version were:
With more to come in the future, I'm sure.
Looking back, I’m pretty amazed at much I've grown since that first version in 2019. The latest iteration of my site feels like the culmination of years of trial, error, some more error, and refinement.
One of my biggest takeaways from this is how important it is to align technology choices with your goals. Early on, my focus was just getting something online - functionality over form. But as I became more experienced, I started to value things like scalability, maintainability, and user experience. Now, every decision - from the tech stack to design - feels intentional and serves a purpose.
While I’m really happy with where the site is now, I know it’s never truly "finished." I'm sure over the course of this year, I'll make some minor changes, and hopefully make some more posts. This has always been a space for me to experiment, learn, and share my thoughts. I’m excited to see what the next version holds!