Coming soon

Write it once. Keep it true everywhere.

A fact about your company sits on a dozen pages: in full on one, cut to four words on the next. Keep it in one source and link those texts to it. When the source changes, topic's agent drafts an update for each text in its own length and tone, and nothing reaches your site until you accept it.

Illustration: a teaser is linked to a source, the source changes, the agent drafts the update. Then a comment. Harbor Coffee isn't a real shop.

Everything you publish, kept right

Three parts that work together or on their own. All of them are coming soon, in our cloud or on your own server.

Source

Coming soon

Keep each fact and each settled wording in one place. When it changes, the agent drafts an update for every text linked to it.

About Source

Overlay

Coming soon

Comment on your live pages or edit a word in place. An agent finds the field in your CMS and makes the change.

About the overlay

Mirror

Coming soon

A copy of your Storyblok space in Postgres. Agents read it without spending API requests and search it by meaning.

About Mirror

Source

Short stays short

One change in a source can mean different edits on your site. The About page quotes the source and takes its new wording. The teaser on the home page gets rewritten and stays one short line.

A price or a product name is swapped as it stands, with no model involved. And a source can come from another tool, such as a product in Stripe, so a new price there reaches your pages as drafts.

Source Company history › Our roastery

We roast removed: twice a week in a former boat shed on Pier 4. added: every morning in the old harbour hall, so beans reach you within two days.

  • About page

    removed: We roast twice a week in a former boat shed on Pier 4. added: We roast every morning in the old harbour hall, so beans reach you within two days.

    Draft ready

  • Home page teaser

    removed: Roasted twice a week on Pier 4. added: Roasted every morning, at your door in two days.

    Draft ready

Illustration: one change in the source, and the agent drafts both linked texts again, each in its own shape.

Overlay

Change a page by leaving a comment

The overlay loads only while you're signed in to edit. Your visitors' browsers never load it.

Point at it

Click the part of the page that should change, a headline, a photo or a whole section, and say what you want the way you'd tell a colleague.

Or fix it yourself

Edit a word right on the page, without opening the CMS.

The agent finds the field

It works out which story, post or node holds the text, changes it and answers in the thread. When your comment is unclear, it asks.

You review

Every change stays outlined until someone looks at it. On Storyblok it waits as a draft. On WordPress and Drupal it's live at once, and Revert takes it back.

Mirror · Storyblok

Search your site by meaning

Mirror keeps a copy of your Storyblok space in Postgres. The CLI and the agents read from it without spending Storyblok API requests, and find pages by what they mean rather than the words they use. Changes reach Storyblok within seconds.

Bring your own agent

Work from the AI app you already use

Connect Claude or ChatGPT to topic and keep working where you are: Claude through topic's plugin, ChatGPT as a connector. Ask for a change in the chat, have it work through your comments, or ask what's waiting for your review. topic's runner makes the change in your CMS, so the app never sees your credentials. The model can change your content, but approving and publishing stay with you, on the page.

Chat

  1. Shorten the headline on the pricing page.
  2. Work my comments.
  3. What's waiting for my review?

For developers · CLI

A CLI your agent can use

topic reads and writes single fields by JSON Pointer and prints JSON lines, so an agent gets the fields it asked for instead of whole pages. Every write can run as a dry run first, and one command undoes it. In one measured run, a job over 150 Storyblok stories cost $0.41 through topic and $17.70 through Storyblok's MCP server.

Terminal

topic documents grep "Acme Pro" --counttopic documents replace "Acme Pro" --with "Acme Studio" --dry-runtopic documents replace "Acme Pro" --with "Acme Studio"topic undo --last

Campaigns · later

Campaigns that follow your sources

A campaign starts from one message and the source sections behind it. The agent drafts a piece for each channel, an Instagram carousel and a newsletter block to begin with, and drafts it again whenever a source changes what it states, until you mark it sent. You review, crop and export each piece, then post it yourself.

Campaign

Autumn blend is back

Follows the source: Company history › Our roastery

Instagram carousel Draft

harborcoffee

harborcoffee Roasted in small batches from the beans of 22 farms we buy from directly.

Newsletter Draft

From
Harbor Coffee
Subject
Autumn blend is back

Harbor Coffee

Autumn blend is back

Fig, dark chocolate and a long, warm finish, from 22 farms we buy from directly.

Shop beans

Unsubscribe

Illustration: one campaign, a piece for each channel. Harbor Coffee isn't a real shop.

Self-hosting

Run it on your own servers

Want to keep it in house? Run topic's server, runner and agent on your own machines, on premises or at the hosting provider you already use. Comments, sources and campaigns stay in your database, the runner keeps your CMS credentials next to your CMS, and you decide who can reach it and when it updates.

Your servers

  • Server

    Keeps comments, sources and campaigns

  • Runner

    Holds your CMS credentials and writes the changes

  • Agent

    Works your comments and drafts updates

  • Your CMS

    Storyblok, WordPress or Drupal

FAQ

When can I use it?

We don't have a date yet. Sign up below and we'll email you when the first version is ready to use.

Do I need all three parts?

No. Source works with the overlay or the CLI, the overlay works without sources, and Mirror only makes reads faster and adds search by meaning.

Does topic replace my CMS?

No. Your content stays in Storyblok, WordPress or Drupal, and topic writes to it through the CMS's API (on WordPress, optionally its database). It doesn't change your content model.

Does my content go to an AI provider?

The text the agent works on goes to the model it runs on, Claude Haiku by default, or Claude Code. Your CMS credentials don't. Over MCP, your own Claude or ChatGPT reads what it asks for.

Is it open source?

It's source available: you can read all of topic's code. The license, PolyForm Small Business, isn't an open-source one, though. topic is free for personal use and for companies with fewer than 100 people and under $1M revenue. Larger companies need a license from us.