Compare
Why this and not that.
Every fact about another project on these pages is single-sourced to docs/strategy/COMPETITOR_MAP.md and carries that file's research date. Nothing from another project was installed, configured or run. Where a comparison would need a fact the map does not carry, the sentence is dropped rather than softened — and every page opens by naming where the alternative wins.
-
Should you build a CRM from scratch, or start from a framework?
Building a CRM yourself
The comparison with no competitor in it: your own empty repository against this framework.
-
Twenty, or a CRM your coding agent writes as code you own?
Twenty, the open-source CRM platform
Twenty is an open-source CRM platform with an apps SDK; this is a framework that generates a CRM into your repository.
-
Odoo's CRM app, or one custom process as code you own?
Odoo, the open-core business suite
Odoo's CRM is one app inside a business suite that a company buys and runs; this is a framework that generates one commercial process as code.
-
Is this a customer data platform? No — no ingestion, no identity resolution, no segments
Not a customer data platform
This is a CRM framework, not a customer data platform.
What none of the 4 pages above means
These pages describe this repository at this commit. None of them implies the framework is deployable, and none of them is a roadmap: nothing that is not merged appears on this site, in any tense.
- No authentication, tenancy or RBAC. The server is local-development-only. An actor header is an assertion, not an identity. Do not expose it to a network.
- SQLite only. Persistence is Node's built-in SQLite adapter. PostgreSQL is on the Production Spine track and is not implemented.
- No scheduler, no task engine, no reminders. One follow-up Task is created inside lead qualification. There is no recurring work, no delayed workflow, no queue — so nothing fires on a renewal notice period either.
- No email, calendar or marketing integrations. An in-memory notification provider contract exists. No adapter sends anything to anyone.
- The build benchmark has not been run. The protocol is designed and published; no Successful Agent Build Rate exists yet. Any number you see quoted for this project is not ours.
- Ownership today means copying source, not installing a dependency. There is a project bootstrap and there is no published package, and the two are different facts. The repository's bootstrap command scaffolds a project that boots, reports `valid` from `app inspect` and exits 0 from `project doctor`, offline and with no install — run from a checkout of this repository. The package published under the reserved npm name is still an empty 0.0.1 placeholder, so the `npm create` route installs nothing until a human publishes it. Either way the framework is vendored into the project rather than depended on by version: you own the result outright, and upgrading means merging, not bumping.
Every claim and every limitation is on one page, and the questions this project refuses to answer are published beside them.