I extended my personal site and blog with a few practical upgrades:
- Extended the backend behind my blog: insert and update articles via OAuth2. Claude can now insert blog articles directly.
- Improved discoverability with automatic meta descriptions for search engines and AI crawlers.
- Added an RSS feed to my blog.
- Built a backlog on GitHub to track ideas, with Claude inserting new items automatically. It's now also visible on my site as a mini project board (screenshot below shows the public items).
- Added a "human visitor" counter using Cloudflare Turnstile + Cloudflare SQL to count real visits without invasive tracking.
- Added a project sub index with jump links at the top of the page for faster navigation.
Maintaining the backlog with Claude has another benefit: I can actually discuss an item before it's finalized. I just asked for a cache to be added to the backlog, Claude proposed a strategy, and through a few rounds of back and forth I described what I actually wanted in plain language. Claude recognized it as a stale-while-revalidate pattern and rewrote the item accordingly. Comparable to the conversations I'd normally have with my PO, except this time I was the PO. That is now live too, implemented in about 2 minutes after our 20 minute discussion.
This way routine content and task creation (blog inserts, backlog items) are handled by Claude Code directly, so I spend less time on repetitive work and more time on the actual architecture decisions.
Built in the evenings this week, next up on the backlog: live backlog updates via WebSocket + Durable Objects, live blog updates via Cosmos DB Change Feed, and comments on blog posts. Let's do this 👊
