CMS apps explained: what marketing and product teams actually get
A plain-English guide to how modern CMS apps work — content models, editing UI, publishing workflows, and integrations — for non-developers choosing the right tool.
Tag
14 posts
A plain-English guide to how modern CMS apps work — content models, editing UI, publishing workflows, and integrations — for non-developers choosing the right tool.
Step-by-step setup of Sanity AI Assist (@sanity/assist) in a Next.js + Sanity project: install, config, field instructions, and real editor workflows. Updated for 2026.
Learn how to vet a senior Sanity CMS developer before you hire — portfolio signals, honest questions, and the red flags that reveal real seniority.
A plain-English breakdown of what Sanity CMS development services include — discovery, content modelling, Studio build, migration, and handoff, phase by phase.
Step-by-step: custom Sanity document actions to unpublish, archive, and restore content without deleting, plus Next.js front-end handling for archived docs.
Learn how to write Sanity custom validation rules: required fields, regex, async checks, cross-field logic, and clear editor error messages.
Learn how to configure Sanity Structure Builder's defaultOrdering, documentTypeList grouping, and icons so a 20+ schema Studio still feels deliberate.
Step-by-step guide to wiring Sanity CMS role-based access control with document-level permissions in a Next.js project. Covers custom roles, GROQ filters, and Studio UI.
Step-by-step guide to building a Sanity Studio custom input component using definePlugin, useFormValue, and PatchEvent with a real colour-picker example.
How to set up true scheduled publishing in Sanity via the Releases API, plus custom document actions: an approval gate before publish and Slack notifications.
Sanity's slug field doesn't enforce uniqueness by default. Here's the custom GROQ validation hook that blocks duplicate slugs at publish, across multiple document types.
A production pattern for rolling schema changes in Sanity without throwing runtime errors or requiring a full site rebuild — coalesce in GROQ, migrate later.
A step-by-step approach to identifying orphaned Sanity schemas, measuring Studio bundle impact, and safely removing dead document types without breaking production.
Sanity Studio ships with every draft visible by default. I use structure builder filters, defaultOrdering, and custom panes to cut editor cognitive load by 70%.