How this site was made

Jun 26, 2025

NextJS

I used Next.js as it is now the recommended way of creating a new React app, not to mention I have used it in the past and thoroughly enjoyed it. The app router is intuitive and easy to use, and I have found site performance to be excellent out of the box.

Vercel

Vercel is used to deploy the app, host images, and store a list of my experiences in JSON. Getting started with Vercel was very easy and having deployments triggered on merges to main in my GitHub repo is a great win for no additional setup.

Typescript

Is there anything better?

MaterialUI

MaterialUI was used simply because it looks good and has a great ecosystem of components. I didn't want to spend a lot of time on design but I found MUI gave me enough control over the component styles when I needed it.

Rehype/Remark

To create my blog, I wanted to keep things in markdown for easy editing and creation of new blogs. I wanted to simply create a new file, merge to main, and have my new blog entry appear. And I achieved that!

I use react-markdown to render the markdown and metadata is loaded from gray-matter. An assortment of rehype and remark plugins.