CRM Platform
An in-house CRM that replaced spreadsheets and scattered chats with one place for leads, pipelines, follow-ups and reporting.
- Role
- Technical Team Lead
- Team
- 4+ engineers
- Stack
- Angular, .NET, SQL Server
- Type
- In-house product

What was broken
Leads were arriving from several channels and being tracked in spreadsheets and personal notes. Nobody could say with confidence which lead was with whom, what had been promised, or which follow-up was overdue. Reporting meant someone stitching files together by hand at the end of the month.
How we built it
- Model the pipeline firstBefore any screen was drawn, we agreed on the lead lifecycle: stages, owners, and what has to be true to move a lead forward. That model became the database schema and the API contract.
- One timeline per customerCalls, notes, emails and status changes all land on a single activity timeline, so anyone picking up a lead sees the whole story in one scroll.
- Follow-ups that nag politelyEvery open lead has a next action with a date. Overdue items surface on the dashboard instead of waiting for someone to remember them.
- Reports from live dataPipeline and conversion reports are SQL views over the same tables the team works in, so the numbers never drift from reality.
Inside the product
The real product is confidential, so these screens are illustrative mock-ups. I can walk you through the real product on a short call.


What changed
The sales team works from one shared source of truth. Hand-offs between people no longer lose context, overdue follow-ups are visible the same day, and month-end reporting runs from the system instead of from spreadsheets.
“Argue about the data model in week one, not about the outage in week forty.”