PERSONAL · DEV TOOLING

UTO CMS

A headless, API-first CMS built as a personal monorepo library — deploy once, customize per project, no SaaS lock-in.

↓ SCROLL

The problem

Strapi, Sanity and Contentful all mean SaaS lock-in, licensing, or feature gates for something as basic as a CMS. Every new project ends up re-solving the same content-management problem from scratch, or paying rent for it.

The approach

UTO CMS is a monorepo library, not a hosted product: a Next.js admin UI, an Express API core, and Postgres via Prisma, deployed once per project and customized through a single config file. Content types are defined visually or via config, and typed SDKs let any frontend framework or language consume the content.

System design

Admin UINext.js
API coreNode.js + Express
DataPostgreSQL + Prisma
DistributionMonorepo library, one config file per project

What it does

No SaaS lock-in

Code you own, copy, fork and wire into any stack in under 30 minutes.

Dynamic content types

Define schemas visually or through config, no migration ceremony.

Per-project admin

Theme, layout, navigation and logo customized per deployment.

Stack

Next.jsExpressPostgreSQLPrisma
Next.js + ExpressStack
Postgres + PrismaData
SoloRole
Draft v1.0Status