overview / problem

Construction teams often coordinate purchase requests, purchase orders, goods receipts, material issues, inventory transfers, bills, attendance, and site paperwork through spreadsheets, PDFs, scans, and messaging.

what I built

Product discovery with construction teams, workflows for non-technical users, India and US-specific workflows, procurement, inventory, billing, and document ingestion.

Gemini multimodal extraction for invoices, delivery challans, and attendance registers, with confidence-aware routing to human review and approved corrections reused in later prompts.

architecture

Multi-tenant Next.js application → server-side RBAC across five roles → organization-scoped access → Supabase / PostgreSQL → procurement, inventory, billing, and document workflows

interesting decisions

Organization-scoped access

Tenant boundaries and role checks live server-side so construction teams can share workflows without relying on client-only authorization.

Transaction-ledger inventory

GRNs, issues, transfers, and adjustments are modeled through atomic PostgreSQL transactions with reconciliation tooling around the ledger.

Pooler failure

A production connection deadlock exposed a mismatch between the database driver and transaction-pooler behavior. The connection mode was changed and regression coverage was added around the failure.

limitations