// blog / update

update

Shipped my new portfolio site

Wrote it all in plain HTML/CSS/JS, then ported to Astro. Felt good to skip a build step for once — and good again when the build step came back.

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.

← back to all posts