I built my first custom CRM with Claude Code in three days. Not a toy prototype — a working system that replaced the Pipedrive subscription I'd been paying $60/month for. Contact database, deal pipeline, email integration, basic reporting. Everything I actually needed, nothing I didn't. Total cost to build: about $400 in API credits and hosting.
Most small businesses and solo consultants don't need Salesforce. They need a system that tracks contacts, moves deals through stages, and automates follow-up. If that describes your situation, a custom CRM build with Claude Code is faster and cheaper than trying to bend HubSpot to your workflow.
Here's exactly how I approach these builds and what you can realistically expect to get done in a weekend if you decide to do it yourself.
Why Build a Custom CRM Instead of Using an Off-the-Shelf One
The standard advice is to use something proven. And if you're running a sales team of 20 people across three time zones, that's correct — go buy Salesforce and hire someone to configure it.
But most of my clients are not in that category. They're agencies with 2–8 people, consultants working solo or with a VA, or product studios managing a couple dozen active projects. For them, the off-the-shelf tools are overkill in features and cost, but too rigid in structure.
A custom build makes sense when:
- Your deal stages don't fit the standard "Lead → Opportunity → Closed" model
- You need custom fields that the big platforms charge extra for or don't support
- You want to integrate with niche tools (like a booking system or project tracker) that aren't in the Zapier directory
- You're paying $50–$150/month for features you never use
The tipping point for me was realizing I was spending more time configuring Pipedrive's automations than it would take to just write the logic myself. Once I had Claude Code set up, building exactly what I needed became the faster option.
The Core Components of a Lightweight CRM
Every CRM I've built — for myself or clients — has the same five pieces:
- Contact database — name, email, phone, company, tags, notes. This lives in a SQL database (I use Supabase or Postgres on Railway).
- Deal pipeline — each deal has a contact, a stage, a value, and a close date. Drag-and-drop between stages is optional but nice to have.
- Activity log — every email, call, or note gets timestamped and attached to a contact. This is the part HubSpot charges you extra for.
- Email integration — send emails from inside the CRM, log replies automatically. I connect via Resend or SendGrid APIs.
- Reporting dashboard — pipeline value by stage, close rate, average deal size, deals closing this month. Basic charts, nothing fancy.
That's it. You don't need lead scoring, workflow automation, or AI insights on day one. You can add those later if they turn out to matter.
The Tech Stack I Use for CRM Builds
I've tested a few different setups. The one that works best for non-technical clients is:
- Frontend: Bubble.io (no-code) or a custom React app if the client has a developer on staff
- Database: Supabase (Postgres with a built-in API layer)
- Email delivery: Resend or SendGrid
- Automation logic: Claude Code writes the server-side functions that run on contact updates, stage changes, or scheduled triggers
Bubble handles the UI and user interactions. Supabase stores the data and handles authentication. Claude Code writes the business logic — the rules that fire when a deal moves to "Negotiation" or when a contact hasn't been touched in 30 days.
The advantage of this stack is you can hand the finished product to a client and they can edit the UI in Bubble without breaking anything. The logic layer stays intact because it's server-side.
How I Build It: The Three-Day Process
Here's the actual timeline for a basic CRM build, start to finish:
Day 1: Schema and Data Model
I start by mapping out the database schema. What fields does a contact need? What statuses can a deal have? What relationships exist between tables?
Claude Code generates the SQL schema based on a description of the workflow. I review it, make adjustments, and push it to Supabase. Then I seed it with 10–20 sample contacts and deals so the interface has something to display.
Day 2: Frontend and Core Workflows
I build the main screens in Bubble: contact list, contact detail view, pipeline board, and a simple form for adding new contacts and deals.
Then I connect the frontend to Supabase using API calls. Claude Code writes the endpoints that handle creating, updating, and deleting records. I test each one to make sure data flows correctly.
Day 3: Email Integration and Automations
On day three I wire up email. Claude Code writes a function that takes a contact ID, pulls their email from the database, and sends a message via Resend. I add a simple "Send Email" button to the contact detail screen.
Then I build the first automation: when a deal moves to "Closed Won," send a thank-you email and log it in the activity feed. This proves the system can handle conditional logic and gives the client something immediately useful.
By the end of day three, the CRM is functional. It won't win design awards, but it works.
What You Can Automate with Claude Code in a Custom CRM
Once the core system is live, the real value comes from automation. Here's what I've built for clients:
- Follow-up sequences: When a deal sits in "Proposal Sent" for 5 days, automatically send a check-in email
- Pipeline alerts: Slack notification when a high-value deal moves to "Negotiation"
- Contact enrichment: When a new contact is added, pull their LinkedIn profile and company info via Clearbit API
- Weekly digest: Every Monday morning, email a summary of deals closing this week and overdue follow-ups
Each of these takes 30–60 minutes to build with Claude Code. The logic is straightforward: if X happens, do Y. The hard part is knowing which automations actually save time versus which ones just feel clever.
I always ask clients: what task are you doing manually more than twice a week? That's the automation to build first.
Real Client Example: Agency CRM Replacement
A Vancouver-based creative agency came to me paying $140/month for HubSpot. They were using about 15% of its features — mostly the contact database and deal pipeline. Everything else was noise.
We built a custom CRM in four days (one extra day for design tweaks). Core features:
- Contact database with custom fields for industry vertical and project type
- Five-stage deal pipeline: Inquiry → Scoping → Proposal → In Progress → Complete
- Email templates for common responses (pricing questions, project kickoff, final deliverables)
- Automated weekly report showing revenue forecast and deals stuck in "Scoping" for over 10 days
Total build cost: $450. Monthly hosting + API costs: $18. They're saving about $120/month and the system does exactly what they need, nothing more.
Six months later they asked me to add a client portal so customers could see project status. That took another day. Try getting HubSpot to do that without an enterprise plan.
When Not to Build a Custom CRM
Custom isn't always better. Here's when you should stick with an off-the-shelf tool:
- You have a large sales team (10+ people) who need real-time collaboration and role-based permissions
- You rely heavily on third-party integrations that only work with major CRMs
- You don't have 3–5 days to invest in the initial build and testing phase
- Your workflow is standard enough that Pipedrive or Copper already fits perfectly
The sweet spot for custom builds is 1–10 users with a workflow that's almost standard but has one or two quirks that make the big platforms awkward.
Getting Started: What You'll Need
If you want to try building this yourself, here's what to line up first:
- A Supabase account (free tier works for testing)
- A Bubble.io account (free tier is fine, $25/month if you want a custom domain)
- Access to Claude Code (via the API or desktop app)
- A clear list of the 5–10 most important features you actually use in your current CRM
Start with contacts and deals. Get those working. Then add email. Then reporting. Build in layers, test as you go, and don't try to replicate every feature from your old system on day one.
If you want to see a working example or talk through whether this makes sense for your business, I walk clients through the decision process in the FAQ. And if you'd rather have me build it for you, the typical engagement is about a week of focused work.
The tools are here. The question is whether you want a CRM that works the way you do, or one that forces you to work the way it does.