Main features
- Contacts and companies with notes, tags and activity history
- Kanban board for deals
- Tasks with reminders
- Email capture by BCC or forwarding through Postmark
- CSV import of contacts, companies and deals, vCard export
- Contact merging and global search
- Google, Azure, Keycloak, Auth0 and SAML 2.0 sign-in
- MCP server for AI assistants
- Installable mobile PWA with offline access
- Custom fields and replaceable components
What Atomic CRM does
Atomic CRM is a deliberately small CRM from Marmelab, the company behind the react-admin framework. It handles the core of relationship tracking for a small team: contacts and companies with notes, tags and an activity history, deals on a kanban board, and tasks with reminders. Contacts can be merged when duplicates appear, global search covers the data, and contacts, companies and deals can be imported from CSV files, which the documentation presents as the way to move from another CRM.
Email capture works without connecting a mailbox. Each user gets an inbound address at Postmark; BCC it when writing to a contact, or forward a reply to it, and Atomic CRM adds the message as a note on the right contact, creating the contact and company from the email domain if needed. On phones, the app installs as a progressive web app with a reduced feature set, camera and voice input for notes, and offline access to data already loaded.
Built to be customized
What sets Atomic CRM apart is that it is meant to be forked. The frontend is a React single-page app built on shadcn-admin-kit, Tailwind CSS and React Query, and the architecture notes say the CRM code itself is under 15,000 lines. Developers change fields, screens and themes directly in their copy of the code, then pull upstream improvements through a shadcn registry command and resolve any conflicts in their own repository. An MCP server, running as a Supabase edge function, lets assistants such as Claude, ChatGPT or VS Code read and update CRM data with the user’s own login.
Self-hosting Atomic CRM
There is very little server code. The backend is a Supabase project, which provides the PostgreSQL database, REST API, authentication, file storage and a few edge functions; the frontend is a static bundle that can go on any CDN or on GitHub Pages. Deployment is a matter of make commands from your fork, and local development needs Make, Node 24 and Docker for a local Supabase. Supabase can be the managed service at supabase.com or a self-hosted instance, which the project’s site presents as the option for full data sovereignty. Sign-in supports Google, Azure, Keycloak, Auth0 and SAML 2.0 single sign-on.
Hosted version
Marmelab does not run a hosted CRM. Its paid offer is a one-time “Setup Week” in which the team scopes, configures and deploys Atomic CRM on the customer’s own cloud or servers. If you put the backend on Supabase’s cloud, that is a separate service with its own terms.
Limitations
Atomic CRM covers less than the larger tools in this category. It has no workflow automation, quotes, reporting or email sending from inside the CRM, so it is a lighter alternative to Pipedrive rather than to Salesforce or HubSpot. Using it well requires a developer: deployment, upgrades and customization all happen in a Git repository. Email capture depends on Postmark, and the whole backend depends on Supabase.
Who it suits
Atomic CRM suits startups and small teams with a developer who want a lean, MIT-licensed CRM they can reshape as code, and agencies that build bespoke CRMs for clients. Teams without development resources will find more ready-made features in Twenty or the other tools in the CRM guide.
Technical details
Self-hosting needs
- Supabase
- PostgreSQL
Built with
- TypeScript
- React
- Supabase
GitHub topics
- crm
- react
- react-admin
- react-hook-form
- react-query
- react-router
- shadcn-ui
- supabase
Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.