Building this blog was itself a learning exercise. Here’s what I used and why.
Astro
Astro is a framework built specifically for content-heavy sites. It ships zero JavaScript by default — pages are just HTML. That means fast load times, good SEO, and a great reading experience.
Markdown files live in src/content/blog/ and Astro turns them into pages automatically.
Tailwind CSS
Tailwind makes styling fast. The @tailwindcss/typography plugin gives blog posts beautiful readable typography with a single prose class — no hand-writing font sizes and line heights.
Keystatic
Keystatic gives me a browser-based editor UI at /keystatic while developing locally. I can create and edit posts through a form instead of touching .md files directly. It writes back to Git — so publishing is just a commit and push.
Pagefind
Pagefind indexes the built site and provides a search bar with zero backend. It runs at build time, outputs a static search index, and the search widget loads it client-side.
Vercel
One-click GitHub deploy, free tier, automatic SSL, custom domain support. Easy choice.