ConstructIQ: Multi-Tenant Construction ERP
A modular-monolith platform that replaces spreadsheets, phone calls and WhatsApp groups with one auditable system for BOQs, work orders, procurement, RA billing and site communication, built with bank-grade multi-tenancy and phone-first login from day one.
113
Multi-tenant data models
364
Live REST API endpoints
3
Business apps live
WhatsApp messaging gets complicated at scale.
Construction and real-estate projects in India routinely run into the crores of rupees, yet day-to-day operations, bills of quantities, work-order approvals, material procurement, running-account (RA) bills, are still coordinated through Excel sheets, personal WhatsApp groups and paper approval registers. Quantities get double-counted between spreadsheets, approvals travel by phone call with no record of who approved what, and procurement moves through disconnected registers for indents, quotations, purchase orders and stock with no single ledger anyone can audit.
Challenge 1
BOQ quantities and revisions tracked in spreadsheets with no version history or audit trail
Challenge 2
Work-order and RA-bill approvals routed informally, with no accountability chain or record of who signed off
Challenge 3
Procurement split across disconnected registers for indents, quotations, purchase orders, GRN and stock, prone to leakage and double-counting
Challenge 4
No system enforced who could approve what, on which project, for which company, once a business ran more than one entity or project
Challenge 5
Field and vendor communication happened over personal WhatsApp numbers with no company-level record or automation
Enforcing tenant isolation at two independent layers (ORM and database RLS) is worth the upfront cost: it turns an entire class of data leak into a guaranteed exception instead of a hope enforced by code review
A single, reusable workflow engine for approval chains is cheaper to build once than to reinvent per module, and it's what keeps BOQ, GRN, indent, PO and RA-bill approvals behaviorally consistent across very different domains
Modeling the domain's real state machines, BOQ to Work Order to RA Bill, Indent to Quotation to PO to GRN, before writing any UI stopped the frontend from inventing shortcuts the backend could never actually guarantee
A contracts-first API (@constructiq/contracts) kept a fast-moving Next.js frontend and a fast-moving NestJS backend from drifting apart across 113 shared models
Built with technologies we trust.
Project Goals
The Outcome
113 tenant-isolated data models, 364 live API endpoints, and 3 business apps (Project Management, Procurement, Finance) shipped in ~4.5 months on a two-layer multi-tenant architecture.
Conclusion & Impact
"Building ConstructIQ in-house meant solving, for ourselves first, the exact governance problems our future customers face: who can see what, who can approve what, and where every rupee and every bag of cement actually goes. Doing that as a disciplined modular monolith, rather than reaching for microservices before there was a reason to, kept a 100,000+ line, two-repo codebase changeable by a small team without losing architectural coherence."
Have a project in mind?
Let's discuss how we can help you build your next big thing.
Reach out and our team will be in touch.
Building systems that
hold up in production.
Bring up the problem others won't attempt.