๐Ÿพ Why switch

Why Chonk, not CiviCRM

Same job nonprofits have always needed done. Built thirty years later, with everything we've learned since.

CiviCRM got a generation of nonprofits off spreadsheets, and we respect it for that. But it carries decades of accreted schema, a PHP/MySQL stack, and an admin that feels its age. Chonk is a clean-slate rebuild for how nonprofits actually work in 2026 โ€” API-first, AI-native, and self-hostable in a single docker compose up.

The honest comparison

DimensionCiviCRMChonk
Data model Legacy schema, decades of accretion, custom fields in per-entity tables. Clean-slate modern schema. Custom fields in one JSONB column, no table sprawl.
API Bolt-on APIv4, uneven coverage. API-first. Every feature is an OpenAPI endpoint before it's a screen.
AI None. Native: ask-your-CRM RAG, semantic search, donor scoring, MCP tools for agents.
Front end Server-rendered, dated admin. React 19 admin with builders for email, journeys, forms, and campaigns.
Payments Processor plugins of varying quality. Money is integer cents everywhere. Live Stripe subscriptions adopted, not recreated.
Hosting LAMP stack, PHP, MySQL. One docker-compose. Go + Postgres. Cloud-agnostic ports & adapters.
Migration You're already here. Idempotent importer with a red/green parity gate that blocks a bad cutover.

We don’t copy CiviCRM’s data model

This is the core design decision. Chonk treats CiviCRM as a use-case reference and a migration source โ€” never a schema to replicate. Custom fields live in one JSONB column driven by definitions, not a sprawl of per-entity tables. Money is integer cents everywhere. The result is a database you can actually reason about.

Nothing is gated

There’s no “community edition” with the good parts removed. Self-hosting Chonk gives you every module โ€” fundraising, memberships, events, commerce, communications, AI, portal, volunteers, platform. The open-core line is about hosting and support, not features.

Switching is safe

The migration importer is idempotent and ends in a red/green parity gate โ€” if the migrated numbers don’t match your source, cutover is blocked. Live Stripe subscriptions are adopted, not recreated, so recurring donors keep charging without interruption. See how migration works โ†’

Ready to let the big cat eat your stack?

Spin up Chonk on your own box with docker-compose, or let us host it. Either way, you get the whole feature surface โ€” not a stripped-down "community edition."