Software11 min read
Shipping a custom CRM in three weeks with Claude Code
Off-the-shelf CRMs fit 70%. The 30% is what kills your flow. Here's how we build custom CRMs in weeks, not quarters, using Claude Code.
By Roki HasanApril 2, 2026
Why custom CRMs are back
For 15 years, "build your own CRM" meant six months of engineering and a team of two. That was wrong for almost every small company. HubSpot or Pipedrive won because custom was uneconomical.
Claude Code changed the math. We now ship production-ready custom CRMs in 3 weeks. One engineer. The client owns the repo.
The stack
Boring on purpose.
- Next.js for the app (App Router)
- Postgres via Neon for the database
- Prisma for the schema
- NextAuth for login
- Tailwind + shadcn/ui for UI
- Vercel for hosting
No exotic tooling. Everything the client can maintain if we disappear.
The three-week shape
Week 1 — Schema and skeleton
Most of week 1 is spent on the schema. Not on building UI, not on picking colors. Just: what objects exist, how they relate, what fields they have.
Claude is excellent at this part. You describe your business in plain English, and Claude proposes a schema. You iterate with it until it's right. Then it generates the Prisma schema, the migrations, and seed data.
By end of week 1: empty app, working auth, all tables exist, some test data.
Week 2 — The 3 core flows
Every custom CRM has 3 or 4 flows that justify its existence. The rest is filler. Identify them.
For a recruitment agency: (1) add candidate, (2) submit candidate to job, (3) track placement.
For a consultancy: (1) add lead, (2) qualify and score, (3) convert to project.
For a B2B agency: (1) add account, (2) run campaign, (3) track through stages.
Build those 3 flows properly. Claude Code ships one flow per day with a senior human guiding.
By end of week 2: the client can use the CRM for real work.
Week 3 — Integrations, polish, deploy
Week 3 is the long tail. Connect to the email provider. Add Slack notifications. Write a short user guide. Deploy to production.
The trap here is scope creep. The client starts noticing missing features. You're tempted to keep building. Don't. Ship week 3. Schedule v2 for month 2 if needed.
By end of week 3: live, in-use, yours.
What Claude Code is good at
- Schema generation from a business description. This is where it shines.
- API routes. REST endpoints for CRUD operations, with validation and error handling.
- UI scaffolding. Lists, forms, detail pages — all generatable in a few prompts.
- Tests. Surprisingly thorough when asked.
What still needs a human
- Judgment on what to build. Claude will happily implement the wrong feature if you ask.
- Business logic edge cases. Claude gets the 80%. A human writes the last 20%.
- Performance decisions. Indexes, query optimization, caching — Claude needs direction here.
- Security. Auth flows, permissions, input sanitation — always reviewed by a human.
The cost conversation
Three weeks of one engineer: about 20,000 all-in. Client gets a custom CRM that fits their business exactly, a repo they own, and the freedom to never pay per-seat again.
Compare to HubSpot at 500/seat/mo: breakeven at 3 years. For companies with more than 10 users, breakeven in under 2 years.
For companies under 10 users, honestly, stick with off-the-shelf. The economics don't yet flip.
When this goes wrong
Two failure modes.
1. The client doesn't know what they want. No amount of Claude Code saves you. You need discovery first — a week of real conversation — before you touch code.
2. The client wants the app to do everything. Custom CRM should do 3–4 things very well. If they want 14 things, they want HubSpot.
This is our Software pillar in one post. Custom builds, three-week shape, Claude-native stack.
Keep reading
More from the Software series.
Want us to run this for you?
Thirty minutes, no slides. We'll tell you honestly whether this is the right first thing to fix.