byteNative
CMS & Content

Sanity

A headless CMS with realtime editing and a fully customisable Studio.

What is Sanity?

Sanity is a headless CMS whose editing Studio you configure yourself as a React application and which synchronises content in realtime between everyone editing. Instead of forcing content into rigid HTML fields, it models it as structured documents and uses Portable Text to store rich text as clean, processable data rather than markup. You query through GROQ, an expressive query language that gives you exactly the shape of data the frontend needs. The result is editorial environments that feel just like the project they fill.

More in the documentation

How we use it

We use Sanity when your content needs to be structured and the editing Studio should follow your model exactly, not the other way around. With GROQ we fetch precisely the data each page needs, without dragging along superfluous fields. The realtime synchronisation is handy when several people work on the same content at once.

ts
import { createClient } from "@sanity/client";

const client = createClient({ projectId, dataset: "production", apiVersion: "2024-01-01" });

const posts = await client.fetch(
    '*[_type == "post" && defined(slug.current)] | order(publishedAt desc){ title, "slug": slug.current }',
);
GROQ query returns exactly the fields needed

Good to know

Store rich text as Portable Text, not as pre-rendered HTML. That keeps your content free of markup and lets you reuse it later in any frontend, app or even as plain text, without maintaining it again.

00CMS & Content

More tools we work with in the same area.

Which technology fits you?

You don't have to decide that, it's our job. Tell us about your plans.