·  meta, engineering


How this site is built

The boring, deliberate stack behind sridharrajarao.com — Astro, Cloudflare Pages, and a security posture I don't have to think about.

A note on the stack, mostly so future-me remembers the choices.

The stack

  • Astro for the static site generator. It outputs plain HTML by default, ships zero JavaScript unless I opt in, and the content collections API makes blog posts feel like the file system, not a CMS.
  • Cloudflare Pages for hosting. Free, global, integrated with Cloudflare’s edge security and DDoS protection.
  • Cloudflare Registrar for the domain. At-cost registration ($10.44 for a .com) means I locked in 10 years without overpaying.
  • GitHub for source. Push to main, Cloudflare deploys. No build servers to babysit.

What I optimized for

Two things: boring and safe.

Boring, because I don’t want to maintain this site every time some JS framework changes its mind. Static HTML behind a CDN will still work in five years with zero edits from me.

Safe, because static sites have a tiny attack surface. No database, no auth, no server-side anything, no CMS for someone to brute-force. Add DNSSEC, force HTTPS, set a strict Content-Security-Policy, and there’s genuinely not much left to attack.

What I skipped

  • Analytics. I’d rather write for the small number of people who subscribe than chase a number that goes up.
  • Comments. They’re a moderation tax I don’t want. Replies go to my email.
  • A CMS. Markdown files in a git repo are a CMS that I already know how to use.

If you’re thinking about building your own, the SETUP.md in the repo walks through the exact steps end-to-end.

← All writing