Developer‑focused backend. User‑focused frontend.
Root CMS runs locally or in the cloud for a coder-friendly development flow. And it's easy on the eyes for content editors.
Powered by:
Root CMS uses Firebase under the hood for authentication, Firestore, cloud storage, and security rules.
Explore features
Component-centric Page Building.
Schemas map 1:1 with component props. Compose web pages using template components.
Code-based schema definitions.
Define schemas in TypeScript. Type interfaces are auto-generated. Preview your schema changes locally before going to production.
// @/collections/BlogPosts.schema.ts
import {schema} from '@blinkk/root-cms';
export default schema.define({
name: 'BlogPosts',
fields: [
schema.string({
id: 'title',
label: 'Blog title',
}),
schema.richtext({
id: 'content',
label: 'Blog content',
}),
],
});
Headless. But not.
CMS edits are stored in "draft" mode. Preview changes right away side-by-side.
Go live now. Or whenever.
Developers no longer need to be up at 4AM to push changes live. Content editors can publish urgent updates on their own.
Constantly evolving.
Root CMS is new and features are constantly being added. Check out some of those features below or follow the blog to stay up-to-date with our latest releases.
Let's edit together.
The UI responds to collaborative edits, locally and in production.
Anyone can localize.
With the ability to export and import strings for translations using Google Sheets, it's so easy that anyone can localize. Simply share the sheet with translators, and when ready, hit the import button.
Share with those who need access.
Need to send preview links to legal, translators, and any other stakeholders? Simply share access with them as VIEWERS. They'll be able to preview unpublished content without the ability to edit it.
Revert accidental changes.
Deleted something you shouldn't have? Or maybe you just liked the old copy better. Restore to an old state using the Version History.