Inspiration

Hardware is something we're interested in. We wanted to come to Cal Hacks with a project that uses hardware in any way, shape, or form. Looking around, we looked for an idea for a project that people will use every day. With this in mind, house style items would fit this category. Everyone has a mirror, whether in their bathroom, their room, or in their closet. We've seen smart mirrors on the market that are touch screen, but who likes to smudge their mirror with all their fingerprints? Especially if the use case for a mirror is to get ready for the day with makeup or product. You don't want to get that all over the mirror. With this in mind, we opted for a gestured control smart mirror with an AI assistant so you can have an all in one solution on something you'll wake up to everyday.

What it does

This mirror will display events synced with your google calendar, the top headlines from all news outlets, the time, weather, and using the video feed, you can talk to the AI assistant and use hand gestures to interact with the mirror.

How we built it

Starting with the hardware side, we had to decide how we were going to run this. A small computer would be best that can fit on the back of the frame, so the Raspberry Pi would be the perfect candidate. We needed a display and a camera, so we brought a monitor and bought a webcam. Now we have the basic hardware needed for Mira. Instead of going for a frame of wood, we decided that a 3D printed frame would make more sense as then it could be a DIY project. Luckily, the last piece of this puzzle can also be bought somewhere like Home Depot. Unfortunately for us, we couldn't get a 2-way mirror at the Home Depot here, so instead we had to improvise and purchased acrylic film and lexan polycarbonate. We applied the acrylic film to the polycarbonate to emulate a mirror. The display behind the polycarbonate, and the user facing the side with the film that helps act as a mirror while still allowing the display to pass through. Inserting all of the parts into the 3D frame was as simple as sliding the panel in and mounting the display behind. The camera can sit above the monitor and the Pi can be enclosed in a little case and taped somewhere inside.

Challenges we ran into

A big challenge we ran into was on the hardware side. We couldn't get two way mirror anywhere around the venue. After talking with many employees, they pointed us to a plastic store 30 minutes away. There, we were able to secure the polycarbonate and the acrylic film. Due to budget, we couldn't get extra film if we messed up the application. We learned how to apply it with YT vids, and luckily, we were able to do it with minimal creases. Another challenge would be adding sensors to the Pi. We wanted to add 2 sensors. The first, being a sensor to detect if someone is in front of the mirror. With this, we can have it set to where if no one is in front of the mirror for 30 seconds, fade the display to black.

Accomplishments that we're proud of

What we learned

What's next for Mira

We have big plans for Mira. Adding a navigation and fashion feature is on the top. For navigation, we want to add a widget that in initial setup, just the area around you in a ~20 mile radius. Once you connect your google maps, it will use the location history and predict where you go per day, at certain times. It will display the current ETA and traffic. Using the AI assistant, you can also ask the ETA and traffic to go to/from a destination. For fashion, we'd like to implement Nano Banana by first having the user upload an image of them standing in a google drive. Then, they can upload photos of their wardrobe (piece by piece of course) and have Nano Banana generate an image of you wearing clothes from your wardrobe based off your outfit request. To further expand on the fashion side, we'd also like to implement an image scraper using a search engine to find clothes from popular clothing brands the user would like to search with (e.g. Uniqlo, Stussy, PULL&BEAR, etc.) and have Nano Banana generate an outfit using those clothes.

Share this project:

Updates