A Pivot Labworks Product

The CMS that
speaks React.

Pivot CMS lets you write real TSX components, ship A/B variants, and store every piece of content as portable JSON. Self-hosted in one command. Free for solo makers, one-time license to unlock your team.

Self-hosted, no lock-in Free for one user One-time license for teams
Pivot CMS page builder — drag-and-drop content blocks
Next.js 16
React 19 · TypeScript
100%
Self-hosted · Your server
JSON
Flat-file content · Git-friendly
$149
One-time, per site · Forever

Built for the developer

Everything a front-end developer wants in a CMS

Real components, real code, real ownership. No proprietary field DSL, no plugin marketplace tax, no black-box renderer.

Components

Components that are real TSX, with built-in A/B variants.

Every component is a folder on disk — a definition.json describing its fields and one or more Component.tsx variants. The editor compiles each variant on save and serves the right one at render time. Swap variants from the page builder to A/B test without touching code.

  • 20+ field types: text, choice, media, layout, CMS content
  • Recursive nesting — group, repeat, branch fields
  • Variants ship as separate TSX + SCSS, share the same fields
  • SCSS auto-scoped per .pcms-{slug}--{variant}
Pivot CMS component editor — field tree on the left, Monaco TSX editor on the right
Page builder

A page builder your editors will actually use.

Drag-and-drop content blocks, inline preview, full SEO sidebar, and a live preview API that renders the unsaved editor state. Built on @dnd-kit; powered by your TSX, so what they see is what you ship.

  • Pages, Posts, and your custom Post Types — one shared editor
  • SEO, OG image, thumbnail, tags — all built in
  • Server-rendered preview — no hydration mismatch
  • Drafts, scheduled publish, homepage flag
Pivot CMS page builder — components stacked vertically with a metadata sidebar
Modules

Modules — first-class server functions, edited in-CMS.

Need a "related posts" feed, a custom feed pull, a computed field? Write a module: a TypeScript function with full access to the CMS content API. Edit it inline in a Monaco editor with JSX syntax highlighting and TypeScript autocompletion.

  • Monaco editor with VS Code Dark Modern theme
  • Attach modules to components — data arrives at render time
  • Mixins for shared snippets; menu blocks for nav styling
  • Saved as .ts files — version with your repo
Pivot CMS module editor — Monaco code editor with TypeScript syntax highlighting
Site Settings

Shell, theme, and site settings — clean separation of dev and content.

Developers configure the shell component, themes, fonts, and module wiring. Editors configure the content inside — logos, taglines, menu locations, license, brand colors. Each side gets the tools it wants, neither side steps on the other.

  • Multiple brand themes selectable at runtime
  • Font role tokens for heading, body, and accent
  • Light + dark mode toggle, persisted to localStorage
  • Menu locations + drag-to-order menu items
Pivot CMS site settings panel — license, shell, and theme controls

Architecture

A small, sharp stack that respects your server.

Hybrid storage, no daemon, no plugin marketplace. Boots in seconds, ships in one command, and stays out of your way.

Hybrid storage

SQLite for auth, sessions, and the audit log. Flat JSON files for every component, template, and piece of content. Version your content with git; deploy by copying a folder.

One-command install

npx pivot-cms downloads the package, runs the setup wizard, and starts the server. No build step on your side — the npm package ships a compiled Next.js standalone server, ready to run.

Your data stays yours

Every piece of content lives on your server. The only network calls Pivot makes are a license check to LemonSqueezy and a version check to npm. Nothing else leaves your box. Ever.

Pricing

Free for solo makers. One-time license for teams.

No subscriptions. No "per-seat" math. Pay once, own it forever within the major version — just like Kirby or Statamic.

Solo

Free, forever

The full CMS for one maker, on one site.

$0

No card. No trial. No expiry.

  • Full content management — Pages, Posts, custom Post Types, Taxonomies, Menus, Media
  • Full developer suite — Components + A/B variants, Templates, Modules, Mixins, Menu Blocks, Shell Config
  • Self-hosted — runs anywhere Node.js does
  • One user account
  • Small "Powered by Pivot CMS" footer on your public site

FAQ

Common questions

Is the license a subscription?

No. Pivot CMS is one-time, per site. Your v1 license covers every v1.x.x release forever — no annual renewal for updates. When v2 launches, it's a separate license, but you're never forced to upgrade.

What does "per site" mean?

One activated license per public deployment. You can run Pivot on as many local or staging environments as you want — they're automatically exempt. The license only activates when the CMS is served on a public domain.

What data leaves my server?

Only two things: a license activation/validation call to LemonSqueezy (when you activate or every ~1h), and an npm registry version check (cached 1h, used for the update banner). Your content, your users, and your audit logs never leave your box. See the privacy policy for full details.

Can I get a refund?

Yes — 14 days, no questions, as long as you can deactivate the license. License deactivation is one click in the admin settings panel and frees the activation slot immediately.

Can I move my license to another site?

Yes. Deactivate it on the old site (one click in Settings → License) and activate it on the new one. There's no lockout, no cooling-off, and no support ticket required.

Is the source code available?

Pivot CMS is distributed as a compiled npm package under a commercial license — you don't recompile it yourself. The terms of the license are in the EULA.

How does the developer suite stay free?

On purpose. Components, variants, modules, mixins, templates, and shell config are the reason a React developer would pick Pivot — gating them would kill the funnel. The Pro license gates team features and white-labeling, never creative power.

Try it on your laptop. Buy it when you ship.

Pivot CMS is free to install and free to run for one user forever. When you're ready to onboard your team or white-label your install, one click unlocks Pro.