Today I shipped v2 of this site, now running on Astro + Cloudflare Pages.
The old version was a stack of hand-written HTML files. It worked, but managing 14 pages of content from text editors was getting old. The migration took a weekend:
- Astro for templating and content collections — markdown files instead of HTML
- Cloudflare Pages for hosting — same Cloudflare account I use for DNS
- Cloudflare D1 for the database (suggestions, download log, future admin)
- Cloudflare Access in front of the admin path — zero-trust auth, locked to my email
The public surface is exactly the same. Behind it, I now have a real database and a private admin panel. Next up: full CRUD admin for posts, places, books — so I can write from anywhere without touching git.
Stack writeup goes on ~/security with the threat model.