3D Product Configurator

A 3D product configurator lets a customer change a product's options — material, colour, size, components — and see the result rendered live in the browser, with the price updating as they go. Nothing re-loads and no images are pre-baked: one 3D model is lit and rendered on the customer's own GPU, and each option swaps a material, toggles a part, or moves geometry.

I'm Peter Csipkay. I build these in Three.js as custom front ends, and I also spend a lot of time telling people they don't need one. This page is what I'd tell you on a first call: how the pieces fit together, where the money actually goes, how long it takes, and when a $200/month SaaS product is the better answer than hiring me.

Built by

Peter Csipkay

Creative frontend developer near Munich, and the person behind this site. I scope, build and ship the work myself.

Live demo

A working configurator, not a screenshot

A demonstration built for this page rather than a shop — the product is a CC0 sample model and the prices are illustrative. Nothing to press: it starts by itself, and costs about 780 KB of model, once.

Starting the demo…

Model: “Sheen Chair” © 2020 Wayfair, LLC, released under CC0 1.0. Optimised to 776 KB with meshopt geometry compression and WebP textures. Prices shown are illustrative.

What is a 3D product configurator?

A configurator is three systems wearing one coat.

The first is a 3D model of your product, prepared so its parts can be addressed individually. A sofa is not one object. It is a frame, cushions, legs, piping and feet, each named, each with its own material slot.

The second is option logic: the rules describing what can change and what cannot. Oak legs are available on the three-seater but not the corner unit. The linen finish comes in nine colours; the leather comes in four and costs more. Choosing the deep seat forces the deep cushion. This is ordinary business logic and it is usually the part nobody has written down before the project starts.

The third is pricing, which is option logic with money attached, and which almost always already exists somewhere: in an ERP, a spreadsheet, a Shopify variant matrix, or a sales rep's head.

The 3D is the visible tenth of the work. The option and pricing rules are the other nine tenths, and they are where projects overrun.

A configurator is worth building when the product has genuine variety, when that variety is hard to photograph exhaustively, and when the customer's uncertainty about what they are getting is what stops the sale. Fifty product variants is a photography problem. Fifty thousand combinations is a configurator problem.

How a configurator is actually built

Model preparation

Almost every project starts with a file that is wrong for the web. CAD from engineering (STEP, SolidWorks, native CAD) is precise, heavy and built for manufacturing, not for a browser. It has to be retopologised to polygon meshes, given clean UVs, and re-authored with PBR materials.

The delivery format is glTF or its binary form GLB. Geometry gets compressed with Draco or Meshopt; Meshopt decodes faster, Draco usually compresses smaller. Textures get compressed to KTX2/Basis, which matters more than most people expect: a 2048×2048 texture uploaded as ordinary RGBA occupies about 16 MB of GPU memory, and about 22 MB once mipmaps exist. Six of those and a mid-range phone is out of memory. In KTX2 the same texture stays compressed on the GPU and costs roughly a quarter of that.

Getting from a 300 MB CAD assembly to a 4 MB GLB that still looks like the product is skilled, unglamorous work, and on most projects it is the single largest line item.

Option logic

Options fall into four kinds, in increasing order of cost:

  • Material swaps: change colour, fabric, finish. Cheapest, since only the material changes. glTF's KHR_materials_variants extension can carry these in the file itself.
  • Component swaps: show or hide parts that are all present in the model. Straightforward, at the cost of file size, since every variant ships whether or not it is shown.
  • Dimensional change: resize, restretch, re-tile. Needs geometry authored for it, and materials that don't visibly stretch when it happens.
  • Generative assembly: build the product from parts at runtime, as a kitchen or shelving system does. This is a modelling and rules project with a 3D viewer attached, and it is a different budget entirely.

Pricing

Price the configuration on the server, always. A configurator that computes the price in the browser is a configurator whose prices can be edited with the developer console. The browser asks; the server answers and signs the result; checkout re-validates. Every serious build does this and it is worth insisting on even when the first version is a quoting tool rather than a checkout.

Build or buy: when configurator software is the right answer

Most people who email me about a configurator should buy one instead. Zakeke, Expivi, VividWorks, Simplio3D and Vectary all sell hosted configurators with e-commerce plugins, admin panels, rule builders and support, for a monthly fee that is a fraction of a custom build.

Buy the software when:

  • Your products are conventional: apparel, print, furniture with a defined option list.
  • Your catalogue is small enough to configure by hand in an admin panel.
  • You sell through Shopify, WooCommerce or Magento and want the standard integration.
  • You need it live this quarter.
  • Nobody on your side wants to own a codebase afterwards.

A custom build earns its cost when:

  • The assembly logic is genuinely complex: parts constraining other parts, dimensional rules, engineering validity checks that a rule-builder UI cannot express.
  • The pricing lives in an ERP or a bespoke system that has to be queried live.
  • The rendering is brand-critical, and "looks like a demo" is not acceptable. SaaS configurators standardise their look; that is how they scale.
  • You need it embedded in an existing application rather than in a hosted iframe.
  • The 3D has a second life: the same optimised model in AR, in your sales deck, in a trade show display.
  • The volume is high enough that a per-order platform fee outgrows a one-off build.

If two or fewer of those apply to you, I will tell you to go and evaluate the SaaS options, and I would rather do that on a free call than four weeks into a project.

What a 3D product configurator costs

Cost tracks four things and only one of them is the 3D:

  1. Model preparation: how many products, in what condition the source files arrive, and whether the product needs to be modelled from scratch. Usable CAD is a discount. Photographs and a tape measure are not.
  2. Number and type of options: see the four kinds above. Ten colours is one afternoon. Ten colours across four component swaps with rules between them is a fortnight.
  3. Integration depth: a standalone page you link to from an email is one project. A configurator that authenticates, reads live pricing from your ERP, writes a configured line item into your cart, and emails a spec sheet to your sales team is another.
  4. Who owns the content afterwards: an admin panel where your team adds a new fabric without calling me is a real feature with a real cost. Sometimes it is the most valuable part of the build.

The things that reliably blow budgets: source files that turn out not to exist, option rules that are still being decided while the UI is built, and "can it also do X" arriving after the model is optimised. Two of those three are fixable before a line of code is written, which is why I quote from a spec rather than from a phone call.

How long it takes

The rhythm is consistent even when the scale isn't. Model preparation and option-rule definition run in parallel at the start; the interface is quick once both are settled; the last stretch is always device testing, because a scene that runs at 60 fps on a development machine can be unusable on a three-year-old Android.

Two scheduling notes worth planning around. First, the option rules need one person on your side who can make decisions about them: not a committee, and not "we'll confirm the finishes later". Second, budget real time for a mid-range phone. Testing only on the newest hardware is how a configurator ships that half your customers can't use.

Why Three.js and WebGPU, and when it matters

Three.js renders in the browser with no install, no plugin and no app store. That is the whole proposition: a customer clicks a link and the product is there, on a phone, in a browser they already have.

WebGPU is the newer graphics API underneath, and Three.js can target it through its node material system and TSL. It matters for configurators in two specific ways: compute work moves to the GPU, and material authoring becomes composable rather than string-pasted GLSL. It is not a magic performance upgrade, and on a simple product viewer you will not see a difference. Where it earns its keep is scenes with many objects, real-time shadowing and lighting work, or heavy post-processing. I build so that WebGL remains the fallback: WebGPU where it is supported, WebGL where it isn't, the same product either way.

For AR, the honest position is that there is no single path. Android handles glTF through Scene Viewer; iOS wants USDZ for Quick Look; WebXR's immersive-ar session works on Android Chrome and on Vision Pro, but not on iPhone Safari. A configurator that promises "view it in your room" needs two export pipelines, not one, and that is a scope decision to make early rather than discover late. More on that on the WebXR development page.

What goes wrong

Starting from the 3D instead of the rules. The model is the fun part, so it gets made first. Then the option rules arrive and the model has to be rebuilt to support them. Write the rules down first, in a spreadsheet, in plain language. If they can't be written down, they aren't decided.

Shipping every variant in one file. Twelve upholstery textures at 4K, all downloaded whether or not anyone selects them. Load the default, fetch the rest on demand.

Photoreal ambition on a mobile budget. Path-traced renders and a 60 fps mobile configurator are different products. You can offer both (real-time in the browser, a high-quality render on request), but pretending one is the other ends in a scene that stutters on the devices most of your customers use. That trade-off is the subject of the 3D product visualization page.

No fallback. WebGL fails: old drivers, locked-down corporate machines, low-power mode, a browser that blocklists the GPU. The page needs a still image and a sentence, not a black rectangle. The same applies to the configurator's own content. The product name, the options and the price should exist in HTML whether or not the canvas ever renders.

Treating it as a launch instead of a product. New fabrics arrive. Legs get discontinued. If updating the configurator means emailing a developer, it will drift out of date within a year and quietly stop being trusted by the sales team.

Measuring nothing. Which options do people try? Where do they abandon? A configurator generates useful product data and most of them throw it away.

Budget

What it costs to work with me

I don't publish a rate card for configurators, because the honest range is too wide to be useful: the same brief costs very different amounts depending on the state of your source files and how deep the integration goes. What I do instead is quote from a written spec (the option rules, the file inventory, the integration points), and that document is worth having whether or not you hire me.

Schedule

How long it takes

  1. 01

    Scope and option rules

    1–2 weeks

    Write down every option, every constraint between options, and where the price comes from. Audit the source files. This is the phase that decides whether the rest runs to plan.

  2. 02

    Model preparation

    1–3 weeks

    CAD or DCC files retopologised, UV-mapped, PBR materials authored, Draco/Meshopt geometry and KTX2 textures, tested against a load-time budget.

  3. 03

    Configurator build

    2–4 weeks

    Scene, lighting, camera framing, option UI, server-side pricing, and the states nobody demos: loading, unsupported hardware, invalid combinations.

  4. 04

    Integration

    1–3 weeks

    Cart, CMS or ERP hookup, admin editing where it is in scope, analytics on which options people choose.

  5. 05

    Device testing and handover

    1 week

    Mid-range Android and older iPhones, throttled CPU, cold cache. Then documentation and a walkthrough so your team can maintain it.

Phases overlap in practice, and the ranges assume decisions arrive when they are needed. The one that slips most often is the first.

Proof

Work

Client projects I can show publicly are on the services page. Some work sits under NDA — ask on a call and I will say what I can.

F.A.Q

Frequently asked questions

How much does a 3D product configurator cost?

It depends on four things: how many products need preparing and what state the source files are in, how many options there are and whether they interact, how deeply it integrates with your cart or ERP, and whether your team needs to edit it afterwards without a developer. Off-the-shelf configurator software starts at a monthly subscription and is the right answer for standard products. A custom build is a project cost, and it is worth it when the assembly logic, the integration or the brand-critical rendering rule the SaaS options out. I quote from a written spec rather than from a phone call, because the spec is where the cost lives.

How long does it take to build one?

A single product with material and colour options, no deep integration, is measured in weeks. A multi-product configurator with dimensional rules and a live ERP price feed is measured in months. The two things that most often extend a timeline are source files that turn out to be unusable and option rules that are still being decided while the interface is built.

Should I buy configurator software instead of building one?

Often, yes. Zakeke, Expivi, VividWorks, Simplio3D and Vectary all sell hosted configurators with e-commerce plugins and admin panels. If your products are conventional, your catalogue is small enough to configure by hand, you sell through Shopify or WooCommerce, and you need it live this quarter, buy the software. A custom build earns its cost when the assembly logic is too complex for a rule-builder UI, when pricing must be queried live from an ERP, when the rendering is brand-critical, or when it has to be embedded in an existing application rather than a hosted iframe.

What 3D files do you need from us?

Ideally the original CAD or DCC source (STEP, SolidWorks, Blender, 3ds Max) plus material specifications and reference photographs of the real product. CAD is precise but built for manufacturing, so it gets retopologised, UV-mapped and re-authored with PBR materials for the web. If no 3D exists at all, the product can be modelled from photographs and measurements; plan for that as its own phase rather than an afterthought.

Will it work on phones?

It has to, and that constrains the build. The practical limits are download size, GPU memory and thermal throttling rather than raw rendering speed. Texture compression (KTX2/Basis) and geometry compression (Draco or Meshopt) do most of the work; loading only the default variant and fetching others on demand does the rest. I test on mid-range Android with a throttled CPU, because a scene that is smooth on a development machine tells you nothing about the devices your customers hold.

Can customers see the product in AR in their own room?

Yes, but not through one code path. Android handles glTF through Scene Viewer, iOS wants a USDZ file for Quick Look, and the WebXR immersive-ar session runs on Android Chrome and Vision Pro but not on iPhone Safari. That means a second export pipeline and its own testing. It is a reasonable thing to want; it is not a checkbox, and it should be scoped at the start rather than added at the end.

Can it connect to our existing pricing or ERP system?

Yes, and it usually should. Pricing rules almost always already exist somewhere (an ERP, a variant matrix, a spreadsheet), and duplicating them into a configurator creates two sources of truth that drift apart. The configurator sends the chosen configuration to the server, the server prices it and signs the result, and checkout re-validates. Never let the browser be the authority on price.

Can our team add new colours and materials ourselves?

Only if that is built, and it is worth deciding early because it changes the architecture. A configurator whose options are defined in code needs a developer for every new fabric. One whose options come from a CMS or your product database needs an admin UI and a defined content model, which is real work. On products whose range changes seasonally it is usually the highest-value part of the whole project.

What happens if a visitor’s browser cannot run WebGL?

They see a still image of the product and a line of copy, not a blank canvas or a console error. WebGL fails more often than people expect: old drivers, locked-down corporate machines, low-power mode, GPU blocklists. The page content, the option list and the price should exist in HTML regardless, so the page still works as a page even when the 3D never starts.

Tell me what you’re configuring

Send me the product, the options you want customers to change, and where your prices live. If off-the-shelf software is the better answer, I will say so. That call costs you nothing either way.

Get In Touch

Let's talk about your project

Tell me what you're trying to build, big or small. I'll reply personally within 24 hours, usually same day.

I reply personally within 24 hours — usually same day.

Peter Csipkay

Peter Csipkay

Creative Frontend Developer

Let's connect

Three.js developer and creator of threejsresources.com. I scope, build, and ship the work myself — no middlemen, no handoffs.

Based in

Munich, Germany

Testimonials

What Clients Say

Don't just take my word for it — here's what people I've worked with have to say.

Peter is different from other front end developers. He understands design along with the tech stack. He successfully resolved bugs and optimized the webapp quickly. I appreciate his good work ethic. He is very logical and manages to capture ideas perfectly.
AhmedCEODubai, UAE
Amazing work with super fast turn around. I'm thrilled!
RobertFounder, 3D AgencyTampa, Florida
Peter is a great resource. I enjoyed working with him. I will definitely work with him again.
ThomasProduct LeadBerlin, Germany
Was a pleasure to work with. Very reliable and motivated to deliver great work. I can highly recommend him.
SarahMarketing ManagerLondon, UK

Keep reading

Related services

Free tools

Useful before you commission anything