Four systems. One plant. All in production.
Every system below was designed, built, and deployed inside a ~100-person Ontario HVAC equipment manufacturer, by the person who runs its operations. None of them are pilots. All of them are load-bearing — if they stop, people notice the same morning.
A schedule that says which jobs are going to be late.
The problem. Promised delivery dates were set from experience and a spreadsheet. Nobody could say, on a given Monday, which of two hundred open jobs were quietly going to miss — until they missed.
What was built. A promised-date scheduler covering two plants, with a stage-level capacity model, overflow that cascades into the following month, capacity pull-forward, and stage holds the floor can apply without breaking the plan.
What it does now. It plans the full annual build, and every weekday at 06:00 it emails a delivery-risk report to the operations and sales team — plus per-salesperson reports so each rep sees only their own accounts.
| Annual build planned | ~$57M |
| Risk report cadence | Weekdays, 06:00 |
| Report recipients | 13 people |
| Plants covered | 2 |
| Status | In production |
Replacing the spreadsheet nobody dared touch.
The problem. Quoting ran on a pricing workbook that had accreted for years. Two people could safely edit it. Every estimator depended on it, and a single wrong cell moved real money.
What was built. A pricing engine rebuilt to byte-exact parity with the workbook — every anchor quote reproduced to the cent before a single behaviour was changed. Only then was it extended: versioned price books, a drawing catalogue, role-based accounts, and an AI assistant that answers estimators' configuration questions.
Why parity mattered. Parity is what made it adoptable. Nobody has to trust a new system that quietly prices differently — they have to be shown it prices identically, and then shown what it can do that the old one could not.
| Automated tests | 3,300+ |
| Price parity | Byte-exact to anchors |
| Release rounds shipped | 18 |
| Users | Estimating team, role-based |
| Status | In production |
Getting the schedule out of the scheduler.
The problem. Stage-level production dates existed only inside the scheduler. Sales, service, and anyone living in the CRM were working from stale information and phoning the plant to ask.
What was built. An automated push of stage dates from the scheduler into the company's CRM and ERP records, with conflict detection on every field, a backup and restore path, a materiality check so trivial changes do not churn records, and a kill switch for a staged rollout.
The hard part was not the writing. It was proving the write was safe: what happens on a partial failure, what happens when someone edited the record by hand, and how you roll back a thousand field updates at 2 a.m. That is the work most integration projects skip and later regret.
| Fields written, verified run | 1,652 |
| Records updated | 197 |
| First-pass success | 100% |
| Conflicts detected | Per-field |
| Rollback path | Backup and restore, tested |
An AI diagnostic assistant in a technician's pocket.
The problem. Diagnostic knowledge sits with the most experienced technicians, and it leaves the building with them.
What was built. An iOS application that reads live OBD-II data from a vehicle and pairs it with an AI assistant that interprets fault codes in context — published to the App Store, with in-app purchases and receipt verification handled properly.
Why it belongs on this list. Shipping to a public app store means passing someone else's review, handling real payments, and supporting real users. It is a different discipline from an internal tool, and it is the one that proves a thing is finished.
| Platform | iOS, App Store |
| Version shipped | v1.2 |
| Hardware integration | OBD-II, live data |
| Monetization | In-app purchase, verified |
| Status | Published and live |
Why any of this matters to your plant.
You are not buying these systems. You are buying an assessment written by someone who has been through the parts that go wrong.
Realistic effort estimates
When the plan says an integration is four weeks, that number comes from having done it — including the fortnight spent discovering that a field everyone relied on was only populated half the time.
Adoption designed in
The parity approach, the kill switch, the staged rollout — these exist because systems that surprise people get switched off. Adoption is a design constraint, not a training problem.
Honest build-versus-buy
Having built four systems, we are unromantic about it. Most of what an SME manufacturer needs should be bought or configured. The plan says which is which, and why.
On confidentiality. The client is identified here only by size, province, and sector. Under NDA, during an evaluation or an NGen application, they are named in full and available as a reference. We hold your information to the same standard.
Bring the same eye to your plant.
Thirty minutes to establish whether the funding applies and what would be worth examining.