Loading…
How we cut build times by two-thirds by deleting our CMS
SentryEli Lennox
Summary
Sentry rebuilt its marketing site and blog of roughly 2,500 pages, replacing a legacy Gatsby setup and traditional headless CMS with Astro, Markdown, Frontmatter, and AI-driven automation. The previous architecture suffered from 14-minute build times, restrictive CMS schema limits, and frequent build failures caused by external API dependencies. A team of 2.5 developers executed the migration in two months using Claude Code agents for data extraction, template translation, and testing. To manage content without a CMS dashboard, Sentry built Claude Skills to guide updates, run local previews, and draft GitHub pull requests. The migration reduced average build times to under 4 minutes, cut broken staging builds by 95 percent, and improved Web Vitals scores from 89 to 97.
Context
Sentry's marketing site and blog spanned around 2,500 pages running on Gatsby and a headless CMS. Builds averaged 14 minutes across roughly 95 daily runs (consuming ~22 build hours daily), schema limits required paid plugins, and external API and plugin dependencies caused frequent build failures.
Approach / What changed
Sentry migrated the site to Astro and Vite, moving all content into local Markdown and Frontmatter files and offloading image processing to Vercel. A small team used Claude Code agents to translate CMS schemas, consolidate roughly 200 pages into 3 templates, and run visual regression tests via a custom DOM Inspector MCP. Content editing was replaced by CLI-based Claude Skills that guide users through Frontmatter edits, local previews, and GitHub PR creation, while form data was cached in Vercel Blob to prevent marketing API rate limits.
Takeaways
- Migrating from Gatsby and a headless CMS to Astro, Vite, and file-based Frontmatter reduced build times from 14 minutes to under 4 minutes, saving approximately 15.8 build hours daily.
- Replacing external CMS dependencies with Git-tracked Markdown files eliminated API outages during builds and removed schema restrictions imposed by SaaS tiers.
- A small team of 2.5 developers executed the 2,500-page migration in two months by using Claude Code agents for planning, data extraction, template translation, and automated testing.
Related reading
Sentry ·
Your agent should understand what you see
Sentry's Seer Agent initially parsed user screens using DOM-scraped character-by-character ASCII grids, leading to severe token consumption, model context rot, and an inability to support interactive actions. To resolve these bottlenecks, Sentry replaced visual text scraping with a composable semantic context system where React UI components directly declare their state, metadata, and interactive affordances. A root React context provider maintains a registry of component nodes organized hierarchically through higher-order wrappers, serializing the resulting structure to JSON and backend-generated Markdown within the system prompt. Across twenty-four live pages, this approach reduced dashboard context tokens from roughly 5,500 to 1,300 while maintaining identical satisfaction rates and tool-call volumes across more than 14,000 evaluated conversations.
Mihir MavalankarSentry ·
Your agent can't fix what it can't see