Adding a CMS to My Personal Site
Why
Every time I wanted to update my homepage — change the bio, add a project, tweak the wording — I had to edit the Astro source, commit, and redeploy. That's fine for a developer, but it meant I was only updating the site when I was already in code mode.
What I picked
I went with Keystatic. It's a Git-based CMS that lives right in the repo — no separate database, no external service. Everything is YAML and Markdown files in src/content/. The admin UI is built into the site at /keystatic.
How it works
- Singletons for one-off content (hero section, about page)
- Collections for repeatable items (skills, projects, links, art, blog posts)
- The Astro site reads everything through Keystatic's reader at build/render time
- Blog posts use Markdoc for rich text — headings, code blocks, lists, all the good stuff
What's next
Now that the CMS is in place, this blog exists. I'll write here about things I'm building, things I'm learning, and things I'm figuring out.