How I built this site

  • astro
  • web
  • cloudflare

I wanted a personal site that loads instantly, is easy to update, and doesn’t lock me into anyone’s platform. Here’s the stack I landed on.

The stack

  • Astro — ships zero JavaScript by default, so pages are basically static HTML. Perfect for a content site.
  • Markdown content collections — every blog post is a .md file with a small schema, validated at build time.
  • Cloudflare Pages — free, global CDN, and it sits right next to my domain’s DNS.

Why not something heavier?

For a portfolio and blog, I don’t need a database or a server. Static files on a CDN are faster, cheaper, and far simpler to reason about. If I ever need dynamic features, Astro can add server rendering later without a rewrite.

What’s next

I’ll keep tweaking the design and adding posts. If you’re building something similar, the whole thing is a handful of files — start small and grow it.

← Back to all posts