Search

Search pages, services, tech stack, and blog posts

Sanity

Sanity CMSStructured content for composable experiences

Sanity is a composable content platform with a real-time editing studio and a powerful query language (GROQ). We build Sanity-powered projects — custom studio configurations, structured content models, and integrations with Next.js, Remix, and e-commerce platforms.

Sanity is a composable content platform trusted by companies like Figma, Shopify, and National Geographic. Unlike traditional CMS platforms, Sanity separates content from presentation completely — your content lives in Sanity's hosted content lake, and you query it with GROQ or GraphQL from any frontend. Sanity Studio is an open-source React app that you customize and deploy alongside your site. We use Sanity for projects that need structured content modeling, real-time collaboration, and the flexibility to power multiple frontends (web, mobile, kiosk) from a single content source.

Quick start

bash
npm create sanity@latest -- --project-id <ID> --dataset production

# Follow the prompts to set up your Studio
# cd my-studio && npm run dev
# Studio runs at http://localhost:3333

Read the full documentation at www.sanity.io/docs

Sanity Studio

A fully customizable React-based editing environment — custom input components, live preview, and workspace plugins.

GROQ query language

Sanity's own query language for filtering, joining, and projecting content — more expressive than REST parameters, easier than GraphQL.

Real-time collaboration

Multiple editors work on the same document simultaneously — changes sync in real-time like Google Docs.

Live preview

See content changes reflected on your frontend instantly — draft content previewed in context before publishing.

Content versioning

Full revision history with the ability to compare, restore, and schedule content changes across documents.

Hosted content lake

Sanity hosts your content in a globally distributed content lake — no database management, instant API access.

Common problems

GROQ learning curve

Sanity's query language is powerful but unfamiliar to most developers. Complex projections and joins take time to master compared to SQL or REST filtering.

Pricing at scale

Sanity's free tier is generous, but API usage charges can grow quickly for high-traffic sites with many real-time queries. CDN caching and static generation help control costs.

Studio customization complexity

Building custom input components, validation rules, and workflow plugins for Sanity Studio requires deep React knowledge and understanding of Sanity's plugin API.

Vendor lock-in

Content lives in Sanity's hosted content lake. Unlike self-hosted CMS options, migrating away requires exporting all content and media assets.

Best practices

Use Sanity's Portable Text for rich content

Portable Text stores rich text as structured data, not HTML. This lets you render the same content differently across web, mobile, and email.

Set up live preview with Next.js Draft Mode

Connect Sanity's real-time listener to Next.js Draft Mode so editors see changes instantly without deploying. Use Sanity's Visual Editing for in-context editing.

Define a content model before building the Studio

Plan your document types, references, and content structure before writing schema code. Changing models after content is created requires migrations.

Cache GROQ queries aggressively

Use ISR or static generation for public pages. Reserve real-time GROQ queries for preview mode and authenticated experiences to keep API costs low.

Frequently asked questions




Ready to start your Sanity project?

Tell us what you're building with Sanity. We'll respond within 24 hours.

1 spot available in May 2026Apr 2026 fully booked

We limit intake each month so every project gets the focus it deserves.