01 — The challenge
Eight panels, forty-three feeders, four hundred lines — all in a spreadsheet.
The whole design method lived in one workbook: a real job with 8 panels, 43 feeders and 431 BOM lines across 111 components. It worked, until it had to be costed — every component carried no price, so a quotation totalled zero until someone filled it in by hand. And a sheet that said one busbar density while the weight was computed with another had already gone out to a client.
The drawing was a separate exercise again. Nothing linked the requirement to the diagram, the diagram to the parts list, or the parts list to the general arrangement.
02 — What we built
The requirement drives everything downstream.
PanelDesk went live on 8 August 2026, the day of its first commit, and has been extended in 228 commits since. The order was deliberate: first the requirement form and the SLD it produces, then the BOM engine, then rules and selection tables, wiring, costing and the vendor catalogue with real prices.
The design-to-drawing stage came in one stretch on 13–14 September: requirement and SLD fused into one editor, Master Config templates with bundles, a dimensioned 2D general-arrangement drawing with PDF and DXF export, and a 3D view derived from it. Seventeen live panels were migrated forward with nothing dropped.
03 — The results
A parts list that costs itself, and a drawing that follows.
The catalogue behind every line holds 108,708 parts with 95,330 prices, and a nightly refresh carried 34,182 price changes without a single part going from priced to unpriced. Regenerating the BOM for a 16-feeder panel takes about a second.
Every stage passed its production checks — 627 automated tests for the design-to-drawing release — and the BOM screen now matches the quotation portal our other panel client uses, so a drawing-office habit learnt on one is the same on the other.
Before · After
Tulsi Powertech's panel design workflow: before vs after PanelDesk
| Metric |
Before |
After |
| Starting point |
A BOM spreadsheet per job |
A requirement form that generates the SLD |
| Component prices |
Blank until filled by hand |
108,708 parts, 95,330 priced, refreshed nightly |
| Drawing |
Separate exercise |
2D GA and 3D derived from the BOM |
| Regenerating a 16-feeder BOM |
Re-typed |
186 lines in 1.09 s |