whatisgithub

What is mutable-crm?

leandrobon/mutable-crm — explained in plain English

Analysis updated 2026-05-18

1TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

A local CRM where you change the database structure by typing requests to an AI, which proposes safe schema changes instead of writing SQL.

Mindmap

mindmap
  root((mutable-crm))
    What it does
      Chat to change schema
      Tables re-render live
      No hand-written UI
    Tech stack
      Next.js
      TypeScript
      Postgres
      Drizzle
    Safety design
      No raw SQL from model
      No drop tool
      Model never sees data
    Use cases
      Custom CRM
      Schema prototyping
      Safe AI tool design
    Audience
      Developers
      Local single user

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a custom CRM for tracking contacts, farms, or any collection of records without writing SQL migrations by hand.

USE CASE 2

Prototype a database backed app where the schema evolves through natural language requests instead of code changes.

USE CASE 3

Learn how to constrain an AI model to a safe, typed set of actions instead of letting it generate raw SQL.

What is it built with?

TypeScriptNext.jsPostgreSQLDockerDrizzleAnthropic SDK

How does it compare?

leandrobon/mutable-crm0xkinno/neuralvault0xmayurrr/ai-contractauditor
Stars111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Docker and an Anthropic API key.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

mutable-crm is a CRM, a customer database tool, whose structure changes based on what you type to it rather than requiring you to write code or SQL yourself. When you type something like "contacts need a company field," an AI model proposes a specific change to the database's structure. You review that proposal, click to apply it, and the app's tables rebuild themselves to match. Ask for something bigger, like "a CRM to track my farm," and the model can propose a whole new set of tables at once. The interesting design choice is that the AI model is never asked to write SQL directly. Instead it picks from four specific actions: create tables, add a column, rename a column, or change a column's type. The application itself turns that choice into the actual SQL. This means the model cannot produce broken SQL syntax, and it cannot attempt to delete or drop data because that option simply does not exist in its toolkit. The model also never sees the data stored in your CRM, only the names and types of the columns, so your actual records stay private from the model. Every change made is stored along with its exact reverse, so it can be undone later. Undo only works on the most recent change still in effect, since undoing an older change could conflict with something built on top of it afterward. Undoing an added column deletes whatever was written into it, so that kind of undo requires a second confirmation click. The tool is built with Next.js, TypeScript, Postgres running in Docker, Drizzle, and the Anthropic SDK for the AI model. It needs Docker and Node 20 or newer to run locally, plus your own Anthropic API key. It currently has no support for user accounts, multiple users, permissions, or production deployment, and there is no way to delete tables or columns. It is meant for single-user, local use only, and is released under the MIT license.

Copy-paste prompts

Prompt 1
Set up mutable-crm locally with Docker and Node 20, then walk me through creating my first table by typing a request.
Prompt 2
Explain how mutable-crm prevents the AI model from writing raw SQL or deleting data.
Prompt 3
Show me how the undo feature in mutable-crm works and why it only allows undoing the most recent change.
Prompt 4
Help me extend mutable-crm's four schema tools to support a new operation, like dropping a column.

Frequently asked questions

What is mutable-crm?

A local CRM where you change the database structure by typing requests to an AI, which proposes safe schema changes instead of writing SQL.

What language is mutable-crm written in?

Mainly TypeScript. The stack also includes TypeScript, Next.js, PostgreSQL.

What license does mutable-crm use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is mutable-crm to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is mutable-crm for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.