Skip to content
All Authors
Michael Graham

Michael Graham

Founder & Software Engineer

Obsessed with building top-tier web software and crafting unique, polished user experiences.

Posts by Michael Graham

A polished chrome hourglass with garnet granules falling through the neck and collecting as electric violet in the lower chamber
Enterprise CMS Delivery

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.

Aug 18, 2026
A polished chrome archival vault with a single drawer pulled open, garnet light flooding out across violet-lit drawer seams
Enterprise CMS Delivery

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.

Aug 18, 2026
A polished chrome balance scale resting in equilibrium, one pan glowing garnet and the other electric violet
Enterprise CMS Delivery

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.

Aug 18, 2026
A polished chrome sphere split open, one half a solid monolithic shell and the other fanning into separated modular chrome panels, lit by a garnet core cooling into electric violet
Enterprise CMS Delivery

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.

Aug 18, 2026
A polished chrome suspension bridge carrying garnet light streams that cool to electric violet as they cross to the far platform
Enterprise CMS Delivery

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.

Aug 18, 2026
A polished chrome cloud floating above a chrome server plinth, the gap between them burning garnet beneath electric violet rim light
Enterprise CMS Delivery

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.

Aug 18, 2026
An isometric plan of separate modular chrome plinths wired together with electric violet lines around a single glowing garnet core
Enterprise CMS Delivery

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.

Aug 18, 2026
An ascending staircase of polished chrome steps lit garnet at the base and rising into electric violet at the top
Enterprise CMS Delivery

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.

Aug 18, 2026
Chrome and electric-violet diagram of a headless CMS feeding content through an API into a server-rendered front end, with SEO tags and structured data in the HTML response.
Enterprise CMS Delivery

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.

Jul 14, 2026
A polished chrome globe wrapped in glowing purple circuitry branching into multiple language routes
Enterprise CMS Delivery

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.

Jul 12, 2026
A polished chrome content block splitting apart with glowing electric-violet API connections and a lock symbol at each exposed seam
Enterprise CMS Delivery

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.

Jul 11, 2026
A polished chrome CMS block splitting into two halves, one rendering its own page and one streaming content through a glowing electric-violet API channel to a separate front end
Enterprise CMS Delivery

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.

Jul 10, 2026
A polished chrome content core wired through glowing electric-violet API channels into multiple site and brand front ends, ringed by lock, globe, and audit-trail glyphs
Enterprise CMS Delivery

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.

Jul 8, 2026
Chrome lightning bolt fracturing with violet neon energy, representing Bolt.new apps breaking in production.
AI Builder Guides

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

Jul 7, 2026
Chrome padlock shattering to expose a glowing violet microchip and circuit traces inside, representing AI-generated authentication breaking apart in production.
Fix AI Code

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.

Jul 4, 2026
Polished chrome block forming out of a stream of glowing violet code, representing a vibe-coded prototype hardened into production.
Vibe Coding

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.

Jul 4, 2026
A chrome user-interface element shattering with purple energy and streaming code spilling out
AI Best Practices

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.

Jun 10, 2026
Two polished chrome monoliths representing an enterprise CMS platform and its delivery partner, wired with glowing purple circuitry
Enterprise CMS Delivery

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.

May 13, 2026