CRMTHREE is a complete CRM, fully specified: accounts, contacts, leads, opportunities, quotes, orders, activities, tickets - the functionality, the UX, and the architecture, written down so that anyone can build it. Four implementations already exist - on completely different stacks - and all of them are self-hostable and free.
React 19 + Vite + MUI on Firebase: Hosting, Authentication, Firestore, Cloud Functions. One-command deploy to Google's cloud.
Implemented by Claude Code
Read the README →Svelte 5 + SvelteKit + TypeScript + Tailwind on Node, data in PostgreSQL, real-time via listen/notify. No vendor anywhere - runs on a laptop, deploys to any Node + Postgres host.
Implemented by Claude Code
Read the README →Ruby on Rails 8 + Hotwire, server-rendered, SQLite and Tailwind. One process, fully self-contained - everything travels with the app.
Implemented by Codex
Read the README →The far end of the spectrum: HTML, JavaScript and CSS - no frameworks, no dependencies, no build step, no server. One file, state in localStorage; index.html opens straight from disk or any static host. This is the live demo above.
Implemented by Gemini and Claude
Read the README →These are just four ways to implement the spec - not the only ones. You want to run it in Java on Tomcat? Just do it. Implement it in .NET on Microsoft Azure? Go ahead. The specification does not care - that is the point.
Each of these is defined in functionality, UX, and architecture - and proven in four reference implementations. Click a row for the detail.
Company accounts with parent/child hierarchies; contacts that can belong to several accounts. Both link to opportunities, quotes, orders, invoices, tickets, assets, and activities - and every record layout shows its linked records as cards, parents first.
Leads track their source, carry a 0-100 score, and move New → Contacted → Qualified → Converted. One-click conversion creates contact, account, and opportunity in a single pre-filled dialog.
Pipeline stages are admin-configurable. Opportunities carry inline line items with auto-numbering and live net-value calculation, and convert to a quotation or a sales order with one action.
Each document can be created from its predecessor, line items and all. Documents are identified by their number, with the account first on every form.
Products with pricebook entries, referenced as line items on opportunities, quotations, sales orders, and invoices.
Calls, emails, meetings, and tasks linked across all objects, shown as timelines on each record - plus a personal cross-object timeline and a team timeline for managers, fed by a full audit log of creations, stage changes, and reassignments.
Tickets with configurable statuses, categories, and priorities, linked to accounts, contacts, assets, and contracts - each one openable as a Case Room workspace.
Response- and resolution-time targets, assigned to tickets by rules, with elapsed time tracked and breaches visible at a glance.
Categorized, searchable articles linked to tickets - and a one-click action that turns a resolved ticket into a draft article, so the knowledge base grows itself.
Installed products per customer, referenced by tickets; contracts with coverage periods and entitlements behind them.
Opt-in workspaces that put everything in one place: an AI summary first, stage progress, activity timeline, team discussion, documents, and quick actions.
KPI cards and charts for pipeline, tickets, leads, and activities. Users show or hide widgets; defaults follow the user's role; an AI priority briefing sits on top.
One bar (Ctrl+K) detects whether you are searching or asking. Keyword search spans every object; semantic search finds records by intent; questions get data-aware answers grounded in your own CRM records.
The admin chooses the AI provider and model. Calls run through a server-side proxy - API keys never reach the browser. No provider configured? Everything falls back to keyword search, silently.
Opening a record shows an AI briefing tailored to its type - relationship health on accounts, risks and next actions on opportunities, severity and SLA on tickets - with summaries at user, account, and deal level.
Points for real CRM work, named levels, collectible badges, streak tracking, leaderboards, AI-assigned monthly challenges, and celebration moments - all configurable, all optional.
Default and custom roles, per-role navigation and layouts, an email/domain whitelist, and in-app user management with invitations - provisioning without touching the database.
Every label translatable, per-user language choice with instant switching, an admin translation table - and an AI button that batch-translates the lot.
CSV export from any list view, CSV import with preview and field mapping, and configurable replication from external web services with create-or-update matching.
One-tap contextual actions on every record, forms that show only the key fields until you ask for more, keyboard-first search, and a responsive design that works on desktop, tablet, and mobile without a separate app.
The name counts my own CRM history. My first CRM was SAP CRM. My second was Salesforce. This is the third - and this time, the design is open for everyone.
Specification and reference implementations: github.com/66IDEAS/crmthree.
Try the live demo Get CRMTHREE on GitHub