Skip to content

Content in your repo. Edited live on your site, by people and AI.

Backmatter keeps models, routes, and content as files in git. Your team edits the live site by hand or with AI — every change is a commit you can review and undo.

Editors start on the live site, on the page they want to change.

The core loop

Open the site, change it on the page or in chat, publish as a commit. No separate preview app.

  1. Open your site and navigate as usual.

    The dev bar sits at the bottom of the page. It shows the route, draft state, preview, publish, and the AI agent.

  2. Ask for a change or edit in place.

    Type on the page, or ask the chat. It knows which route and document you are on. Mention another document when you need the context.

  3. See it on the page, then publish. It's a commit.

    Preview is the page itself. Nothing to configure. Publish writes a commit you can review and undo.

Editor mode and dev mode

Modes are permissions, not job titles. The team decides who can change structure.

Editor mode

Change what you need, without a ticket.

Change content only. Text, images, fields, and page blocks, within the rules the developer set. You can publish directly.

Dev mode

Your components stay yours.

A sandbox where the content model, components, and layouts can change too, with AI. The result lands as a branch or pull request with a preview. It never goes straight to production.

An editor can ask for a structural change, such as adding an FAQ block. AI drafts it in dev mode as a branch for a developer to approve.

Built on files, not a database

Models, blocks, and content live in your repository. Git already does the hard parts.

  • One change can update the model, the content, and the component in a single reviewed commit.
  • History, diffs, review, and rollback come from git.
  • The public site reads published files. It does not call an API on every request.
  • The site keeps working without Studio. You can edit the same content in code.
  • models
  • blocks
  • content/en/page

models / page.ts

import { defineModel, field } from "@backmatter/core";

export default defineModel({
  type: "page",
  path: "content/page/{slug}.mdx",
  route: "/{slug}",
  fields: {
    title: field.text({ required: true }),
    body: field.blocks(),
  },
});

Edits that can see the data

First-party integrations bring Search Console and Analytics into the edit. Ask why a page is losing clicks. The chat reads the queries, compares them to the title and meta description, and proposes a change on the page.

Every publish is a timestamped commit, so you can see traffic before and after that change.

Custom MCP servers can be added in Studio when a team needs its own tools.

A media library that understands the picture

Upload once. Serve from the CDN with image optimisation. Search by describing the scene — alt text is written for you.

Coming soon

Automations Coming soon

Generate drafts from page blocks when new data arrives, such as products from a store or PIM. Run a bulk change across hundreds of pages and publish it as one reviewed change. You see a credit estimate before a run, and you can set a monthly spend limit.

Themes and marketplace Coming soon

A theme is a folder of page blocks and layouts. Its settings are component props exported as fields, so a theme is editable in Studio the moment it is installed. The marketplace will carry themes and AI rules from Backmatter and partners.

For agencies

A partner program, a dashboard for many client sites, and themes a client can edit in Studio the day they are installed.

Next.js is ready. The core is open source.

The core is framework-agnostic, with adapters. Next.js is the first. More are coming. Primitives, the CLI, and the adapters are open source, so the site does not depend on the hosted product.

Read the Next.js guideView the source

Try Backmatter now.

One site and one editor free. No credit card.

Get started