Inquiry to final payment, with nothing falling between systems
Agency CRM tracking the full pipeline — lead, client, estimate, contract, project, task, invoice, payment — plus team, attendance and profit.
- Pipeline
- 8-stage
- Invoice status
- Derived
- Audit trail
- Locked
- Client
- Proceed Digital
- Type
- Agency CRM
- Industry
- Professional services
- Delivered as
- Engineer at AI Alpha Tech
- Stack
- Next.js, TypeScript, Node.js, Prisma, PostgreSQL
The problem
Agencies lose money in the seams: a lead nobody followed up, an accepted estimate that never became an invoice, a project whose real cost nobody tracked. Each stage typically lives in a different tool, so the pipeline is only visible to whoever last updated a spreadsheet.
What I built
One CRM covering the whole journey. Leads and clients share a table with an `isLead` flag, so converting a lead keeps its entire history. Estimates, proposals and contracts share a status machine where acceptance is terminal and locks the document — an audit trail rather than an editable draft. Invoice status is derived live from payments rather than stored, so fully-paid, partially-paid and overdue can never drift out of sync with reality.
What it does
- Lead kanban with sources, statuses and one-action conversion
- Estimates, proposals and contracts with a locking status machine
- Projects with members, milestones and task-computed progress
- Invoices with server-computed totals and derived payment status
- Client portal accounts scoped to their own tickets only
- Team, attendance, leaves, expenses and profit reporting
The outcome
The pipeline is visible end to end, financial documents are auditable because accepted ones cannot be quietly edited, and project progress is computed from completed tasks rather than someone's estimate of how it is going.
Written about this work
Stop storing what you can derive
Running the same problem?
Tell me what the process looks like today. I'll tell you honestly whether software fixes it.
More work
- ConstructionSiteLeaderMulti-tenant SaaS for Indian building contractors — labour, materials, finance, GST billing and AI-assisted design in one tenant-isolated platform.
- Society managementChairman Sahebn8n-built WhatsApp agent for the Chairman Saheb society app — answering questions, sending quotations, qualifying leads and booking demo slots against a live lead sheet.
- Voice AIChairman SahebReal-time voice agent for the Chairman Saheb app — the caller picks a language, and Sarvam speech-to-text, an OpenAI model and Sarvam's Shubh voice answer only from the app's knowledge base.