This blog is written with NextJs, using ContentLayer for generating html from mdx files. I love the flexibility mdx provides. My written content is stored as plain text on my drive and I can supplement it with custom components to add whatever behavior I want. For my travel blog posts I created a component that would automatically convert the local currency and show the inflation adjusted price in a tooltip on hover.
For accessing the database I use Zenstack and for styling shadcn, Radix, and tailwindcss.
Over all, I am really pleased with the development experience so far.
For further steps I am evaluating different headless content management systems to get an admin dashboard out of the box.