Rebuilding My Personal Site

My personal site has gone through many iterations since I got into web development back in 2009. For the past few years or so, it's been nothing more than a single page with minimal information on it. Kind of like a business card on the web, I guess. Being a web developer, I needed to have something, and while I've wanted to do more with it, I wasn't exactly sure what.

Eventually, although I've never really been one to write, I decided that I should start writing about things that I'm learning that may also be helpful to others. Most of it will likely be related to web development, but it could potentially cover other interests, too.

With that, let's get into it...

Goals

Building on what I said above, one of my primary goals and reasons for doing this rebuild was to expand my site into something that serves more of a purpose by adding information to it that I, and potentially others, find to be useful and helpful.

On the technical side of things, my goals for the site were the same goals that I set for any site I'm building. At a high level, I want it to be a great experience for anyone to use. That consists of following best practices, making it accessible to all, and making it as fast and lightweight as possible.

Design

I kept things fairly simple from a design standpoint and built upon what I had come up with for the previous iteration. This site provides the option to toggle between a dark and light appearance, so I worked towards a color pallette that feels cohesive across both modes. By default, the appearance will match what's set on your device, if applicable, but it can also be changed using the toggle at the top of the page.

For typefaces, I chose Empirica, by Frere-Jones Type, and Work Sans, by Wei Huang. Empirica is used sparingly for large display text and brings some personality to the design, while Work Sans is used for body text and provides a good reading experience. I think they pair together nicely.

Development

The previous iteration of this site was built with Eleventy. With how simple the site was, it was definitely a little overengineered, but I'm a big fan of the project and I wanted to lay some groundwork for potentially doing more with the site.

Because of that, I went into this new iteration with the assumption that I'd continue building it with Eleventy. Before I got started, though, I decided to revisit what other options I had. I've seen other projects popping up over the years and I'm always interested in trying new tools. After evaluating some options, I decided to go with Astro. Astro is intended for content-focused websites, delivers zero JavaScript by default, and supports both static site generation and server-side rendering. Those were all things I was looking for. Getting it up and running was a great experience, too. Plus, they had just released Astro 2.0, which introduced some things that ended up being useful to me, such as Content Collections.

Eleventy shines with how flexible and unopinionated it is, while Astro dictates the tooling and workflow a bit more. Neither approach is necessarily better or more correct than the other, in my opinion; they just have different philosphies for how things should be handled. In my case, what it ended up boiling down to was that Astro was doing most of what I wanted out of the box. I could have gotten there with Eleventy, too, but Astro let me hit the ground running. Much of the groundwork I had laid with the previous Eleventy iteration was able to be carried over without too much rewriting, too, so it wasn't all for naught.

I'm using Astro's Content Collections to handle content, like this post, and authoring it using MDX. I'm using Contentful for writing content, which is pulled in by Astro during build time to generate the Notes section of the site.

Deployments and hosting are handled by GitHub and Cloudflare Pages.

Moving Forward

As noted in the beginning, my main goal moving forward will be to write more and continue iterating on this site. There are things I'd like to add and experiment with, and I'm sure some of those things will also be good topics to write about.

To wrap this whole thing up, this rebuild has been a fun process for me. I'm excited to be working on my site again, and I'm looking forward to continuing with it.

If you have any questions about this site or are looking for more specific details on any part of the process, reach out to me.