AE
AE
TH
TH
ER®
ER®
KEEPING A 3D CONFIGURATOR UNDER 2 SECONDS: THE LOEVEN CASE
A real-time 3D furniture configurator and a fast-loading site sound like opposites. How Loeven Studio got both and why most WebGL product tools never do.
Author
Kenji Watanabe
Date
Read time
6 Min Read
Essay #
ESSAY #004

The instinct with any 3D product configurator is to load everything up front — every finish, every angle, every material map so the interaction feels instant once it starts. That instinct is also why most of these tools take eight, ten, sometimes fifteen seconds to become usable. Shoppers don't wait that long. They leave before the "impressive" part ever loads.
Loeven's configurator needed to let buyers rotate a piece and swap finishes in real time, without asking visitors to sit through a loading spinner first. The fix wasn't a smarter loading spinner — it was refusing to load most of it at all, at first.
Only the default finish and a low-poly rotation model load on entry. Higher- detail textures and alternate finishes stream in only once a visitor actually starts interacting — a swap request triggers its own small load, not a page-wide one. The rotation itself runs on a lightweight model that gets swapped for a higher-fidelity one a moment later, invisibly, once the visitor has already started engaging.
None of this is visible to a shopper. What's visible is a page that feels instant, and a configurator that feels rich — because the two problems were solved separately instead of being treated as one trade-off to compromise on.
The instinct with any 3D product configurator is to load everything up front — every finish, every angle, every material map so the interaction feels instant once it starts. That instinct is also why most of these tools take eight, ten, sometimes fifteen seconds to become usable. Shoppers don't wait that long. They leave before the "impressive" part ever loads.
Loeven's configurator needed to let buyers rotate a piece and swap finishes in real time, without asking visitors to sit through a loading spinner first. The fix wasn't a smarter loading spinner — it was refusing to load most of it at all, at first.
Only the default finish and a low-poly rotation model load on entry. Higher- detail textures and alternate finishes stream in only once a visitor actually starts interacting — a swap request triggers its own small load, not a page-wide one. The rotation itself runs on a lightweight model that gets swapped for a higher-fidelity one a moment later, invisibly, once the visitor has already started engaging.
None of this is visible to a shopper. What's visible is a page that feels instant, and a configurator that feels rich — because the two problems were solved separately instead of being treated as one trade-off to compromise on.
