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

We build websites that teams love to edit

Blinkk is a web development agency. We design, build and run sites on Root.js for teams that need to move fast.

Guide

Modeling content with templates

6 min read · Updated March 4, 2026

Every page on a Root.js site is a stack of templates: small, self-contained modules that pair a Preact component with a CMS schema. Developers decide what a module can do. Editors decide where it goes and what it says.

Start with the component

Write the component the way you would anywhere else, then describe its props as fields. The CMS generates the editing UI, validation and TypeScript types from that single schema file.

  • One folder per template: schema, presets and component side by side

  • Types are generated with pnpm types, so props never drift

  • Presets give editors a head start with realistic content

Ship it to editors

New folders in templates/ are picked up automatically. There is no registry to update and no deploy step between a developer merging a module and an editor using it.

templates/TemplateQuote/TemplateQuote.schema.tsts
export default schema.define({  name: 'TemplateQuote',  fields: [    schema.string({id: 'quote', translate: true}),    schema.string({id: 'author'}),  ],});

That is the whole workflow. Read on for tips on naming fields, choosing defaults and writing presets that sell the module.

Customer results

Launch days without the launch-day scramble

Scheduled releases, shareable previews and instant rollbacks take the risk out of going live.

Faster publishing
4×
Median time from draft to live, compared with a legacy CMS.
Time to first byte
<50ms
Static pages served from the edge.
Locales shipped
42
From a single source of truth.
Uptime
99.99%
Over the last twelve months.

Leadership

  • Maya Chen

    Maya Chen

    Co-founder, CEO

    Previously led web platform at a large media company. Believes editors deserve better tools.

  • Daniel Okafor

    Daniel Okafor

    Co-founder, CTO

    Built the first version of Root.js on a train. Still writes most of the router.

  • Sofia Alvarez

    Sofia Alvarez

    Head of Design

    Designs the CMS and the design system. Obsessed with hairlines and spacing.

Wayne Enterprises
Root gave us the speed of a static site and the flexibility of a real CMS. It is the first platform both our engineers and our editors actually like.
Olivia ParkOlivia ParkVP Digital, Wayne Enterprises

See how this page was built

Every section here is a module. Open the CMS to edit this page, or browse the module gallery.