An Ai-powered Smart Mirror that gasses up your outfit
Built in 10 days for Fractal Tech demo day, this smart mirror is powered by a Raspberry Pi and uses motion detection to trigger Ai-fueled outfit analysis with weather context and multiple personalities.
Technical Implementation
Hardware: Raspberry Pi 5 (8GB), ARZOPA 16" monitor, Logitech C920 webcam
Frontend: Custom React/Electron app for mirror display
Backend: Node.js/Express server with motion detection and API integrations
AI Integration: OpenAI Vision API for outfit analysis, OpenAI Text-to-Speech API for voice messages, OpenAI for news headline summarization
APIs: WeatherAPI, NewsAPI, and Google Calendar for personalized contextual data
Mechanical: Custom 12"x18" drilled two-way mirror with matching clear back panel, custom foam display window, #4-40 nylon machine bolts and standoffs, and adjustable easel
Core Features
Motion Detection: Server-side frame-by-frame analysis of webcam feed to trigger interactions
Outfit Analysis: Uses weather data and object detection to provide useful outfit recommendations and positive affirmations
AI Personalities: Snow White magic mirror, Snoop Dogg, and apathetic nihilist with unique voices and messages
Smart Display: Real-time weather, calendar events, news headlines, and more
Audio System: Customizable "welcome" messages allow for instantaneous mirror feedback while Ai calls are processing
Project Photos






Development Process
Day 1: Brainstormed project ideas; purchased Raspberry Pi
Day 2: Initial project presentation; configured Raspberry Pi and created a barebones mirror interface webpage and Express server; configured WeatherAPI, able to send data to OpenAI for a basic outfit recommendation
Day 3: Spent all day trying to get my application to work with the existing MagicMirror library (eventually scrapped)
Day 4: Fundamental shift away from MagicMirror library; resumed work on custom React/Electron app; purchased custom acrylic sheets from local plastic shop
Day 5: Created mobile interface with WebRTC integration (eventually scrapped)
Day 6: Fundamental shift away from phone interface; purchased and integrated USB webcam
Day 7: Mock demos + improvements to weather and UI
Day 8: Designed full assembly; purchased easel, foam sheets, video/power cables, and mounting hardware
Day 9: Text-to-speech integration; configure pre-generated audio messages and Ai prompts
Day 10: Full assembly and testing; set up motion detection and triggering messages/interactions
Demo Day: Final polish, code freeze @4:30pm before game night!
Future Development
Mechanical: Use real glass (instead of acrylic) and polish edges and corners; improve foam window cutting process; improve positioning and mounting of the display
AI Enhancements: run LLMs locally; Roboflow computer vision integration; improve prompts and personalities
Audio System: Integrate ElevenLabs (or similar) for text-to-speech improvements; sync interactions to individual voices/personalities
Multi-Device Integration: WebRTC interface has potential for endless interactive experiences
Retail Applications: Personalized smart mirrors tailored to small businesses and personal use