smart home platform3 min read

Building a smart home platform from scratch - lessons learned

I developed a smart home platform based on web technologies as my Bachelor’s thesis in the Software engineering program at the Czech Technical University in Prague

My Role: Sole UX/UI Designer, Software Developer
Project Duration: Oct 2019 - Jun 2020
Building a smart home platform from scratch - lessons learned article cover image

Why did I decide to design a Smart Home Platform from scratch?

Back in 2018, I was interested in smart home tech, such as lighting and sensors, controlled by an app and a voice assistant. I had a few devices that could be managed through an app, but they weren't all compatible with my preferred voice assistant, Google Assistant, at the time. I decided to build a Smart Home Platform myself to learn more about how smart home devices work together. Conveniently it was about time to choose a topic for my Bachelor's thesis. My program was called Web engineering, so I decided to design and build the platform based on web technologies.

The final product

Over a couple of months, I designed the app, developed the device setup flow, implemented the frontend and backend, deployed the platform on a Raspberry Pi (acting as a home hub), designed and built the electronics for the controllers, designed and 3D printed plastic enclosures for the controllers, tested and used the platform myself and tested the UX with a couple of potential users. Smart home app - final implemented design

Smart home app - final implemented design
Smart home app - final implemented design

The Lessons

  • Users do not remember information from the onboarding screens (in-context information)
  • The chosen analogy of devices, attachments, and pins was not well understood by users (complex terminology)
  • If there's another step in the process that should be done before the current one, the user should not have to abandon the already entered information and should be able to complete other steps they might have forgotten in context (e.g., in a modal)
  • Wi-Fi connection can be tricky, so the devices should have a way to signal state even when not connected to Wi-Fi yet (e.g., an LED)
  • To be a viable option, a smart home platform has to work well with the existing ecosystems (HomeKit, Google Home, etc.). Without the integrations, the capabilities were very limited

What worked well

  • The platform actually worked. I was able to set up all the devices through the web app, turn on/off lights, check the temperature and humidity, and check if I left the door open
  • I left it running and used it for a couple of months before I moved out, and the platform was generally stable
  • The web app (PWA) was fast and, when installed on the home screen, providing an app-like experience
  • With the responsive layout, I got tablet/desktop access for free

And finally, some screenshots

Initial mockups

Smart home app mockups
Smart home app mockups

Lo-fi prototype

Final implemented design

Smart home app final implemented design
Smart home app final implemented design

And the hardware

Smart home controller box CAD design
Smart home controller box CAD design
Smart home controller electronics in a box
Smart home controller electronics in a box

Read more