Asteroid CMS · Case study
Model your content once. Ship it anywhere.
Asteroid CMS is a multi-tenant headless CMS I designed and built at Asteroid Studio. Clients model their content in a visual editor, get an isolated workspace with members and roles, and serve everything to any frontend through one SDK and a single API key.
- TitleText
- SlugSlug
- BodyRich text
- CoverMedia
- AuthorReference
- PublishedBoolean
- Role
- Founder & engineering lead
- Timeline
- 2024 – present
- Type
- Multi-tenant headless CMS
- Scope
- Product design & engineering
The story
From rebuilding the same plumbing to building it once.
The problem
Every client site needed the same plumbing.
One workspace
Any content type, modeled
The approach
Build the platform once, not per project.
The safety net
Nothing you publish is permanent.
What's inside
Everything a client site needs, in one platform.
Model content visually
Define content types and fields in a visual editor (text, rich text, media, references, booleans) without hand-writing migrations.
Version history & rollback
Every save is a version. Roll back any entry to a previous state in one click, and publish that version instantly if you need it live again.
Draft, then publish
Edit safely as a draft, publish when it's ready, or discard the draft to fall straight back to what's already live.
Start from a template
Seed a new project from a content template, or import one as JSON, then shape the models to the brief.
Multi-tenant by design
Every client gets an isolated workspace with its own content, members, and roles, all running on one platform.
A drop-in SDK for any site
Read content and submit forms from any frontend through one small client and a single key. No backend to wire up.
Two-key security model
A public blog-read key for the browser and a server-only form key, so content stays open and submissions stay protected.
Media library with restore
Upload, organize, and reuse media across models; deleted files can be restored from trash instead of lost.
Plugins, roles & audit logs
Extend with permission-scoped plugins, control access with roles and collaborators, and trace every change in audit logs.
How it works
From an empty model to a live frontend, in one flow.
Step 1 / 5
Model
Pick field types (text, rich text, media, references, booleans) and shape your content. No database migrations, no code deploy, the model is live the moment you save it.
The principle
Shipping was never the hard part. Letting a client run their own site, safely, was. That’s the whole product.
The result
A platform quietly running real businesses.
Before Asteroid CMS
- A custom admin and API rebuilt for every client
- Content changes waited on a developer
- A wrong edit could go live with no way back
- New sites started from an empty repo
With Asteroid CMS
- One platform serves every client workspace
- Clients edit and publish their own content
- Every change is versioned and reversible
- New sites start from a template
What shipped
- Visual content modeling
- Version history & rollback
- Draft & publish
- Templates
- Media library
- Roles & audit logs
- Drop-in SDK
- Multi-tenant workspaces
Need a CMS your clients can actually use?
Tell me what you’re building. If a headless CMS is the right call, I’ve already built one.