3D Configurator built with Headless E-Commerce System

Hello ThreeJS Community,

We’re thrilled to unveil a project that’s been in the works for quite some time — the Thömus 3D Bike Configurator. It’s a testament to the power of ThreeJS and its capacity to transform digital experiences in the e-commerce domain.

Project Overview: The Thömus 3D Configurator is an innovative tool designed to redefine how cyclists choose and personalize their bikes. Leveraging ThreeJS, we’ve created a real-time, interactive 3D configurator that allows users to customize their Thömus bike from the ground up — selecting frame sizes, colors, components, and accessories with a level of detail and realism previously unseen in the cycling industry.

Technical Highlights:

  • ThreeJS Integration: At the heart of our configurator is ThreeJS, enabling us to render high-fidelity 3D models of bicycles in the browser. Users can interact with these models, experimenting with different configurations and viewing their customizations from any angle.
  • Real-Time Customization: We’ve implemented a dynamic system where each user choice reflects immediately on the 3D model. Whether it’s changing the color, selecting a different wheelset, or adjusting the seating position, the visual feedback is instant.
  • Complex Dependency Handling: One of the challenges we faced was managing the complex dependencies between different bike parts (e.g., certain handlebars only fitting specific frames). We developed a custom solution to ensure that only compatible options are presented, enhancing the user experience and preventing configuration errors.
  • Performance Optimization: To ensure smooth performance across devices, we paid special attention to optimizing our 3D models and ThreeJS scenes. Techniques such as level-of-detail (LOD) models, texture compression, and efficient lighting have been employed.
  • User Engagement and Analytics: We integrated Google Analytics and Customer.io for in-depth user interaction tracking, allowing us to understand how users interact with the configurator and to continuously refine their experience.

Collaboration and Personalization: A unique aspect of our configurator is the ability to create personalized bike models in collaboration with influencers. These models serve as a starting point for fans to customize further, showcasing the flexibility of our configurator to cater to diverse user preferences.

The Result: The Thömus 3D Configurator not only serves as a cutting-edge sales tool but also enhances user engagement, allowing customers to truly connect with their bike before it’s even built. It represents a leap forward in online retail, combining ThreeJS’s powerful rendering capabilities with an intuitive UI/UX design.

Looking Forward: We’re continuously exploring new ways to enhance the configurator, including VR/AR integration for a more immersive customization experience. The feedback from the ThreeJS community would be invaluable as we strive to push the boundaries of what’s possible.

Experience It Yourself: We invite you to experience the Thömus 3D Configurator and share your thoughts, feedback, or suggestions.

Thank you to the ThreeJS community for the inspiration and support that made this project possible. We look forward to engaging with fellow enthusiasts, developers, and creators to explore what we can achieve together in the future.


It looks very nice. Good details of geometries.

The rotating and zooming is a little bit slow on my machine, maybe this is because of the amount of data. I like how changing some parameters (like the color) is a smooth transition, not immediate change.

Most likely very few people will notice some tiny glitches. I think, there is no need to fix them at all:

  • the specular reflection of large flat areas is too blocky
  • the chain does not lay well on the gear
  • sometimes the captions are hard to read
  • some antialiasing might be needed to avoid dashing and flickering of fine details


1 Like

Great work, i really love the integration in the website with selecting a bike model and configuring it from that preset. On some Bikes there is a selection for “matt” or “glänzend”, i do not see a difference between the two selections.

Additionally i foud this issue while trying different configurations:

May I ask how long such a complex configurator takes? Do you work as a team or was the configurator developed by you alone? I myself am working on a configurator with a smaller scope, but it takes a lot of time already:)