From spec to BOM in 90 seconds: the configurator that closes deals
A deep neural net that turns customer technical specs into the optimal stairlift configuration, the full Bill of Materials and a delivery date the sales team can actually commit to.
Selling a custom stairlift used to take Extrema two days. A salesperson opened a 14-page spec template, called the engineering office, called the production office, and came back to the customer with a quote that was sometimes accurate. The bottleneck was not the model. The bottleneck was that nobody in the sales meeting had the engineering knowledge to know which guide variant would fit a 28-degree spiral staircase with a 0.92 m landing.
The project was a DNN configurator that does, in 90 seconds, what the engineering office used to do in a half-day. Input: the customer's technical sheet — staircase angles, landing widths, weight class, accessibility constraints. Output: the full BOM, the optimal guide configuration, the projected assembly time and a delivery date with a confidence interval.
The architecture is unremarkable: a multi-input MLP with separate encoders for numerical features (angles, widths, weights), categorical features (mounting type, drive variant, controller) and a small attention layer over the categorical embeddings. Three hidden layers of 256 units each, dropout 0.15, trained on twelve years of historical quotes. Nothing special.
The interesting work was on the loss. The naïve loss is per-component cross-entropy: predict which motor, which rail, which controller. We tried that. The model picked plausible parts that did not fit together — a motor variant compatible with one controller and a controller variant compatible with a different motor. Engineering rules rejected 30% of the predictions.
The fix was a compatibility-aware loss: a second term that penalised any combination of predicted parts that violated a known engineering constraint. The constraints were encoded as a sparse mask of "this part is incompatible with these parts". Once the model learned to live inside the mask, the rejection rate dropped to 1.4%, and the remaining rejections were caught by a final symbolic validation step that no model is needed for.
The deployment is two clicks for the salesperson: import the customer's technical sheet, hit "Generate quote". Ninety seconds later the BOM is in front of them, with each component clickable for substitutions and the delivery date sourced live from the production schedule. The salesperson does not need to understand which motor goes with which rail. The model does.
The lesson here is about where engineering knowledge lives in your system. It used to live in the heads of two engineers in the office, and a 30-year-old spreadsheet they jealously maintained. Now it lives in a learned model, a constraint mask, and a symbolic validator. The two engineers got their afternoons back. The salesperson can promise a delivery date in the customer's presence. The customer says yes, more often.