★ CRM · stack
Best Tech Stack for a CRM MVP
My opinionated stack for a CRM MVP, layer by layer, with why I'd pick each tool and what would change my mind. Adjust the answers to fit your team.
- Runs in your browser
- No signup
Your stack
Tech stack for CRM
8 layers, picked for your answers. Boring where it should be, so your effort goes into the product.
- Frontend
Next.js (React + TypeScript)
Server rendering for SEO, file-based routing and the biggest React ecosystem. TypeScript end to end catches whole classes of bugs before users do.
- What would change my mind
- A purely internal tool with no SEO needs, where a plain Vite + React single-page app is simpler.
- Alternative
- Vite + React SPA, or Remix / React Router
- Backend / API
Next.js route handlers + server actions
No separate service to deploy: the API lives next to the UI and shares types with it. Plenty for an MVP and well beyond.
- What would change my mind
- Several clients (mobile, partners) hitting the API, long-running work, or a separate backend team.
- Alternative
- A standalone Node.js + Fastify service
- Database
PostgreSQL (managed: Neon or AWS RDS)
Relational, transactional and boring. JSON columns cover the semi-structured bits, and pgvector covers embeddings if you add AI.
- What would change my mind
- Truly schemaless, write-heavy event data at very high volume. Add a specialised store for that slice only.
- Alternative
- MySQL, or MongoDB for document-shaped data
- Auth
Clerk
Prebuilt sign-in UI, organisations, roles and MFA. Hours instead of weeks for a B2B-ready login.
- What would change my mind
- Per-user pricing at consumer scale, or a hard requirement to keep auth in-house.
- Alternative
- Auth.js (NextAuth)
- Hosting
Vercel
Git push to deploy, preview URLs for every branch and no servers to manage, which is exactly what an MVP team needs.
- What would change my mind
- Long-running processes, heavy compute or strict data-residency requirements.
- Alternative
- Netlify, or Railway for a container
- Background jobs
Inngest or Trigger.dev
Durable background functions with retries, schedules and a dashboard, written in the same TypeScript codebase.
- What would change my mind
- Very high throughput or strict data residency, which points to a queue in your own cloud.
- Alternative
- BullMQ + Redis
- Analytics
PostHog
Product analytics, funnels, session replay and feature flags in one tool, with a generous free tier.
- What would change my mind
- A marketing-only site, where a simple privacy-friendly counter like Plausible is enough.
- Alternative
- Plausible (simple), or Mixpanel
- Email
Resend
Reliable transactional email with a clean API and good deliverability defaults.
- What would change my mind
- Marketing campaigns and newsletters, which belong in a separate tool.
- Alternative
- Postmark
This is the stack I'd pick.
Want me to build on it? I ship MVPs on exactly this kind of stack.
What makes a CRM different
A CRM is a permissions-heavy data app: contacts, deals, activity history and integrations that import and sync data. Data import and access rules shape the architecture more than the pipeline view does.
Risks to plan for
Messy imports
Customers arrive with spreadsheets and old CRMs. De-duplication and field mapping take real time.
Permission sprawl
Who can see which deals gets complicated in sales teams. Model roles early.
Email sync
Logging emails automatically means OAuth with mail providers and careful privacy handling.
The stack at a glance
With the preset answers for a CRM (you can change them above), this is the stack layer by layer.
| Layer | Pick | Alternative |
|---|---|---|
| Frontend | Next.js (React + TypeScript) | Vite + React SPA, or Remix / React Router |
| Backend / API | Next.js route handlers + server actions | A standalone Node.js + Fastify service |
| Database | PostgreSQL (managed: Neon or AWS RDS) | MySQL, or MongoDB for document-shaped data |
| Auth | Clerk | Auth.js (NextAuth) |
| Hosting | Vercel | Netlify, or Railway for a container |
| Background jobs | Inngest or Trigger.dev | BullMQ + Redis |
| Analytics | PostHog | Plausible (simple), or Mixpanel |
| Resend | Postmark |
Want the price tag too? Run the same product through the CRM cost estimate.
Questions founders actually ask
Should I build a CRM or customise one?
What's the hardest technical part of a CRM?
Does a CRM need a search engine?
Why does the picker recommend boring technology?
Is this stack good enough to scale?
Stack by product type
- Stack for a B2B SaaS
- Stack for a marketplace
- Stack for an AI chatbot
- Stack for an AI agent
- Stack for a mobile app
- Stack for a fintech app
- Stack for an e-commerce store
- Stack for a booking app
- Stack for a learning platform
- Stack for a social / community app
- Stack for an internal tool
Or start from a blank slate with the full tech stack picker.
More from the workbench
Fine print
Tools: on the house.
Engineer: by the hour.
The opinion was free. The implementation is where I come in.
I'm Himanshu, an AI and full-stack engineer. I build MVPs, AI agents and the growth plumbing around them for early-stage startups.
