Our solution is a configurator built on top of Ionic Framework and Angular.
We used layers and Javascript's canvas to change materials inside an ambiance, thanks to the transparency in each layer, we knew what layer the user clicked and therefore, showed the options to change for that same layer.
The backend was built on top of Symfony, which consisted of a secured backoffice to edit their app layers, activate and deactivate, rename content that was then retrieved through an API.
The app downloaded the images you needed for the selected ambiance into the device so it could be used offline.