This Website
A personal site built with Astro, MDX, and Pagefind. Static, fast, and easy to maintain - which is the whole point.
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.