What it replaced
Every heating, cooling and plumbing job needs a permit from the township it is in, and every township wants its own forms in its own order. Before this, those forms were filled in by hand from the job record, one at a time, and where each application stood lived in someone's head and a spreadsheet.
The working demo of this system opens on a desktop screen. Here is how it works:
How it works
- 01Every permit in one placeA table or a pipeline board, filtered by stage and trade, exported as it stands.
- 02Move it alongDrag a card to the next stage and the record follows.
- 03AI reads the paperworkThe stamped application is read from the scan: permit number, fee, stamp date.
- 04AI checks the equipmentFuel, exhaust and size, with a warning when gas is vented into a masonry chimney.
- 05One click packetEvery form the township wants, filled in and merged in its order.
What it does
The portal lists every permit with its stage, as a table or as a pipeline board. Opening one shows the job, the customer, the township and its contact, and how far the application has got. One button builds the packet: the cover sheet, the signed application, the trade scope and cost summary, and the official subcode forms for building, electrical, plumbing, mechanical, fire and chimney, each filled in from the record and merged into one file in the order that township expects.
Where AI helps
In two places. When the stamped application comes back, the scan is read by a vision model, so the permit number, the fee and the stamp date land on the record without anyone retyping them. And the equipment on the job is looked up, so the portal knows the fuel, the exhaust and the size, which is what decides the subcodes. A furnace that burns gas but vents into a masonry chimney gets flagged, because it needs a liner and a chimney subcode, and that used to be missed until the inspector found it.
Inherited, then rebuilt
The portal had stalled before it reached me. I rebuilt it as a single page application inside the ERP and wrote a test pack of 355 cases with the permit team. One round of fixes took it from 187 passing to 315, and the one failure that blocked launch, closed permits staying editable, went first. It went live in September.
Since then it has been review rounds on real packets with the person who files them: a mechanical form whose printed labels the merge mistook for fields, a line that printed one row too high in one PDF viewer, a cost box that now adds itself up. The township list she kept in a spreadsheet came in as 204 records in one import instead of being typed.
Systems inside it
- One click packet, six official forms
- AI reading of uploaded documents
- Permit portal with pipeline and address views
- Different rules for each township