Smart Mirror 🪞

DIY Google Assistant Smart Mirror with Facial Recognition

Demo video on YouTube


The goal of this project was to develop a system that combines open-source tools for a customizable interface and adds a security layer for sensitive data access. The Smart Mirror features Facial Recognition to identify users in front of the device and allows customization of content with voice control. This product ensures privacy by performing facial recognition locally and using a local wake word engine to activate the assistant.

Through the integration with Google Cloud Platform, the mirror quickly authenticates users and displays their personalized interface. The hardware chosen for this project offers a competitive price compared to similar products, and the software is designed to be compatible with various devices to reduce overall costs. The project stands out for its ability to process voice commands, control screen and volume settings, and provide fast responses via its speaker system.

In summary, the Smart Mirror is an innovative and cost-effective solution that offers enhanced security and personalized user experiences.

Source Control

This project contains 6 components split amongst two devices, Jetson Nano 2GB and Raspberry Pi 4. The project root, Smart Mirror, provides a high level overview of the system.

Component Purpose Device
face_recog Facial Recognition event publisher Jetson Nano
firebase-smarthome Firebase Configuration and Sync Node Raspberry Pi
MagicMirror User Interface Raspberry Pi
MMM-DeviceControl Smart TV - Volume & Display control Raspberry Pi
MMM-GoogleAssistant Embedded Assistant api v2 Raspberry Pi
MMM-ProfileSwitcher Google Pub/Sub subscriber for events Raspberry Pi


For CSS 532, Internet of Things, a research component was required to justify the design, compare to other products in the market, and analyze the performance of our system.

View Whitepaper