Quotation, sparepart logistics, maintenance scheduling, field surveys — one backend, three client surfaces, built and operated end to end, alone.
The API is organized as domain modules rather than one monolith of routes — sales & quotation, inventory, sparepart borrowing, HR, finance, and maintenance each own their slice of the schema. That's what let the admin console grow to twenty-plus modules without becoming unmaintainable.
Every quotation moves through five approval gates — generated, verified, confirmed, approved, published — each owned by a different role. Throughput is tracked by zone in real time, instead of in a spreadsheet someone updates on Friday.
Thousands of parts tracked per depot on the left; on the right, parts loaned between depots age visibly — under 30, 30–60, over 60 days — so nothing quietly vanishes off the books.
A surveyor logs a unit's product type, control system, and required parts on site — the same record an estimator reviews minutes later, carrying a status until nothing sits unassigned.
Every installed unit flagged normal or off — the ground truth a callback gets checked against — alongside 1,600+ inspection sessions a year tracked from requested through completed.
The Flutter build is the same system, reshaped for someone standing next to an elevator shaft.




Screenshots are drawn from the live production system. Client names, staff identities, pricing, and other commercially sensitive figures have been removed or replaced with placeholders.