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

Feature split

Section header, then a checklist of features beside an image, screenshot or code sample.

3 presetsTemplateFeatureSplit
01Checklist with screenshot

Editing

Edit the page, not a form

Root.js puts a live preview next to every field, so editors see exactly what will ship before they publish.

  • Live preview. Changes render instantly in a side-by-side preview of the real page.


  • Modules, not markup. Add, reorder and configure sections from your design system.


  • AI assist. Draft headlines, tighten copy and fill alt text in one click.


  • Version history. Compare any two saves and restore with confidence.

sandbox.blinkk.dev/cms/content/Pages/home
Root.js editor with live preview
02Code on the left

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'}),  ],});
03Checklist with image, dark

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.