With e-commerce, we can now buy anything from laptops to flowers to furniture with the click of a button sitting at home. However, for some products, a set of two-dimensional images is not enough to fully understand the product and how it would fit in. We believe that furniture is definitely one of the primary industries for which two-dimensional images on the internet cannot hold up to real life experiences. However, we believe that in this specific case, even real life shopping in a store is not ideal. Furniture is often bought taking into consideration the current characteristics of the room it will be placed in. We present a novel way to shop for furniture: an intelligent furniture recommendation system that uses ML to suggest optimal designs and an immersive VR experience to view these designs.

What it does

Emiway currently asks users for the type of room they are shopping for and their existing furniture specifications. Using this information, a deep learning model predicts a set of items that would go well with the room. Then, users can try different items in the familiar setting of their room via virtual reality experiences.

How we built it


The web-app is built using Node and Angular with particular care taken over its experience while viewing through a VR headset.

VR experience

We have used Wayfair's API in order to source a large collection of 3d models ranging from rugs to chairs to tables to bookshelves. WebVR has been used to design rooms and incorporate Wayfair's 3D models.

Machine learning model

To determine the set of optimal designs to be recommended, we used a feed-forward neural network that takes into account various factors of the room such as its color and its type and predicts a distribution over available furniture. To train and deploy the model, we used Google Cloud Platform's deep learning virtual machine and its computation engine. Code was written in Python using TensorFlow and Keras.

Challenges we ran into

VR experience

  • Placing models dynamically into the VR space, and switching in and out between non-VR modes and VR modes were the major challenges.

Machine learning model

From an ML perspective, a recommender system requires a large amount of data to understand the complexities and subtleties of the system. Given that no such datasets exist for the furniture real, we were on our own. We used principles from interior design theory and statistics to build our very own (albeit small) dataset using WayFair's API models.

Accomplishments that we're proud of

  • As none of us had never used WebVR before, we are very proud of developing our first app on it and how it turned out. Furthermore, we are proud of how seamlessly the backend and the frontend of the application came together via the use of Google Cloud Platform and Heruko.

What we learned

  • VR can create immersive life-like experiences and is the future for retail in big industries, etc. as lets you explore what isn't to determine if it will be.
  • Lots of skills
  • In general, many very interesting ideas.

What's next for Emiway

We plan to add more customization for the user input regarding their room and train larger and more complex recommender systems. Furthermore, we plan to have a simple UI through which users can broadly construct their room's characteristics. We also plan to incorporate more and more furniture models. Lastly, we are looking forward to improve the overall quality of the VR experience.

Share this project: