Configurable furniture / EngineeringSEPTEMBER 2026

Engineering inside Forma /

The data model, constraints and recovery decisions behind Forma.

A boutique furniture collection pairs burgundy upholstery imagery with warm paper, serif typography and a quiet commerce rhythm. The open shelving system adds a real interactive finish and arrangement journey.

01

Interface and interaction architecture

A Solid engine renders the dimensional shelving elevation from the real component list in the private workspace. Three.js supplies the public shelving view and finish selection.

02

The catalogue defines the assembly

Each module has bounded dimensions, supported finishes and quantities of priced component SKUs. Every referenced part must exist in the catalogue. A placement resolves against that catalogue before the design is accepted. This connects visible bays to actual component requirements and avoids maintaining separate hand-written totals for the model and its specification.

03

Spatial rules are deterministic

The server rejects unknown modules, duplicate placement identifiers, unsupported finishes, overlap and assemblies beyond available width or height. Elevated modules require full-width support immediately beneath them. These rules are checked when the configuration is created or changed, so a manipulated client cannot save geometry that only appears valid in the viewport.

04

Parts and money share one result

The bill of materials aggregates part quantities from the resolved layout. Integer arithmetic calculates line totals, subtotal and tax, with an explicit supported currency scale and amount limit. The saved configuration includes the resolved dimensions and totals. Customer-facing PDF formatting translates stored amounts and finish identifiers into readable specification text.

05

A request binds the reviewed revision

A quotation request checks the design’s current content digest and stores a full specification snapshot. A stale digest is rejected rather than silently requesting an altered design. Edits use expected-version checks. The viewport, saved state, export and request can therefore be compared against the same bounded configuration instead of independent approximations.

Operating the product

Measure available space and review the saved dimensions before requesting a quotation.

When an added module is rejected, check overlap, support and available width or height instead of overriding the rule.

Save the changed layout and review its regenerated specification before making another request.

Use the readable PDF for a review conversation and the component CSV when part data is needed elsewhere.

Confirm engineering, current prices, manufacturing and delivery arrangements with an operator before treating the design as an order.

Independent by construction

Forma has its own application source, build configuration, local server, database, object store and session cookie. The fifteen applications reuse copies of a common foundation, but their operational data and credentials are independent. A shared dependency cache on this Mac saves disk space; each product includes a lockfile and a command to install its own dependencies.

Mutations validate the workspace and current record version. Approval binds the reviewed content digest; an idempotency key prevents an identical retry from becoming a second action. These controls are implemented in the server, alongside the product-specific rules described above.

APPLY THE THINKING

A similar problem in your business?

Bring a real workflow, representative inputs and the result that needs to be reliable.

Shape a project brief