Dev
Dev notes
Practical writeups on Astro, TypeScript, Cloudflare, and AI-assisted development. Patterns I actually use, code I actually ship, and the bugs I owe my next post about.
Astro's CSP Doesn't Know About Your Runtime Middleware — and Your EmDash Toolbar Paid the Price
Astro's CSP hashes inline blocks at build time. Middleware-injected HTML at runtime is invisible to it — including EmDash's visual editing toolbar. Here's the gap, the wrong solution I tried first, and the boring fix that actually worked.
Poor Decisions as a Service: The Tech Behind sahd.dev
How I picked a stack that's equal parts comfortable and chaotic, and why that's the whole point.
emDash first impressions: building SAHD.dev on Cloudflare's new CMS
A real review of setting up emDash. What works, what's rough, what's missing. The bugs I filed and the ones I patched.