AI Smart Mirror

Completed: 2025-08-30

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

Smart Mirror setup and hardware componentsSmart Mirror interface and displaySmart Mirror final assembly and testingSmart Mirror hardware integrationSmart Mirror construction and assemblySmart Mirror completed project showcase

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