The I moved to NextJS, like so many others.
It is simply a pleasent dev experience. Over time I grew to love noodling on my site, adding features and learning new concepts. The latest of these concepts has been Typescript.
This is actually the second iteration of my site written in Typescript.
The first one was a bit of a cheat.
This time around
I Learned to Stop Worrying and Love the Types. And soon I was wondering why I hadn't done this sooner.
Here is a brief rundown of what is new:
In order to facilitate spacing, I opted to create layout wrappers that use
gap rules in order to set the spacing and direction.
Type-safe, locally scoped CSS. Vanilla-Extract is simply awesome, and I have barely scratched the surface.
I am using Capsize along with Vanilla-Extract to trim extra whitespace from my typography. This plays into the Layouts concept, providing more consistency.
This has become a new passion of mine, stemming from one of the first engineering projects I embarked on at work. I took all of the typography styles in our brand guide, and built a prop driven component that could deliver consistent brand approved typography across all of our web properties.
At the time this writing, the typography version for this site is still a work in progress. It uses Vanilla-Extract and Capsize in conjunction to provide consistent styling.
I do intend on rewriting this component to better leverage the
conditional variants construct withing Vanilla-Extract.
I am a big fan of Segment and Amplitude. I use them every day at work, and have advocated for their use on multiple teams, but I have to admit—they were absolute overkill for my site. I removed both, opting for the self-hosted (and wonderful) Umami.