This is a demo site built with Root.js.Open the CMS
Sandbox
New · Root.js 3.5

Build and ship websites your whole team can edit

A modern web framework paired with a headless CMS. Developers build with components; editors compose pages with them.

sandbox.blinkk.dev/cms
Root.js document editor

Root.js

One workspace for everyone who touches the website

Marketers, designers, translators and developers work on the same pages, without stepping on each other.

Visual editing

Build pages from your own components

Stack modules, fill in fields and watch the preview update as you type.

Root.js page editor

Releases

Ship launches on schedule

Group edits across pages into a release and publish them together at a set time.

Localization

40+ locales

Translate every field and preview each market.

Permissions

Roles per collection

Editors edit. Publishers publish.

Insights

See what every change did

Track publishes, page performance and who changed what, in one dashboard.

Publishing dashboard

Version history

Undo anything

Every save is a restorable version.

Developers

Any component can become a module

Describe fields in a schema file. Root.js generates the editor UI and TypeScript types.

  • Plain TSX. Modules are regular Preact components with typed props.


  • Presets included. Ship prefilled variants so editors never start from blank.


  • Static or SSR. Render at build time or per request, route by route.

templates/Quote/Quote.schema.ts
import {schema} from '@blinkk/root-cms'; // Fields editors fill in for this module.export default schema.define({  name: 'Quote',  fields: [    schema.string({id: 'quote', translate: true}),    schema.string({id: 'author'}),    schema.image({id: 'avatar'}),  ],});

How it works

From repo to published page in an afternoon

No plugins to wire together and no separate CMS to host. Root.js ships the framework and the editor in one package.

  1. 01

    Build components

    Write Preact components and describe their props with a schema. Types are generated for you.

  2. 02

    Compose pages

    Editors stack templates into pages, fill in fields and preview every change on the real site.

  3. 03

    Publish instantly

    Hit publish and the page is live. Schedule releases, roll back or localize without a deploy.

Performance

Fast by default, everywhere

Pages render on the server and ship zero JavaScript unless a module asks for it.

  • Zero JS by default. Interactivity is opt-in, one island at a time.


  • Edge cached. Static pages are served from a global CDN.


  • Core Web Vitals. Green scores out of the box, without tuning.

Developers

A framework that stays out of your way

Write components in TSX. Root handles routing, rendering and i18n.

  • Static or SSR

    Prerender at build time or render on request. Per route.

  • Custom modules

    Any component can become a module with a schema file.

  • Typed content

    Generate TypeScript types straight from your schemas.

  • AI-assisted editing

    Draft, rewrite and translate copy without leaving the editor.

Watch a page go from draft to live

Product tour · 4 minutes

Start building your next site today

Free for small teams. Upgrade when you are ready to scale.