mimsy

A headless CMS for agencies who code

Zero-downtime deployments. Code-first schema. TypeScript native.
Built for SvelteKit teams who want control over their CMS.

View on GitHub →

Why another CMS?

Every agency has been here:

Payload CMSOver-engineered. Hooks everywhere. Setup nightmare.
StrapiUI vs code conflicts. Sync hell. Inconsistent truth.
PocketBaseMigration chaos. Kubernetes nightmares.
WordPressPHP baggage. UI modifications. Complex stack.

Agency Reality Check

✗ Clients change requirements mid-project
✗ Zero-downtime deployments are non-negotiable
✗ Multiple developers need consistent schemas
✗ TypeScript is your daily driver
✗ SvelteKit is your framework of choice

How mimsy solves this

1. CODE IS TRUTH

Schema lives in TypeScript files
collection({
  name: "post",
  fields: [
    { name: "title", type: "text", required: true },
    { name: "content", type: "richtext" },
    { name: "publishedDate", type: "date" },
  ],
});
No UI modifications allowed, pure code only
Git tracks all changes, and allows for versioned access

2. ZERO DOWNTIME

pgroll-powered live migrations
Progressive rollouts made easy
Rollback without service interruption

3. TYPESCRIPT NATIVE

Type-safe resource definitions
Compile-time validation
Build your schema in typescript, get an SDK for free

4. SVELTEKIT FIRST

Built by a SvelteKit team for other SvelteKit teams
Only SvelteKit, no auto-generated tooling for other frameworks
Use what you already know, enjoy a simple learning curve

5. ABSOLUTELY. NO. BULLSHIT.

We are tired of products showing off fancy but useless features for years
So we made sure to not overpromise or show things that aren't useful
Just the bare minimum to get working, no more, no less
This website serves as our manifesto, no fancy pictures or animations to see around here

Technical Overview

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Developer     │    │   mimsy CLI     │    │   Go Backend    │
│   (TypeScript)  │───▶│   (Schema)      │───▶│   (REST API)    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                                      │
                                                      ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Admin Panel   │    │   Your App      │    │   PostgreSQL    │
│   (SvelteKit)   │◀───│   (SvelteKit)   │◀───│   + pgroll      │
└─────────────────┘    └─────────────────┘    └─────────────────┘
		

Workflow Example

// 1. Define your schema in TypeScript
// collections/blog.ts
export const BlogPost = collection({ name: "post", fields: [ { name: "title", type: "text", required: true }, { name: "content", type: "richtext" }, { name: "publishedDate", type: "date" }, ], });
// 2. Process with CLI
$ mimsy build
// 3. Deploy with zero downtime
$ mimsy deploy
✓ Schema migration created ✓ Old API version: active ✓ New API version: active ✓ Traffic migration: complete

Key Features

Zero Downtime Deployments

  • - Live migrations with pgroll
  • - Both old and new schemas active simultaneously
  • - Rollback without service interruption
  • - Perfect for agency production environments

Code as Source of Truth

  • - All schema changes happen in TypeScript files
  • - No UI-based modifications allowed
  • - Git tracks every change
  • - Perfect for team collaboration

TypeScript Native

  • - Type-safe resource definitions
  • - Compile-time validation
  • - Full IntelliSense support
  • - Catches errors before deployment

SvelteKit Integration

  • - Built by SvelteKit developers
  • - Native integration patterns
  • - Familiar development workflow
  • - Perfect for agency tech stacks

Get started in minutes

# 1. Install mimsy CLI
npm install -g mimsy-cli
# 2. Initialize project
mimsy init my-cms
# 3. Define your first collection
# collections/posts.ts
export const BlogPost = collection({ name: "post", fields: [ { name: "title", type: "text", required: true }, { name: "content", type: "richtext" }, { name: "publishedDate", type: "date" }, ], });
# 4. Build and deploy
mimsy build mimsy deploy

Status & Roadmap

> mimsy status --verbose
STATUS: Nearly Complete
VERSION: 1.1.0
STAGE: Final Features & Polish
> mimsy roadmap --progress
Core architecture design
Go backend foundation
TypeScript SDK development [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░] 95%
SvelteKit admin panel [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░] 95%
pgroll integration [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░] 90%
Technical demo with Slides
Production ready

Meet the team

mimsy is created by kodai, a no bullshit agency that was tired of making the same code again and again.
We're a small bunch of (for now) students at HEIG-VD who got frustrated with the repetitive nature of CMS development. Instead of building yet another WordPress site or wrestling with overcomplicated headless solutions, we decided to create something that actually makes sense.
No fancy offices, no venture capital, no corporate buzzwords. Just a group of developers who want to build tools that work the way developers think.
We believe in code as the source of truth, zero-downtime deployments, and keeping things simple. That's why mimsy exists - because we were tired of the same problems, and we knew there had to be a better way.