Portfolio website. Please hire me.
Content for /writing comes from a private Obsidian vault
(dy-journal). See
VAULT.md for the operator + setup guide,
API_CONTRACT.md for the data shape the frontend builds against,
and AGENTS.md for AI-editing constraints on lib/vault/**.