We built and delivered an operating system for a construction-and-interiors firm, and they have agreed to us describing it without naming them. This page covers what was built and how. It reports no business results, because we have not measured any.
The system follows an interiors job through nine stages, from the first enquiry through design iterations and the agreement, into procurement, progress tracking and quality checks, to handover.
Every stage is a record in one place, so the state of a job can be read from the system without asking the person who last touched it.
Alongside the nine stages there is a Design Handover step. Once the agreement is final, the approved designs, the final renders, the technical drawings, the final material list, the supplier details and any special instructions are handed to a named person, and the record holds who acknowledged receipt and on what date.
The handover is a record of its own with its own status, so it can be seen whether the people building the job have received the design. Our packaged interiors product, InteriorDesignOS, has a final handover stage and does not include this step.
The second half of the build tracks material on site, from the moment it is received.
The stock ledger is append-only. A mistake is corrected with a new entry, so the record of what happened stays intact.
The person who requests material and the person who approves it must be different people. The system enforces this on the server. An early version could be bypassed by calling the system directly; that was found and closed.
What each room consumed is compared with the bill of quantities for that room. The allowed wastage is a setting the firm controls.
The system provides for a regular physical count by a stock auditor. Differences from the ledger are flagged automatically, and writing stock off needs a separate approval.
The check the ledger is built to close
Received = consumed by room + on hand + returned + wastage within the allowed limit
Anything that does not balance shows up as a difference with a quantity against it.
Staff work from screens built for their role. Each role has a small set of screens, with a mobile layout, and the build includes a portal for the firm's own customers.
The storekeeper and site flows are also installable, signed Android apps.
An importer loads a folder of spreadsheets against an agreed column layout, in dependency order. It runs as a rehearsal first, and can be run again after a row is fixed without loading anything twice.
The firm's mailboxes were moved to self-hosted mail, with mailbox set-up wired into the system's own set-up screen. This was part of this build; we do not offer mail to new clients.
Written role training and recorded walkthroughs of the screens, handed over with the system.
A conversation about where the work gets stuck and who holds the knowledge.