What one person needs from a CRM is a table of contacts, companies and deals, a pipeline board, notes and reminders, and an agent builds that in a sitting. The weekend goes on what makes Zoho a team tool: email that syncs and logs on the right contact, lead capture forms, calling, roles and permissions, and automation. Add forecasting, quotes, portals and the Zia assistant, and the gap is wide for a team and small for a solo seller. A personal CRM is realistic; a Zoho clone for a team is not.
Before you buildZoho CRM Free covers three users for good, with workflow automation, standard reports and mobile apps. If you are one to three people, you may never need a paid seat or a replacement.
Build me a personal CRM to replace Zoho CRM for one seller. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React UI built with Vite. `npm start` serves http://127.0.0.1:4950. - Storage: better-sqlite3 in ./data/crm.db with contacts, companies, deals (stage, value, currency, expected close date), activities (note, call, email, meeting) and tasks with due dates. Every record keeps created and updated timestamps. - Pipeline: a board whose columns come from a `stages` table you can rename and reorder. Dragging a deal between columns (`@dnd-kit/core`) saves the new stage and logs the change as an activity. - Today view: tasks due today or overdue, deals with no activity for 14 days, and deals past their expected close date. - Contact page: an activity timeline, linked deals, and a quick note box. Pressing `/` opens a search across contacts, companies and deals (SQLite FTS5). - Import and export: CSV import with a column-mapping step, tested on Zoho CRM's Contacts, Accounts and Deals exports and deduplicating contacts by email; CSV export of every table; a copy of crm.db into ./backups/ each night. - Email logging: `npm run mail-sync` reads one IMAP mailbox from .env (`imapflow`), matches senders and recipients to contacts by address, and stores subject, date and a 500 character snippet as email activities. - Reports: deals won and lost per month, average days in each stage, and pipeline value by stage, as tables plus one Recharts chart. - Single user. No accounts, no telemetry, local-first. The only outbound call is your IMAP server. - Out of scope: several users and roles, web forms, mass email, calling, workflow builders, a mobile app. README: setup, the Zoho export steps, and a note that the IMAP app password sits in .env.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Zoho CRM.
Improve the Zoho import in the CRM in this folder. Requirements: - Add saved mappings for Zoho's Contacts, Accounts, Deals, Notes and Tasks exports, matching columns by their Zoho header names. - Link deals to companies and contacts through the exported account and contact names, and report each unmatched link instead of dropping it. - Import Notes as activities dated with their original created time. - Run as a dry run first: print counts of new, changed and skipped rows before writing. - Update the README.
Add a public lead form to the CRM in this folder. Requirements: - A second Fastify server on LEAD_PORT (not the main port) serves /form with name, email and message fields and posts to /submit. - Add a hidden honeypot field, a 5 per minute rate limit per IP, and basic length checks. - A valid submission creates a contact (or finds one by email), a deal in the first stage and a task due tomorrow. - Escape all submitted text wherever it is shown. - Update the README with how to expose only that port through a tunnel.
Add a daily digest to the CRM in this folder. Requirements: - At DIGEST_TIME each day send one plain-text email through nodemailer SMTP from .env. - Include tasks due today, overdue tasks, and deals with no activity for 14 days, each with a link to its page on the local server. - Send nothing when all three lists are empty. - Add a `npm run digest -- --print` flag that shows the email in the terminal instead. - Update the README.
Zoho is the budget answer when a team has outgrown spreadsheets: a Standard seat is $20 a month, and the Free edition covers three people. Teams already using other Zoho apps get one login and shared data, and the vendor, not whoever built the tool, handles upgrades and support.
Estimate · Runs on your machine for nothing; a $5 VPS only if you want it reachable from your phone. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 3 users, 10 custom email templates, up to 10 data exports, 5,000 API calls a day, standard reports, mobile apps. |
| Standard | $20/user | $14/user | Email integration and mass emails, built-in calling, multiple pipelines, calendar integration, lead capture forms, sales forecasting, data enrichment, custom modules, HIPAA compliance, Slack, Zoom and Teams links. |
| Professional | $35/user | $23/user | Everything in Standard plus AI agents, process management, inventory, predictive intelligence, unlimited reports, CPQ, custom portals and customer journeys. |
| Enterprise | $50/user | $40/user | Multi-team management, reporting hierarchy, custom buttons and functions, approval process, developer sandbox, field-level encryption, extended AI. |
| Ultimate | $65/user | $52/user | Everything in Enterprise with higher feature limits, consulting and migration assistance. |
| Bigin Express | $9/user | $7/user | A separate, simpler Zoho product for people leaving spreadsheets: pipeline, email and calendar sync, calling, appointment scheduling, custom fields and tags. |
Free forever for up to 3 users: contact management, follow-up reminders, workflow automation, tasks, meetings and calls, standard reports, mobile apps and 5,000 API calls a day.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Email sync that logs conversations on contacts, plus mass email, Several users with roles, shared pipelines and reporting hierarchies.
About $20 a month on the Standard plan per seat, $240 a year (checked 2026-10-19).
Email sync that logs conversations on contacts, plus mass email; Several users with roles, shared pipelines and reporting hierarchies; Web forms that capture leads straight into the CRM; Built-in calling, calendar booking, and Slack, Zoom and Teams links; Workflows, approvals, forecasting and the Zia and AI agent features. If any of those matter to you, keep paying.
Yes: Twenty (open source), EspoCRM (open source), SuiteCRM (open source).