Exercise 65 – How do you design a home automation system?

Post and review answers and feedback to answers in the comments section of this post.

See also:

How to answer a product design question in a product manager job interview

List of product design questions for product manager job interviews

Leave a Reply

newest oldest most voted
Notify of

What do you mean by a home automation system? Is this a home security system? Smart home system that helps control the consumption of your utilities – water, electricity, gas etc? Can you provide a little more clarity?


Let’s say it’s a system that enables you to have a smart home. It can control lighting, heating, electricity, security, air conditioning, etc


Hi there – really liked the solution.
Loved how you asked clarifying questions and defined the scope of the product first. You showed your framework for designing systems and then started outlining pain points that you need to solve. You then went on to describe features, prioritization framework – which is all good.
I had trouble understanding feature #2 – What do you mean by that?
The only things I would add are:
1. The capability to add customer goals – What is an acceptable efficiency limit for a control/device? The user should be able to say – this is my current electricity usage and I would like to lower it by 20% or keep it as x utilization per month. So – the capability to set threshholds by a user would be good upfront.
2. The other thing could be – the machine could do a quick assessment of utility consumption and then recommend where efficiencies can be easily achieved or where the customer needs to get a new device/change something manually.
3. You could also gamify the experience by showing how people like me (the customer) are saving money and how I am doing better/worse than my neighbors?

I also had trouble understanding the prioritization framework as WordPress does not allow you to show tables. But overall great answer!


First I would ask what “Home Automation system” is.

Interviewer: Let’s say it’s a system that enables you to have a smart home. It can control lighting, heating, electricity, security, air conditioning, et

Assuming I’m interviewing at Google.

What are Google’s goals with this product?
Interviewer – We have just merged Nest into Alphabet and we are planning to go big into the smart home market.

Are you launching a lot of smart home products?

Interviewer – At this time we have only the Nest products, but we may in the future.

I’m going to assume that this is a software system that enables you control a variety of smart home devices.

Interviewer – OK, go ahead.

Any other goals for Google?

Interviewer: We would like to be the brains in the smart home.

So market share would be the main goal?
Interviewer: Yes, you could say that

Customer: Customer who has a smart home with a variety of smart devices from various vendors.

In designing any system I would follow the following overarching principles.

1. Easy to explain.

2. Easy to use, i.e navigate.

3. Solves a major pain point

4. Fails gracefully. Good feedback to the user.

S/w will reside on an Android and iOS platform – smartphone/tablet

Pain points:

1. Easy onboarding of devices – i.e. easy to add devices to the home network and control via software. Particularly devices with a limited UI.

2. Universal/adaptable/dynamic UI for the software

3. Vendor agnostic application

4. Detect and understand failures of device and easy feedback to the user

5. Remote control of device and monitoring

6. Measure efficiency and other metrics with the devices.

7. S/w at the devices and overall network is secure. Privacy – prevents leakage of information.

8. Add and subtract users to the system as needed and give full partial access of devices.

9. Integration with other Google products

10. Customer support


1. Simple onboarding process in which a combination of BlueTooth and WiFi to add devices to the home network.

2. Based on ID of the device either with a camera or other sensor download the UI specifics for control and automatically present device on an indoor map of the home as well as use appropriate UI to control the device.

3. As long as the device can communicate with the smart device via BlueTooth using a standard protocol the specifications of the device is downloaded automatically based on the ID, irrespective of the vendor.

4. Periodically ping the devices to make sure that the device functionality is within acceptable operational limits. If not, indicate to user with an optional visual as well as an optional audio indicator depending on the severity of the problem.

5. Remote control support as long as home network is up. IP based connectivity. Same functionality irrespective of the location of the controlling device.

6. Ability monitor power and other metrics as needed.

7. Authentication to allow usage of control, as well as protect it with standard industrial security to make sure all messages are encrypted.

8. Abiltity to add devices either their phone number. Users will be asked to download the control s/w if needed and given control or appropriate devices once authenticated.

9. Google search enabled, automatic backing up on Google Cloud etc.

10. Customer feedback facility and online as well as telephonic and Google Hangout video support.

Prioritization: Based on a ranking in the Customer, Technical, Business and Risk domains. In real-life life it would be a prioritization matrix. (High – H, Medium – M, Low – L)

1. H, M, H, L

2. H, H, M, H – High risk as more vendors could lead to more complexity of the software and confusing

3. M, M, M, H

4. H, H, L, M

5. H, H, M, M

6. L, H, L, H

7, H, M, H, L

8. H, M, L, M

9. H, H, H, L

10. H, M, H, L

Based on these scores, and the overall goal which is to have market share, I would implement as v1 – 1, 3, 5. 7, 9 and 10.

I would measure the following metrics:

1. # of downloads
2. # of devices controlled/ household.
3. Error rate. – unknown devices, wrong UI displayed etc
4. Types of devices
5. # of Vendors
6. Customer feedback.
7. Number of commands issued


2 . This feature allows the system to automatically detect the device and download the correct UI and feature list for that device


I would also add a YouTube video link that is accessed via the application that explains the application and its usage step by step. I would rate this H L H L. This would be implemented.