Custom Applications

Building an Operating System for a Contractor Running on Spreadsheets

A commercial glazing and glass contractor running its entire operation on spreadsheets, email, and shared drives.

Situation

The contractor was running a real, growing business on a stack of spreadsheets and email. The job list lived in one workbook, customer and contact details in another, and the schedule mostly in the owner's head. Files for a given job (drawings, purchase orders, photos) were scattered across email threads and a shared drive, and the current status of any job (still being scoped, bid gone out, awarded, materials ordered) meant calling the one person who happened to know. Quotes were built in a separate spreadsheet calculator that a single wrong cell could quietly break. It worked, but it depended entirely on people remembering things, jobs occasionally slipped between stages, and no one could answer a basic question like which jobs were awarded but not yet scheduled, or what the margin was on last month's work, without assembling it by hand.

Approach

We built an internal operating system for the way the business actually runs. At the center is a job pipeline board where every job moves through the real lifecycle stages the contractor uses: lead, scoping, bid submitted, awarded, measured, materials ordered, delivered, and scheduled. Around that we built a lightweight CRM for the people, companies, and job sites involved, file attachments on every job so drawings and purchase orders live with the work instead of in an inbox, and activity notes stamped with author and timestamp so the history of a job is legible to anyone who opens it. Each job carries its own financials and profit margin, and scheduling assigns installers to the work. We also ported their spreadsheet quote calculator directly into the app as a built-in estimator, so quotes are generated inside the system, tied to the job they belong to, and no longer dependent on a fragile shared workbook. The point of all of it was to give the team a tool they would actually use, because the real prize was the clean operational data that using it would produce.

Outcome

The spreadsheets went away, and the whole operation moved into one system the team actually opens to run the day. Because the work now lives in a real app, the data it generates is clean and structured, and that is what made the second half of the value possible. When an installer is assigned to a job, the app texts the crew automatically. Two weeks after a job is marked complete, an automated follow-up goes to the customer asking for an online review, which had never happened consistently before. And because every job carries its stage history, financials, and dates, the business can finally see itself: profit by job size, cycle time against price, and where jobs stall between stages. None of the automation or analytics was a separate project. It all became possible the moment the work stopped living in spreadsheets and started living in software the team was happy to use.

Have a similar problem?

Most engagements start with a 30-minute conversation. Tell us what you are working on.