Skip to content

What is Gem0

Gem0 is a hosted headless CMS for TypeScript developers. You define a content schema; Gem0 stores the content, serves it over tRPC, and generates a typed client for it. Every query and mutation in your code is checked against your actual schema at compile time.

PieceWhat it does
Content APIServes your documents over tRPC at sdk.gem0.dev, authenticated with a per-project API key.
GemSyncA CLI that writes gemRouter.ts into your repo: the tRPC router type generated from your schema.
SDK packages@gemzero0/sdk-core (plain TypeScript), @gemzero0/sdk-react (React Query hooks), @gemzero0/sdk-next (Next.js).
Dashboardapp.gem0.dev, where editors manage content and you manage projects and API keys.

A project holds your collections and documents, and has its own languages and API keys. Agencies group several projects under one account: each client site is a project, billed on one invoice. See agencies and client projects.

Content is modelled as collections built from six field primitives (string, number, boolean, date, file, link) with modifiers such as required, arrayOf and translatable. See collections and fields.

When the schema changes, you rerun GemSync and the TypeScript compiler points at every component that no longer matches. That is the whole upgrade path: no hand-written API types, no drift between the CMS and your code.

Gem0 is EU-hosted, run by KangaCoders BV (Belgium) and CanaryCoders SL (Spain), and serves production sites today, including ArmaTerra, Helion Research and KangaCoders.