open source development platform

Rapidly build a headless backend

Contember saves time and cost by reducing the complexity of backend development.

Thanks to it's minimal custom code approach you can build your prototype today and launch it next week.

If you know the basics of React and TypeScript you can build anything from content management to custom data-driven app.

Already powers 100+ projects including some for these companies

Endorphin Republic
Endorphin Republic
Endorphin Republic
Endorphin Republic
Endorphin Republic
Endorphin Republic

Contember is a result of 16 years of experience developing websites and apps. It does a lot of the work for you, so you can focus on adding the most value to your project.

Write less code

The average industry experience is about 1-25 bugs per 1000 lines of code delivered. With Contember, your project will (in most cases) contain only hundreds of lines of code. Fewer bugs, less code to maintain.

Divide and conquer

Contember helps you quickly build an API and administration. Start adding data and use it wherever you need it. Separation of concerns is one of the fundamental principles of software engineering.

Own your data

Don't rely on any service for your data. Contember is open source, so you're always in control - run it on premise if you want. It stores your data in well-structured PostgreSQL, the world's most trusted open source relational database.

Your needs, your admin UI

Universal management interfaces do not work. Each application needs its own specific views and processes. With Contember you'll build any administration in hours. Define what you want to edit and where, data binding does the rest.

Developer comes first

Your codebase is the single source of truth, no obscure settings and no hidden magic. Contember fits right in your git-based development workflow, including CI and automation.

No limits

Contember is here to help, not hinder. Create anything in administration with your own TypeScript/React code. Or work directly with the database if you need to.

Build more
in less time

Contember solves the hard stuff so you don't have to. Build exactly the backend and administration you need in less time. No compromises.


Everything concerning sign ups and logins is ready to go. Custom email templates, 2FA support, OAuth support.

Declarative security

Define data access rules by specifying which role has access to which field. There is no limit to the number of defined roles.

Event log

Contember logs all changes made in the database. Find out when and who made a change or revert it.

Well structured data

Based on your schema Contember creates a PostgreSQL database which looks like it was done by hand.


Your data is instantly accessible through the GraphQL API. Of course limited by ACL rules.

Database migrations

Change your data structure and Contember automatically generates a migration for you.

Data binding

Create any administration interface you wish without writing any GraphQL query.

Next-gen content editor

Beautiful content editing experience which keeps your content in a great data structure.

How Contember works

Describe the data model and the GraphQL API is immediately available. Then use the Admin SDK to create an administration interface to suit your needs.

Start now, quickstart will walk you through it in 5 minutes.

$ npm exec "@contember/[email protected]" projectname

Define it

Define data model

export class Article {
  title = d.stringColumn().notNull()
  lead = d.stringColumn().notNull()
  content = d.oneHasOne(Content).removeOrphan().notNull()
  publishedAt = d.dateTimeColumn()
  link = d.oneHasOneInverse(Linkable, 'article').notNull()
  tags = d.manyHasMany(Tag)
  categories = d.manyHasMany(Category)

Define management UI

const ArticleForm = (
        <ArticleContentEditor />
        <IsPublishedField />
        <LinkUrlField derivedFrom="title" label="URL" />
        <SelectField field="categories"
            options="" label="Category" />
        <MultiSelectField field="tags"
            options="" label="Tags" />

Use it

Write your first article

Screenshot of Contember Admin interface

Connect with GraphQL

mutation {
    by: {link: {url: "/article/hello-world"}},
    data: {
        title: "Hello world!",
  ) {