Configure anything.
In plain English.
Product rules written like sentences, not spreadsheet formulas. One DSL defines your configuration, pricing, materials, and manufacturing workflow.
Rules written like sentences.
Most configurators trap your product logic in database tables, drag-and-drop builders, or proprietary formats you can't version, diff, or extend. When the rules get complex, the tool breaks down.
Painless uses a purpose-built DSL refined over 10 years of real manufacturing deployments. Your product rules read like plain English. They're version-controlled like code. And they handle thousands of interdependent options without flinching.
One file defines everything: the dealer-facing form, validation constraints, pricing logic, bill of materials, raw material consumption, and shop floor work instructions. Change the rule once — it flows everywhere.
step "Configuration" do field :width do type Numeric required true input do label "Width" component "fractional-dimension" end check do condition -> { width.present? } constraint -> { width >= 28.0 } message "Minimum width is 28\"." end end field :screen_color do type String options do choice "Charcoal" choice "Sand" end end end computed do field :base_price do PriceTable.lookup("Motorized", x: width, y: height) end end
One DSL drives your
entire operation.
Configuration, pricing, materials, and manufacturing instructions — all defined in a single source of truth. Change a rule once and it flows to every system that depends on it.
Dynamic Forms
Multi-step configuration forms generated from the DSL. Fields appear, hide, and change options based on prior selections. Supports fractional dimensions, feet-inches inputs, radio groups, dropdowns, and computed defaults.
Constraint Validation
Invalid configurations are blocked before they're submitted. Cross-field dependency checks run in real time. When a dimension exceeds its limit, the engine identifies every impacted field and tells the dealer exactly what to fix.
Pricing & BOM
Prices recalculate as the dealer configures. 2D price table lookups, conditional surcharges, dealer-specific discounts, and multi-item bill of materials — all computed in real time from the same DSL that defines the product.
Materials & Inventory
Raw material requirements calculated from the configuration. Fabric area with waste factors, tube lengths, motor assemblies — each tied to SKUs with unit-of-measure tracking. Inventory reservations are created automatically at order placement.
Manufacturing Workflow
Work instructions generated from the product definition. Cutting stations, assembly cells, motor wiring — each with time estimates, material consumption, dependencies, and step-by-step instructions interpolated with the actual configuration values.
Order Summary
Clean, grouped summaries for confirmation and documentation. Dimension groups, motorization details, accessories — each with conditional visibility so dealers only see what's relevant to their configuration. Values are formatted and computed automatically.
Real-time evaluation.
Every keystroke.
When a dealer changes a field, the entire product model re-evaluates instantly. No batch processing, no save-and-wait. The pipeline runs end-to-end in milliseconds.
Form Input
Dealer selects options, enters dimensions. Type casting and defaults applied.
Compute & Validate
Computed fields resolve. Constraints check cross-field dependencies. Errors surface instantly.
Price & Build BOM
Price tables queried, surcharges applied, BOM assembled. Materials and waste factors calculated.
Generate Workflow
Work cells activate, instructions interpolate, time estimates calculate. Ready for the shop floor.
Not another generic configurator.
Generic CPQ tools were built for software bundles and subscription tiers. Painless was built for products with dimensions, materials, and manufacturing constraints.
Pricing rules in spreadsheets
Nested IF formulas, VLOOKUP chains, and conditional formatting that only one person understands. Break a cell reference and pricing is wrong for weeks.
Price tables and rules in plain language
2D price grids with named axes. Surcharges defined as readable conditions. Every dealer sees live pricing as they configure — no manual quotes.
Configuration disconnected from production
Dealers order from a catalog. Someone in the office re-enters the spec into the production system. Details get lost. Wrong products get built.
Configuration IS the work order
The same DSL that generates the dealer form also generates cut lists, assembly instructions, and material requirements. Zero re-keying. Zero interpretation.
Validation by tribal knowledge
Your best estimator catches errors because they've been doing it for 20 years. When they're out, bad orders go through. When they retire, the knowledge walks out the door.
Constraints encoded in the product model
Maximum width depends on installation type? The DSL knows. Motor X isn't compatible with housing Y? It's a constraint, not a sticky note. Dealers can't order what you can't build.
Built for the AI era.
Most product configurators store logic in opaque database blobs or drag-and-drop canvases that AI can't parse. Our DSL is structured, human-readable text — exactly the format large language models understand best.
The engine exposes a full introspection API: parse product models, validate rule integrity, simulate configurations, and analyze pricing — all programmatically. This means AI assistants can answer product questions, suggest configurations, and catch rule conflicts automatically.
Structured & Parseable
Every product model can be parsed into fields, options, constraints, and pricing rules — ready for LLM consumption.
Automated Validation
AI-powered analysis detects circular dependencies, missing references, and conflicting constraints before they reach production.
Self-Documenting
The DSL is its own documentation. Field labels, constraint messages, and option descriptions are embedded in the rules themselves.
Your products are complex.
Your tools shouldn't be.
Let's map your product rules into the engine. We'll start with a conversation about what you build and how you build it.