Choosing the stack
Why this site runs on Astro and Keystatic, with content in GitHub and hosting on Vercel, instead of WordPress or Kirby.
The structure of this site set the requirements. Build logs nest inside their project, so a log’s address reads /projects/<project>/<post>, and every project gets its own RSS feed.
I looked at three options:
- WordPress stores posts flat. Nesting them under projects means a custom post type, a relationship plugin, and permalink rewrites, plus ongoing plugin updates.
- Kirby handles nesting naturally because folders are pages. But it’s a PHP app, and my stack is GitHub, Vercel, and Supabase, which are built around JavaScript.
- Astro with Keystatic keeps every post as a file in my GitHub repo, gives me an editor to write in, and deploys to Vercel on every save.
I went with Astro and Keystatic. Content stays in Git, so every change has history and a preview. And since Ghost Writer exports Markdown, it can eventually draft build logs straight into this site.