// the find
marmelab/atomic-crm
A full-featured CRM built with React, shadcn/ui, and Supabase.
A production-ready CRM template from Marmelab, the react-admin maintainers, built on React, react-admin with a shadcn skin, and Supabase as the backend. The target is teams who want a self-hosted CRM they can actually own and modify — not a SaaS subscription. The fork-to-star ratio (704/1094) confirms people actually deploy this.
1. The shadcn registry distribution model is the most interesting architectural choice here: you get full source ownership but can still pull upstream updates via `npx shadcn add`. That's a real solution to the 'fork and drift' problem that kills most open-source templates. 2. Multi-provider SSO (Google, Azure, Keycloak, Auth0) works out of the box via Supabase Auth — that alone saves days of integration work. 3. The inbound email capture via CC is genuinely useful for sales workflows and not something most CRM templates bother with. 4. Both unit tests (Jest) and e2e (Playwright) are present and the CI runs them — this isn't a 'tests as theater' situation.
1. Supabase is load-bearing at every layer — auth, database, storage, edge functions. Swapping it out isn't a refactor, it's a rewrite. If Supabase's pricing or reliability ever becomes a problem, you're stuck. 2. The registry update model bites you the moment you customize anything: `npx shadcn add ... -o` silently overwrites your changes, and there's no merge strategy. The README even warns about this. 3. Docker is required just to run locally (Supabase pulls it in), which is a real friction point for contributors on constrained machines or in CI environments that don't support nested containers. 4. You're effectively learning two frameworks — react-admin's data provider and record context model sits underneath shadcn components. When something breaks at the boundary, the debugging story isn't clean.