This website

Jun 13, 2026

astrotypescriptgithub-pages

The problem

My old personal site never became something I was proud to share. I wanted a place that does two jobs at once: makes a strong impression on anyone considering hiring me, and is genuinely useful to anyone trying to learn something.

What I built

A static site generated with Astro. Writing and projects are plain Markdown files validated by content-collection schemas, so publishing is just adding a file. Theming is driven by CSS custom properties keyed off a data-theme attribute, set before first paint to avoid a flash and persisted in localStorage with an OS-preference fallback.

Architecture notes

  • Content as data: getCollection queries typed Markdown; drafts are filtered at build time.
  • No backend: everything is static and served by GitHub Pages behind a custom domain.
  • CI/CD: GitHub Actions builds and deploys on every push to master.