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 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.
Is there anything better?
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.
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.