After seeing an awesome smart mirror project on Medium, I built my own for less than half the cost, along with a detailed 24 hour forecast visualization.
Minimal interface and interaction
My primary objective for this project was to keep from reaching for my phone first thing in the morning. I like to know the weather for the day and top headlines, but when I reach for my phone, I end up sucked in to other apps I had no intention of opening.
As a result, the mirror is intentionally limited in interaction. It alternates between showing headlines and the 24 hour forecast.
What's under the hood
I made the smart mirror for use at my home. Because I will use it in the dark, I shied away from a traditional backlit LCD panel. Instead I opted for a tablet with an OLED display. Even in the dark, the boundaries of the screen aren't visible, keeping the illusion of magic behind the whole mirror.
Thoughtful transitions and visualization
I really enjoy when interfaces have a physicality to their motion. All of the transitions, including minutes on the clock, date, and temperature readings roll digit by digit, like an odometer in a car.
The weather visualization was thought through with extreme care. Temperature for the day is graphed out with a line across the next 24 hours. All temperatures shown are "feels like" temperatures, which helps you know what to expect for the day. Precipitation is shown with a blue area graph. The Y axis of the graph represents a combination of chance and intensity of precipitation at a given time.
The basic internal layout
The tablet is hidden behind a one-way mirror. A layer of cardboard supports the tablet, and a cord is channeled down to the bottom of the frame.
Advantages of using a tablet
As a bonus, because the tablet has a battery, the mirror is portable and last ten hours, which outlasts most power outages you may encounter.
It also has a motion sensor, so in an application like a bathroom mirror on a hinge, you can give the mirror a timeout and have it only display information when the door is opened, then timing out after several minutes.