Sanity v2 Content Studio with custom schema design for a structured blogging CMS

By mid-2023 I had used Sanity for my own personal blog over three years and 75 commits. The question for my brother's blog project was whether Sanity could work as the CMS for someone who wasn't a developer — someone who needed to open a screen, write a post, and publish it without understanding how document types or portable text blocks map to what appears on the site.
I configured a full Sanity v2 Content Studio from scratch to test that question properly. Custom document types for posts, authors, categories, and rich-text portable content. Validation rules to prevent incomplete documents from publishing. A standalone studio deployment on Vercel so my brother could access it directly in a browser without any local setup.
The document model is correct for content with predictable structure. A blog post has a title, a slug, a category, an author, a published date, and body content. All of those fields can be typed, validated, and displayed in a structured form with clear labels. Sanity enforces completeness — you cannot publish a post without a title, because the schema requires it.
For data operations — importing, exporting, programmatic manipulation, cross-post references — Sanity's Content Lake API and GROQ query language are genuinely excellent. The TypeScript type generation from the schema eliminates a whole class of frontend type errors. From an engineering perspective, Sanity's model is sound.
The studio is a structured form, not a writing environment. A writer sitting down to write a 1,500-word post is not filling out a form — they are producing prose. The experience of doing that inside Sanity's portable text editor, which presents content as a block list with type annotations, is technically correct and cognitively wrong for anyone whose mental model of writing is "open document, write words."
My brother tried it. The verdict was honest: he understood it, but it did not feel like writing. It felt like data entry. That feedback is not a criticism of Sanity — it is accurate about what Sanity is. Sanity is the right tool for a content team with a defined content model and editors trained on it. It is not the right tool for a solo writer who wants the software to disappear.
The Sanity studio evaluation made the right path clear: WordPress, which my brother already knew and which has a decade of refinement on its authoring surface. That decision led to SingleClickBlog.
Personal blog with Sanity CMS, SWR infinite pagination, and Bootstrap 4 styling
Next.js blog with Hygraph GraphQL, a hand-rolled AST renderer, and AdSense monetisation
Headless WordPress blog with Faust.js, WPGraphQL, Apollo, Tiptap editor, and self-hosted Coolify deployment
Did this resonate?