Starting over...again
A brief dive into this 2024 itteration of my website, and what makes it different than the rest.
Almost every year, except 2020 (for reasons), I have redesigned or rebuilt my website. Sometimes, I migrate content from the previous iteration. Sometimes, I start over with a clean slate. This year was a little different. I've been technically and structurally planning and designing my website from the ground up since mid-March, with little to show for that time. However, more recently, I found myself in a time crunch and wanting to get the site up quickly, though I still needed to figure out what I wanted or needed. I was missing the "WHY?" of it all.
"WHY?" is an essential question in my work. I look at the big picture and from the top down. I need to understand what I'm building, for whom, and with what goal. This project will always get done when I know why I'm building it in the first place. Being unsure was likely why I had been in design and planning limbo for nearly five months.
If you'll indulge me, I have a side note here. While I love being creative and expressing myself for the sake of doing it, I don't necessarily subscribe to the idea that something can be for the sake of being when there is a goal in mind. Finding your way through a problem creatively without purpose does not serve as a means to an end but is a tool one can use in service of the goal.
I enjoy doing is learning and teaching. I was trying to determine why, based on my perspective, writing blog posts or maintaining a website without a purpose that directly impacted (or benefited) me was seemingly impossible to figure out. I then realized that if just one person found anything I wrote interesting or useful in service of their job, life, or anything else, that would have been a win; impacting one person meaningfully affects many more by proxy over time. It's a slow burn to success rather than the need for immediate gratification that drives me this time.
So, the build. Given some arbitrary concept of unlimited time or energy, I always approach personal projects with the best possible outcome without any external factors being calculated into the equation. This is an unrealistic goal, but it gives me the "final product" view I can pair back to find the MVP.
The Process
The design was easy. I need simple, clean, and well-communicated sections of the website. I want people to find and read my content to avoid getting lost in the confusing and obtuse navigation (I'm looking at you, Amazon). As a former graphic designer and current engineer, I quickly built a set of MVP pages with static HTML and CSS. I believe strongly in a good starting point, so I built acorn.css, a classless (yet wildly opinionated) CSS framework, which I used to handle many structural challenges.
From there, I worked on figuring out my color palette and font choices and put the finishing touches. I have a fully functional homepage, about page, contact page, blog index, and single post pages in about four hours from start to finish.
My goal from the beginning was to facilitate writing the way I write naturally (or most commonly), and that's with Markdown. However, I chose to support mdx to support adding extra features using React components in the future. I also wanted to output static HTML, so it was lightning-quick. I wouldn't make any external API requests requiring dynamic features, so this made sense. I landed on Next.js. Specifically, Next.js 14 with the App Router written with Typescript—all the latest and greatest. After half an hour of configuration and setup, I created new pages and routes.
Almost five hours into the build, this is where we spend some time refining. I went through mobile testing, making tweaks here and there and peppering phase 2 notes throughout the codebase. Although this is a personal project and not something I'd be handing off to a client, I wanted to make sure I added documentation and notes where applicable in case anyone else ever contributes to it. Also, I wanted to document what would be in the next leg of my journey on this site. I truly wanted this website to be the last for a very long time and spark iteration over replacement.
The final two pieces of the puzzle were writing some of the content for pages I didn't have before, porting over the old content, and setting up a GitHub workflow to build and deploy any time a change was pushed to the main branch. I want to be able to generate content on my phone or tablet while traveling, and this was a must.
I'll dig a little deeper in some short-form posts on these topics later, but for now, I'm happy with the outcome, having given only about six hours of my life over a weekend to make a five-month plan come to fruition.
See the final (work in progress) repo on Github here.