CodePrism Technologies logoCodePrism Technologies
Case Study — PropTech & Construction ERP

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.

PlatformWeb & WhatsApp
Duration~4.5 months (v1, ongoing)
TypePropTech & Construction ERP
Stack10 technologies
PROJECT OVERVIEW

113

Multi-tenant data models

364

Live REST API endpoints

3

Business apps live

THE CHALLENGE

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

Measurable Impact
113Tenant-scoped data models covered by RLS
364REST endpoints across 34 controllers
3Business apps live end-to-end (of 6 planned)
76Frontend routes shipped, spanning 23 project-level modules
~4.5 monthsFrom first commit to a live, CI/CD-deployed platform
WHAT WE LEARNED
01

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

02

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

03

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

04

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

Technologies Background
Our Technologies

Built with technologies we trust.

NestJS 10 (Fastify)
Next.js 15 (App Router)
PostgreSQL 16 with Row-Level Security
Prisma 5
Redis 7 + BullMQ
Zod / nestjs-zod (@constructiq/contracts)
Socket.io
Meta WhatsApp Cloud API, MSG91, Exotel
TanStack Query + Zustand
GitLab CI/CD on AWS ECS Fargate

Project Goals

Build genuine multi-tenancy: a shared database that many construction companies can run on side by side without any risk of seeing each other's data
Model the real Indian-construction workflow, BOQ to Work Order to RA Bill, and Indent to Quotation to PO to GRN to Inventory to Material Issue, as first-class, auditable state machines
Make phone-first OTP (WhatsApp, SMS or voice) the primary login, with no password required for site and field staff
Replace fixed roles with a fine-grained, capability-based permission model that works at both the company level and the individual project level
Bring WhatsApp into the product itself, inbox, templates, campaigns, automations, rather than leaving it as a side channel outside the system of record
Ship the first three business apps, Project Management, Procurement and Finance, on one contracts-first API that a web frontend today, and a mobile app tomorrow, can both consume

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.

Protected by reCAPTCHA. Google Privacy & Terms apply.

Building systems that hold up in production.

Bring up the problem others won't attempt.