The first time I pitched Sanity to a client, I lost the room for about ten minutes. There was no WYSIWYG editor. No familiar pages tree. No toolbar that looked like anything they'd seen before. The person across the table kept asking where the content was, and I kept explaining that the content was the point, that what we were building wasn't a website with a CMS bolted on, but a content platform that happened to power a website. That distinction matters more than most teams realise until they've spent two years maintaining the alternative.

I've been using Sanity on client work and my own projects long enough to have formed real opinions about where it earns its place and where it asks something difficult of you. The portfolio you're reading this on is built with Next.js and Sanity as the content layer. That's not a demo setup. It's a production stack, and that's deliberate.

The hidden tax on every other option

For most of its history, the CMS market offered two deals, and both had small print.

Self-hosted platforms like Craft, Umbraco, and old-school WordPress give you control. You own the infrastructure, the database, the upgrade path. In practice, that ownership compounds into a maintenance burden that grows quietly until it's eating a sprint every quarter. Security patches, PHP version incompatibilities, plugin conflicts on upgrade, server costs. The control was always real; the tax was just deferred.