← Back to Projects

This Website

A personal site built with Astro, MDX, and Pagefind. Static, fast, and easy to maintain - which is the whole point.

AstroTypeScriptWeb

Why I Built It

I wanted a personal site that was fast, simple, and fully mine - no CMS, no heavy framework, no vendor lock-in. Astro checked every box: static output, Markdown/MDX for writing, and zero client-side JavaScript by default.

How It Works

  • Astro generates a fully static site at build time
  • MDX lets me embed components inside blog posts when plain Markdown isn’t enough
  • Pagefind indexes the built site for fast, client-side search with no backend
  • Plain CSS with custom properties - no Tailwind, no SCSS, no build step for styles
  • DigitalOcean App Platform hosts the static output and auto-deploys on push

Code Quality

  • Prettier with the Astro plugin enforces consistent formatting across all source files
  • Vale lints prose in Markdown content for consistent typography (dashes, quotes, ellipses) and general writing quality
  • GitHub Actions CI runs npm audit, Prettier, astro check, Vale, and a full build on every pull request

What I Learned

Building your own site from scratch forces decisions that a template hides: how to structure content collections, when scoped styles make sense vs. global ones, how to handle tag pages at scale. Every choice is visible and intentional, which is exactly how I like my systems.