Artur Smirnov Back to the work

Case · Standes · Shelving manufacturer

3D shelvingconfigurator

The customer lays out their own room in the browser, checks it in AR at full size, and sends the factory a finished plan.

ClientShelving manufacturer
What it is3D product configurator
Where it runsA browser tab · AR on a phone
The Standes configurator: a retail room laid out with rows of racking in 3D, a parts catalogue down the left, and room dimensions with a running total across the top bar
The working screen — catalogue, room, running total, 3D/2D toggle, AR and export Production UI, in Russian

01 — The problem

Every enquiry starts from a blank sheet

A customer arrives with the plan of their room and one question: how many rows fit in here, and what does it cost? Nothing about that question is answerable from a catalogue.

So a manager does it by hand. Read the dimensions out of an email, sketch a layout, pick the units, count the shelves, price the lot, send it back, wait — then do it again when the customer says the aisle is too narrow. It is the same half-day of work for a serious order and for someone who is just checking a number.

02 — What I built

The room, on their side of the table

A configurator that opens in a browser tab, with no install and no login. The customer types the real dimensions of their room and fills it themselves — racking, shelves, display cases, accessories, perforated panels — dragging rows until the aisles work.

Live — drag it, or type your room

Plan view · racking

A plan of the room with rows of racking laid into it
mm
mm
mm
Shelves per bay4
4 Rows
24 Bays
96 Shelves
24.0 Run, m

rows = ⌊(depth − aisle) ÷ (400 + aisle)⌋ · bays = ⌊width ÷ 1000⌋ per row
A bay is 1000 × 400 × 1950 mm — the frame size showing in the top bar of the production screen above. These four counts are what an enquiry carries; the real configurator also takes display cases, accessories and perforated panels, prices the lot, and sends the layout on as a drawing.

  1. 01 Set the roomWidth, depth and height of the actual space, so everything placed inside is measured against it.
  2. 02 Fill it from the catalogueReal products with real dimensions and codes, positioned in the scene rather than picked off a list.
  3. 03 Read it in 3D or as a planThe same layout from two angles — a walk-around view, and the flat plan a fitter needs.
  4. 04 Stand it up in AROn a phone the layout drops into the real room at full scale, so the aisle width is a thing you walk down, not a number you trust.
  5. 05 Send it onThe finished layout leaves as a schematic, a render and an itemised summary — one file the factory can quote from.

03 — For the sales desk

The enquiry arrives finished

Nothing here replaces the sales team. It moves the drawing work to the person who actually knows the room, and hands the manager the result.

The room is described in an email thread It arrives as a layout, drawn to size
A manager sketches and prices each variant by hand The total is already there, and it followed every change
Fit problems surface at delivery The customer walked the layout in AR before ordering
Every browser costs the same half-day A manager picks it up when there is a plan attached

04 — Under it

Built with

  • Three.js
  • WebGL
  • WebXR — AR
  • 3D + 2D views
  • Live pricing
  • Layout export

The scene is Three.js over raw WebGL, held to an interactive frame rate on a mid-range laptop and on a phone — a configurator that stutters is a configurator nobody finishes. AR goes through WebXR, straight from the same page: no app, no store, no second build of the catalogue. Export writes the schematic and the itemised summary out of the same scene the customer was looking at, so what the factory receives and what they saw cannot drift apart.

Got a product that has to be configured before it can be quoted?

I'm Artur Smirnov — I designed and built this one end to end, and I take this kind of work on contract. Send me a floor plan you quoted by hand this month. I'll come back with what a configurator for it would take, and what it wouldn't be worth doing.

paladei702@gmail.com Telegram @smirnovarturr
Currently available for contract work Belgrade · UTC+2 — a full European day and US East Coast mornings Usually a reply within the hour