Product

Content models

Structure everything visually. Build types, fields and relationships as one connected system in the Dashboard, and keep your content architecture clear as it grows.

The Dashboard

This is what modelling a type looks like — no file to open.

article5 fields
titlestring
slugslug
authorreference
bodyrichText
publishedAtdatetime
0+

Field types, from text to references

0k+

Schemas modeled with Cairn

0×

Faster than hand-written migrations

0

Command to generate typed code

Visual editor

Design your schema like a diagram

Every model starts in the Dashboard. There's no config file to open and no migration to write by hand — the diagram is the schema.

  • Drag-and-drop field types, from text to rich media
  • Visualise relationships between models directly on the canvas
  • Live validation catches conflicts before you save
article5 fields
author4 fields
category2 fields

Typed code, on demand

Generate types whenever you need them

Nothing here is a hidden auto-push the moment you save. Run `cairn typegen` — by hand, in CI, or as a predev script — and it pulls your schema straight from the Dashboard into real TypeScript types in your repo.

  • One command pulls your whole schema into types
  • Wire it into CI or a predev script — your call
  • Types always match what’s modeled in the Dashboard
terminal
$ cairn typegen
✓ Pulled 12 models from the Dashboard
✓ Wrote cairn/types.generated.ts

$ git diff --stat
 cairn/types.generated.ts | 4 +-

One model, every angle

Query it however your code needs to

The article type, modeled once in the Dashboard — generated types, a typed client, or the REST API directly. All three stay in sync automatically, because all three come from the same schema.

cairn/types.generated.ts
// cairn/types.generated.ts
// Generated by `cairn typegen` — do not edit by hand

export interface Article {
  title: string
  slug: string
  author: Author
  body: RichText
  publishedAt: string
}

Why teams switch

Built to stay clear as your content grows

Nested references

Model one-to-one, one-to-many and many-to-many relationships without denormalizing your content.

Guarded changes

Cairn checks every schema edit against existing content, so you see what would break before you ship it.

Versioned schema

Every model change is tracked, diffable and revertible — schema history lives alongside content history.

Moving our schema into Cairn's Dashboard is the first time our designers and engineers have looked at the same source of truth without translating it for each other first.

Platform team, early access partner

Works with your stack

Start structuring your content

Spin up a project and define your first content model in minutes.