Field log · 10 posts

Field notes from the
EmDash + Astro frontier.

Migrations, MCP-driven workflows, analytics that survives, and the messy realities of moving marketing sites off WordPress.

↘ newest first
all field notes showing 9 · of 10
A timeline of six violet circles with hash-mark activity clusters above and below each; two circles have a small violet x beside them indicating incidents.

Six weeks evaluating EmDash before betting on production

For the agency owner who's read all the EmDash hype and wants the boring version: what we measured across six weeks of building, evaluating, and pitching EmDash work — before any client site went live. The bugs, the gaps, the things we'd wait on, and the things that already work.

A single slate-ink starting point branches into two paths: one dashed and meandering, one a clean violet straight arrow, both ending at the same violet destination square.

Static site to EmDash: when to skip the migration and just rebuild

For the marketing lead at a small SaaS whose 30-page hand-coded HTML site has become a dev bottleneck: when migrating to a CMS makes sense, when starting fresh on EmDash + Astro is faster, and the surprisingly common third option — leave it alone.

A horizontal performance bar with four filled violet segments and one unfilled, with four ascending tick marks above suggesting Core Web Vitals climbing.

Lighthouse 95 on every page: a Cloudflare Pages budget

For the agency owner who keeps losing the 'why is your site faster than ours' argument with prospects: the Lighthouse CI budget config, the JS-shipping rules, and the image pipeline that ship Lighthouse 95+ on every page on Cloudflare Pages.

A two-half diagram: three type-annotated slate-ink rectangles on the left, connected by violet lines to a 2x2 grid of violet folder outlines on the right.

Astro content collections + EmDash: a typed content layer your marketing team can edit

For agency leads building client microsites and developers shipping greenfield Astro projects: how Astro's content collections and EmDash's typed content types compose into a marketing site your client's marketing team can edit through Claude — without writing two stacks.

An isolated violet sandbox containing a small cube, connected by a dotted line to a larger slate-ink host system, with three permission markers along the boundary.

Building your first EmDash plugin: a Worker walkthrough

For Cloudflare Workers developers and the EmDash early-adopter community: the exact scaffold, schema, permissions manifest, and admin UI we used to ship our first production EmDash plugin in a week.

Editorial illustration of a developer vibecoding a marketing site through Claude and an EmDash MCP connection.

Vibecoding a marketing site: WordPress vs EmDash for devs

For developers who already live in Cursor and Claude — why WordPress is structurally hostile to your workflow, and what a vibecode-native CMS actually feels like.

Editorial illustration of a GTM container routing GA4 tags and UTM parameters on an Astro + EmDash site.

GA4, GTM, and UTM tracking on Astro + EmDash: the setup that survives

For agencies and marketing leads tired of analytics that work in October and break by January — the exact GTM container shape, UTM cookie pattern, and CSP rules that don't rot.

Side-by-side editorial illustration comparing WordPress and EmDash for marketing-first teams.

WordPress vs EmDash: a practical comparison for marketing-first teams

For the in-house marketing lead or agency PM trying to decide whether to migrate this quarter — the honest comparison across editor UX, AI compatibility, performance, cost, and ecosystem.

Editorial illustration of a WordPress site transforming into an EmDash + Astro stack.

Why we're migrating clients from WordPress to EmDash

For agency owners and SMB marketing leads watching their devs drown in plugin maintenance: here's why we moved off WordPress this year, and what we moved to.

Need help applying any of this?

We do this for clients every week. 30 minutes, no obligation.