Also big difference makes CubeMap that you use. Some makes it look like shot in studio, others can make it look as standing somewhere outside in iconic scene.
So feel free to experiment with that, it really changes a look a lot.
Another thing, is that in reality, nothing is perfectly clean, so giving some variation to glossmaps, can bring a bit more realistic look to it.
Panel screen, can be made with emissive channel on material, so it will look LED/OLED.
And other very important thing to look at, is a download size. Currently it downloads 24Mb before it is interactive. For commercially successful configurators, this should be way way lower. Ideally around 6Mb for initial load, and async load the rest while user can already interact.
What to do to optimize:
- Your models looks live very high-poly. Reducing it will not reduce the visual quality much. So try to keep it as low as possible while preserving details. Also, remove any triangles that are not seen from the model, like bolts that are somewhere inside, or triangles that are under seat (partly), removing as much as possible also improves your UV for AO and other textures, so you can save on texture space/size. This also improves performance.
- Textures, you have crazy big “loading screen” texture, also some other textures are in question, like AO map for screws for seat? Do you really see those screws anywhere? Some textures are way too large, some can be tiled better.
For real-time web rendering, models should be optimized from high-poly (CADs), to low-poly, similar what used on Console games or PC games. Not as low as mobile platforms though.
Great job so far!