A custom CRM is a business-specific record system that tracks customers, deals, and operational data on infrastructure the business owns. Horsiq ships custom CRMs in three weeks using Next.js, Postgres, and Prisma on Vercel or the client's own hosting. Week one is discovery and schema. Week two is the build. Week three is data migration, training, and go-live. Typical price: $15,000 to $50,000 fixed. The client owns the repo, the database, and the deployment from day one — no per-seat licenses, no platform lock-in, no agency dependency.
The six-month gap
Walk into any agency selling "custom CRM" and the proposal lands at six months and six figures. The discovery phase alone takes eight weeks. There are workshops. There is a Miro board.
Most of that calendar is not engineering. It is project management overhead, internal handoffs between a designer, a strategist, a tech lead, and three contractors who have never met. It is the cost of a structure that bills hours instead of shipping systems.
A solo operator with the full stack in their head — schema, UI, deployment, integrations — does not need eight weeks of workshops to model a sales pipeline. They need one good half-day session and Postgres.
Why custom CRMs make sense (and when they don't)
Salesforce and HubSpot are excellent at what they were built for: standard B2B sales motions with familiar shapes — leads, deals, accounts, contacts, pipelines. If your business looks like that, use them. We will tell you that on the first call.
Custom makes sense when your operation does not fit the template:
- A clinic tracks patients, treatment plans, insurance claims, and recurring appointments — not deals.
- A home services company tracks jobs, crews, equipment, and route schedules — not pipelines.
- A wholesaler tracks SKUs, price tiers per customer, backorders, and consignment — not opportunities.
When you force these shapes into Salesforce, you end up paying $1,200 a month for a system that fits half your workflows, plus an employee whose job is workarounds. The math flips around $800/month in SaaS spend. Above that line, a $25k custom build pays back inside two years and keeps paying forever.
The other trigger is data sensitivity. Medical, legal, and financial firms that cannot send records to a third-party cloud need on-premise systems. Off-the-shelf SaaS is not an option. Custom is the only option.
The 3-week framework
The schedule is tight on purpose. Constraints force decisions. A team given six months will use six months. A team given three weeks ships in three weeks.
Week 1 — Discovery and schema
Day one: a four-hour video session with the operator. We map every entity in the business and every relationship between them. Not features. Not screens. Entities.
For a clinic that is patients, providers, appointments, treatment plans, invoices, claims, rooms. For a home services company it is customers, properties, jobs, crews, vehicles, parts. We draw it on a single sheet. If it does not fit on one sheet, the model is wrong.
Days two through five: the Postgres schema, Prisma models, auth, role-based permissions, and seed data. No UI yet. By Friday you can create every record type via API and the relationships hold up. This is the foundation everything sits on. Get it wrong and the project dies at month nine. Get it right and it lasts a decade.
Week 2 — Build
The Next.js admin UI gets built against the schema. Patient records, scheduling, billing, dashboards, reports — whatever the entity map demanded. We use shadcn/ui components and Tailwind so the interface looks like 2026 software, not 2014 PHP.
Integrations land in parallel: Stripe for payments, Resend for transactional email, Twilio for SMS, Google Calendar for two-way sync. n8n handles anything that needs a workflow — a webhook arrives, three tools fire in sequence, a record updates. The friday-of-week-two demo is a working system the operator can click through end to end.
Week 3 — Data and go-live
Monday and Tuesday: revisions from the demo. Things you only notice when you actually use the thing.
Wednesday: the migration. A script pulls every record out of the legacy system — patients, customers, deals, invoices, history — and writes it into the new database with foreign keys intact. We dry-run the migration on a staging copy first. Years of records, tens of thousands of rows, validated end to end.
Thursday and Friday: training. Recorded walkthroughs, live sessions with the team, written runbooks for the operational edge cases. Go-live the following Monday. We stay on call for the first 72 hours because something always surfaces in production that did not surface in staging.
Our tech stack
We pick boring, durable tools that one operator can hold in their head:
- Next.js — full-stack React framework. Server components for data, client components for interactivity. One codebase, one mental model.
- Postgres — the database that has outlasted every fad since 1996. Hosted on Supabase, Neon, or the client's own server.
- Prisma — type-safe ORM. The schema file is the source of truth; migrations are version-controlled SQL.
- shadcn/ui + Tailwind — components that look professional out of the box and stay editable.
- Resend for transactional email, Stripe for payments, Twilio for SMS, n8n for workflow automation, Claude API when the system needs to read or write natural language.
- Vercel for hosting, or the client's own VPS for full data ownership. On-prem when regulation requires it.
What you do not see in this list: no microservices, no Kafka, no Kubernetes, no GraphQL gateway, no event bus. A 50-person business does not need infrastructure built for 50 million users. Boring software ships in three weeks. Cutting-edge architecture ships in eighteen months and breaks on Saturday.
What you trade off
Three weeks is fast. It is not magic. Honest tradeoffs:
- Scope discipline is brutal. If you want every feature in HubSpot, the timeline triples. We ship the system that runs your business — not the system you might want to grow into in five years.
- The first version is functional, not beautiful. It is clean, fast, and readable. It is not a Figma showpiece. Visual polish lands in a follow-up sprint if the operator wants it.
- You are the product manager. A three-week timeline means one decision-maker who can answer questions inside 24 hours. Committee approvals do not fit.
- The roadmap is yours. We ship the system, hand over the keys, and step back. You get a retainer if you want ongoing work, but the codebase is structured so any competent Next.js developer can take it forward.
Pricing reality
Custom CRM builds at Horsiq run $15,000 to $50,000 depending on scope. The range maps to entity count and integration count, not calendar time. A 5-entity system with 2 integrations sits at the low end. A 20-entity system with 8 integrations sits at the high end.
That is fixed price. Not time and materials. Not "starting at." You sign a scope, you pay the number on the contract.
Compare against the alternatives. Enterprise Salesforce with a Certified Partner implementation: $80k-$200k and six months. A custom build from a 15-person agency: $150k and nine months. The SaaS you are bending around right now: $800-$2,000 per month forever, with the price climbing every renewal.
The three-week, fixed-price model only works because one operator owns the full stack. No handoffs, no project management tax, no contractor markup. That is the structural advantage. It is also why most agencies cannot match the number — their cost structure will not permit it.
What you walk away with
On the day of handover:
- The full source code in a Git repository you own. Not licensed. Not escrowed. Yours.
- The deployed system running on your Vercel account, your Supabase project, your domain. We never hold the keys.
- Recorded training videos for every workflow, organized by role.
- Written runbooks for the operational tasks the team will do weekly.
- 30 days of on-call support as the system settles into production use.
- A maintenance retainer if you want one — typically $1,500-$4,000/month for ongoing development and care. Optional.
The point of the model is that nothing about your business depends on Horsiq existing next year. If we disappeared tomorrow, you would hire a Next.js developer on Upwork, hand them the repo, and keep shipping. That is what ownership means.
If your business runs on a SaaS that almost fits, or on a spreadsheet that grew teeth, look at Custom CRM / ERP for the full service spec — or get in touch and we'll scope the build in a 30-minute call.