New Website

Welcome to my brand new website! It's been over nine years since I last designed the previous version and just a tad less than nine since I last posted on my blog (racking up a grand total of four posts!).

The old site, a purely static Jekyll site, hasn't required much maintenance over the years. The primary update I implemented was Dockerizing the build about six years ago. This aligned with my switch from an aging MacBook Pro to a 13-inch Razer Blade Stealth (and I just recently switched to a brand new MBP), dual-booted with a heavily customized Ubuntu installation and i3. (Mental note: write a post about the perils of dual-booting!)

old website homepage

I've pretty much left the design untouched, and I must say, it looks remarkably good for a site that's a decade old. It's responsive, crafted with hand-coded CSS, and operates with a single line of JavaScript—excluding the Google Analytics code and Modernizr.js. I had completely forgotten about Modernizor until just now.

However, the site is indeed a decade old, and naturally, I craved something fresh and shiny. Also, I'm halfway through four months of 'funemployment' after leaving my last job, so this revamp is sort of a prep for my next role, right? When building my new resume, I decided to omit my website. What was I supposed to show potential employers? A decent site that's a decade old with four outdated and uninteresting blog posts? Definitely not!

So, here it is—behold the new site in all its glory. I opted for a SSR (Server-Side Rendering) React-based site using Remix, rather than a statically generated site. Initially, I considered going the SSG (Static Site Generation) route and even developed 80% of a custom static site generator based on my templating engine, Tmplrun, before deciding against it. I wanted to incorporate Tailwind for styling and add interactive elements on both the server and client sides, which meant integrating a separate build pipeline for JavaScript and CSS. It's also nice to have IDE support and syntax highlighting (which Templrun lacks, get off my back, ok?!).

Ultimately, I chose Remix, built with Vite and deployed on Cloudflare Pages. I've been a long-time Cloudflare customer, and their Workers platform is phenomenal. Remix offers first-class support for it. I've used Remix for several side projects over the past few years, and it's been fantastic. This was my first deep dive into Vite's build system. Although I eventually discarded it, the process of building a Vite plugin (essentially a Rollup plugin) for this site's blog was both fun and educational.

Welcome to my new online home—stay tuned for more updates and insights!