For developers

Built for the way you actually ship.

Tangen is a code-first, type-safe headless CMS you host yourself. Your schema is TypeScript, your queries are typed, your data is on your Postgres, and AI is in the box. No black magic, no lock-in.

The checklist

What you check before you commit to a CMS.

These are the signals that decide whether a backend is worth building on. Tangen is designed to pass every one.

Code-first schema

The model lives in version control as TypeScript, not clicked into a GUI you cannot diff or review.

Type-safe end to end

Schema generates types that reach the SDK, so a renamed field breaks the build, not production.

You own the data

Self-hosted on your Postgres. No vendor holds your content hostage or rate-limits your reads.

No paywall on the basics

Preview, roles, environments, localization, and AI are included, not enterprise upsells.

A local, typed API

Query in-process with the SDK and TangenQL, or over REST and GraphQL. No black-box client.

Real escape hatches

Custom field types, extension pages, hooks, and MCP tools, so you extend without forking.

AI-ready in the box

MCP and RAG ship with the platform, not as a plugin you assemble yourself.

Fast by default

Built on Bun and Elysia, so installs, tests, and cold starts stay quick.

Made to be loved

Two kinds of developer. One backend both love.

Whether you build by talking to an agent or by writing every line yourself, Tangen meets you where you are, and never makes you choose.

For vibe coders

Talk to your project. Watch it build.

  • Describe to build. Explain a feature in plain English and get real schema and drafts you confirm.

  • Content AI. Generate and fill fields, rewrite copy, and draft entries, all inside the editor.

  • Bring your agent. Point Claude Code or Cursor at it over MCP and let it model, seed, and wire content.

  • Instant feedback. AI edits stream straight into live preview, so you watch the result as it happens.

For serious coders

Own every layer, typed from schema to query.

  • Typed SDK. A fully typed client where a wrong field is a compile error, not a runtime surprise.

  • TangenQL. A clean, expressive query language for filtering, sorting, and relations across REST and GraphQL.

  • API playground. Explore and test the REST and GraphQL API right in the admin, with real auth.

  • Code-first, in git. Schemas, routes, and config are TypeScript in your repo. Review them, version them, ship them.

Code-first

Define the schema. Get the backend.

Your schema
content/post.ts
import { defineObjectType, field } from '@tangen/cms'

export const post = defineObjectType({
  name: 'post',
  fields: {
    title:  field.text({ validation: { required: true } }),
    body:   field.richtext(),
    author: field.relation({ targetType: 'author' }),
  },
})
Typed queries, for free
app/blog.ts
const { data } = await tangen
  .objects('post')
  .where({ status: 'published' })
  .sort('publishedAt', 'desc')
  .limit(10)
  .get()

// data is Post[] - fields checked at compile time
Performance

Fast, and you can check our work.

Tangen runs on Bun and Elysia, so the runtime is quick before we even try. And because you host it, you can benchmark it yourself: we ship a reproducible harness rather than a number you have to take on faith.

30x faster installs
vs npm, on Bun.
4x faster startup
vs Node.js, on Bun.
0 build step
Native TypeScript.
Yours to benchmark
A reproducible harness, not a marketing chart.

Build on Tangen in the private beta.

Define a content type, push it, and query it from anywhere, with your own AI agent doing the rest. Request access and we will get you set up.

For developers · Tangen