reid.wiki

Projects / Software & Infrastructure

This Website

The site you're reading: Astro static build, S3 + CloudFront hosting, GitHub Actions CI/CD, and a browser-based CMS so updates don't require a git push.

Status
Active
Timeline
2021 — present
Last updated
July 2026
AstroS3CloudFrontRoute53GitHub ActionsSveltia CMS

History

reid.wiki has been through eras: a Jekyll/Minimal Mistakes site deliberately over-engineered onto ECS behind an ALB (great CloudFront/Docker/ECS practice, overkill for HTML), and now this — the third rebuild, which swings the other way: aggressively simple hosting with the engineering effort moved into the content pipeline instead.

Current architecture

  • Astro static build — content lives in markdown collections with typed frontmatter (projects carry status, category, timeline, and stack as data, which is what renders the status indicators across the site).
  • S3 + CloudFront — static hosting, wildcard ACM cert, cache-control tuned so hashed assets are immutable and HTML revalidates in about a minute. No servers, no containers, effectively free.
  • GitHub Actions — push to branch → build → sync to S3.
  • Sveltia CMS at /admin/ — a browser editing panel over the git repo. Editing a project status or posting a note is a form + save button; the CMS commits to GitHub behind the scenes and CI redeploys. Updates without touching a terminal, while everything stays version-controlled markdown.

Why not a database and an admin backend?

Because then I’d own auth, backups, and uptime for a personal site. Git is the database; the CMS is just a nicer pen. If the panel ever breaks, the fallback is editing markdown — which is also the disaster recovery plan, the local dev story, and the migration path, all at once.