Michael Graham
Founder & Software Engineer
Obsessed with building top-tier web software and crafting unique, polished user experiences.
Posts by Michael Graham

Sitecore Support: What Good Looks Like and How to Buy It
Sitecore's own support covers the product. Everything your team actually breaks lives in the gap between that and a partner. Here is how to buy for the gap.

Sitecore Digital Asset Management: Media Library, Content Hub, or Third Party?
The Sitecore media library is asset storage, not asset management. Knowing which one you need is a governance question, not a feature comparison.

Sitecore vs Optimizely: How to Actually Choose Between Them
Two .NET digital experience platforms that both went composable, with genuinely different centers of gravity. Where each one wins, and the disclosure that we work on Sitecore.

Is Sitecore a Headless CMS? XM Cloud, XP, and What Actually Goes Headless
Sitecore can run headless, but XM Cloud and XP get there by different routes with different costs. Here is what headless actually means inside Sitecore, and where teams get hurt.

Sitecore Migration Services: How to Move Without Losing Traffic
Content migration is the easy half. The half that quietly costs money is URL continuity, and it is usually assigned to nobody until after launch.

Sitecore Managed Cloud: What It Is and When It Is the Right Call
Sitecore Managed Cloud takes the infrastructure off your plate and leaves the application firmly on it. The responsibility split is the whole decision.

Sitecore DXP: What Composable Actually Changed, and What It Costs
Sitecore's move from one monolithic DXP to a composable product suite changed what you buy, what you integrate, and who owns the seams. Here is the honest accounting.

Sitecore Upgrade Services: What You Are Actually Buying
Most Sitecore upgrade quotes price the version jump and miss the four things that actually consume the budget. Here is what an upgrade contains and how to scope one.

Headless CMS SEO: The Complete Guide
The SEO concerns that genuinely change in a headless architecture, and the server-rendered Nuxt patterns we use to get metadata, canonicals, redirects, structured data, sitemaps, and Core Web Vitals right.

Headless CMS Localization: Patterns That Scale
How localization actually works in a headless CMS: field-level vs entry-level vs space-level translation, locale URL structure and hreflang, fallbacks, RTL, and keeping Nuxt i18n in sync with the CMS, with first-hand Storyblok and Sitecore notes.

Headless CMS Security: The Real Attack Surface
A headless CMS is secure when you treat it as one, but decoupling moves the attack surface to the seams: API tokens, preview endpoints, webhooks, edge caching, rich-text XSS, RBAC, and front-end secrets. Here is the real surface and a hardening checklist.

Headless CMS vs Traditional CMS: How to Actually Choose
A decision framework for headless CMS vs traditional CMS: the honest tradeoffs, a situation-keyed decision table, and the real Sanity vs Storyblok vs Strapi call we made on a production Nuxt build.

Enterprise Headless CMS, Explained
What the word "enterprise" actually adds on top of "headless": governance, SSO, localization at scale, audit, and SLAs, plus an honest read on Contentful, Sitecore XM Cloud, and Storyblok.

6 Bolt.new Problems That Break Apps in Production (And How We Fix Each One)
Bolt.new ships a working app fast, then the same six issues show up the moment real users arrive. Here is each failure pattern and the exact fix, from a team that does this for a living

Why AI-Generated Authentication Always Breaks (And the Fix We Apply Every Time)
AI tools build a convincing login screen and almost never build a real security boundary. Here is why AI-generated auth fails the same way every time, and the server-side fix that closes the hole.

From Vibe Code to Production: A Migration Playbook for Apps That Outgrew Their Prompt
Your vibe-coded app works in the demo and falls over with real users. Here is the exact playbook we run to take an AI-built prototype to a codebase you can ship and maintain.

AI-Generated UI Components Fail WCAG 2.2: The Review Checklist That Catches It
AI tools generate UI components that look right and fail WCAG 2.2 at scale, for the same reason they skip security. Here is the fast review checklist that catches it before merge.

Enterprise CMS in 2026: How to Choose the Platform and the Partner
Choosing an enterprise CMS is two decisions: the platform and the partner. A practical 2026 guide to Sitecore, Storyblok, Contentful, and AEM, and how to pick the team that delivers it.