All projects
SaaS case study
Custom CRM System
A pipeline and follow-up CRM for a services business that outgrew its spreadsheet.
- Missed follow-ups
- -88%
- Lead → call rate
- +34%
- Daily active users
- 100% of team
app.example.com · custom crm system
New
Contacted
Won
Interface reference — rendered from the real component structure, not a stock image.
The problem
Leads were tracked in a spreadsheet, follow-ups depended on memory, and deals went cold silently.
The solution
Stage-based pipeline with automated follow-up reminders, activity history per contact and simple conversion reporting.
Hard parts
Adoption. The tool had to be faster than the spreadsheet, so every common action is keyboard-reachable.
Outcome
Follow-ups happen on schedule, and the pipeline reflects reality.
Technology used
- Next.js
- Supabase
- React Hook Form
- Zod
- Tailwind
How it was delivered
- 01Client problemNo shared view of the pipeline and no reminder system.
- 02ResearchShadowed the sales process to record what actually happens per lead.
- 03PlanningModelled the real stages instead of a generic CRM template.
- 04WireframeBoard view, contact detail, quick-add — three clicks maximum for anything.
- 05DevelopmentValidated forms, optimistic updates, scheduled reminder jobs.
- 06TestingTwo-week pilot with the team running both systems in parallel.
- 07DeploymentSpreadsheet imported, cut-over on a Friday, support on standby Monday.
- 08ResultsSpreadsheet retired within a fortnight.
Lessons learned
Adoption is a performance problem. If the new tool is slower than the spreadsheet, it loses.