The source code for this blog is available on GitHub.

Blog.

Building a Smart Mirror That Links to Your Digital Life

Cover Image for Building a Smart Mirror That Links to Your Digital Life
Unknown Author
Unknown Author

Building a Smart Mirror That Links to Your Digital Life

When I first started building my Magic Mirror, I wasn’t interested in just another tech novelty that displays the weather and a clock. I wanted to create something more meaningful—a mirror that understands its user, adapts to their preferences, and becomes an extension of their digital identity.

The Vision: Seamless Integration with Your Digital World

What makes this Magic Mirror different is its deep integration with the services you already use. Whether you're a Google Calendar power user, a Spotify addict, or someone who wants your mirror to know your preferred commute route—this mirror isn't just smart. It’s personal.

The Core: User Linking and Personalization

At the heart of the system is a user-mirror linking system. On first boot, the mirror displays a QR code that the user scans to sign into their account on the web app. From that moment on, the mirror becomes uniquely associated with that user. This one-time link opens up a whole world of customization:

  • 📅 Google Calendar integration pulls in events and intelligently displays the day ahead
  • 🎧 Spotify integration shows the currently playing track, album art, and even live playback progress
  • 📫 Email modules (Google & Outlook) rotate through unread messages, keeping you informed without overwhelm
  • 🧠 Personalization settings from the dashboard define what modules appear, how they behave, and when they display

A Dashboard Built for People, Not Just Developers

While most smart mirrors require command-line edits and JSON configs, this mirror has a beautiful web dashboard where users can:

  • Link and unlink accounts
  • Set preferred email providers
  • Define route-to-work settings and arrival time goals
  • Choose between temperature units, 12/24h time, km/mi distance, and more

It’s everything you'd expect from a premium product experience.

Built on Real Tech — Not Just Hype

This isn't a no-code gimmick. The mirror runs on MagicMirror OS with custom Node helpers, while the dashboard is built using Next.js with Firebase Auth, API routes, and secure OAuth flows. Modules on the mirror call the backend periodically using mirror-specific IDs for secure, scoped data fetching.

What Makes This Different

Most smart mirrors are static, display-only panels. Mine is a living interface:

  • It knows who you are
  • It changes what it shows based on your data
  • It gives you control over how it behaves

That’s what a truly smart mirror should be: reflective of your digital life, not just your face.


In the coming posts, I’ll be diving into how each piece was built—from Spotify integration and Google Calendar linking, to how I designed the module layouts and personalization engine.

This is just the beginning. ✨