DMD artdesign prints and frames works on canvas. Its price does not fit on one line: it depends on the format, the complexity of the shape, the type of frame, the canvas material and the hanging system. Five criteria, each with its options, makes a grid nobody reads. The client wanted visitors to get a price, not to decipher a table.
In pictures
The project in detail
The answer was a WordPress plugin written for them, DMD Prices. Visitors pick their options as illustrated buttons, each criterion showing its own images, the cotton and linen canvases, the classic, three-dimensional or other frames, the hangings by rear staples, side staples or upholstery nails, and the simple, medium or complex shapes. Seeing the difference beats reading it.
On every click the price range recalculates. The plugin sends the five choices to the server in a background request and replaces only the result area, with no page reload and without losing what the visitor had already selected. That is what makes exploring possible: you change the frame, you watch the price move, you go back.
One interface detail is worth flagging, because it solves a real problem. From the first click, the criteria still unfilled mark themselves visually, and each stops doing so the moment it is chosen. Visitors therefore always know what is missing for their price to be complete, instead of discovering at the end that a partial quote meant nothing.
The plugin was packaged as a real product rather than a file dropped in a directory: dependencies managed by Composer, a licence and a description file in the format WordPress expects, an automatic code style check, a version release script, and continuous integration verifying installation on three PHP versions, from 5.6 to 7.1, with the latest WordPress. For a plugin meant for a single client that is a lot, and it is exactly what makes it reinstallable elsewhere or picked up again two years later.
One piece of honesty here: the test infrastructure was in place, with WordPress's unit test base and its install script, but the suite itself stayed a skeleton. The net existed, it was never strung. I say so because a portfolio that shows only the good sides teaches nobody anything.
