// the find
sanity-io/sanity
Sanity Studio – Rapidly configure content workspaces powered by structured content
Sanity Studio is the open-source CMS editor that sits in front of Sanity's Content Lake — a hosted, real-time document store. You configure schemas in TypeScript, get a fully functional editing UI with no additional work, and bring your own frontend. It's a mature, production-grade headless CMS for teams that need more control over their content structure than WordPress gives them but don't want to build an admin UI from scratch.
The plugin architecture is genuinely good — you can swap out input components, add custom views, and extend the studio at nearly every layer without forking the core. GROQ is a real differentiator over GraphQL for CMS use cases: it handles deeply nested document references and joins in a single query where GraphQL would need multiple roundtrips or overfetching. The real-time collaboration is built on the same infrastructure as the API, not bolted on, so offline conflict resolution actually works. The TypeScript schema definitions give you type inference through to your frontend client, which catches schema drift at compile time rather than at runtime.
The hosted Content Lake is the lock-in — you're not self-hosting your data, and if Sanity raises prices or shuts down, migration is painful. The free tier bandwidth limits are generous for small projects but the pricing jump to paid plans is steep and usage-based, which makes cost hard to predict at scale. Portable Text (Sanity's rich text format) is the right idea — serializable structured content instead of HTML blobs — but every frontend needs its own renderer and the ecosystem of renderers varies widely in quality. The studio itself is a large React SPA that requires configuration to embed inside an existing app; if your content editors expect something as approachable as WordPress, there's a learning curve.