Magic Mirror

Android Smart Dashboard Application

Application Purpose: Magic Mirror transforms Android devices into ambient smart displays. It features real-time Open-Meteo weather forecasts, Nominatim location names, daily ZenQuotes inspiration, local WMO emoji weather icons, motion detection via camera to wake/sleep the screen, and schedule management through Google Sign-In or Outlook ICS Login.

Magic Mirror operates as an always-on display using wake locks and keyguard controls. Location permissions (runtime) allow instant weather and reverse-geocoded city display, while camera access (runtime) enables intelligent motion detection to manage screen power.

Application Name
Icon Magic Mirror
Package Name com.smartmagicmirror.app
Login Options Google Sign-In
Outlook ICS Feed Login
(Isolated Local Storage)
Runtime Permissions GPS Location (Weather/City)
Camera (Motion Detection)
Magic Mirror Dashboard

Purpose of Magic Mirror

Magic Mirror centralizes local weather forecasts, city location names, daily quotes, system time, tasks, local photo backdrops, and agendas into one smart display. Right after installation, the app requests location permissions to load Open-Meteo weather and reverse-geocode the city name via OpenStreetMap Nominatim. Weather visualizers render instantly using native Unicode weather emojis mapped locally to WMO weather codes. The camera is utilized strictly for local motion detection to wake the screen when a user approaches and put it to sleep when empty.

Immediate Weather & Location

Upon installation (before login), Magic Mirror requests runtime location permissions (FINE & COARSE) to query Open-Meteo for forecasts and Nominatim to render the user's current city and country name beneath the weather.

Smart Motion Detection

Uses the camera to detect face presence or motion in front of the display to automatically wake or sleep the screen, preserving energy and display life.

Daily ZenQuotes & Native Icons

Displays an inspiring quote fetched once per day from ZenQuotes.io (cached locally until midnight) alongside lightweight, zero-dependency WMO emoji weather icons.

Magic Mirror Screenshots

The following screenshots demonstrate the Magic Mirror Android application interface in action.

How Magic Mirror Works

Magic Mirror provides seamless dashboard setups whether you log in with Google or Outlook ICS.

1

Install & Weather

Install Magic Mirror and grant location permission on startup to display Open-Meteo weather and Nominatim location names immediately.

2

Choose Account Login

Sign in via Google Sign-In or enter your name and feed URL using Outlook ICS Login.

3

Grant Permissions

Grant runtime camera permission for motion detection screen wake/sleep controls.

4

Full Control & Deletion

Customize display names or delete your account at any time to instantly erase all stored local data.

Independent Account Logins (Google vs. Outlook ICS)

Google Sign-In and Outlook ICS are treated as completely independent account paths with isolated local data storage.

Google Sign-In Account

https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/tasks

Authenticates via Google OAuth. Auto-populates display name from basic profile, renders read-only Google Calendar agendas, and syncs tasks bi-directionally with Google Tasks.

Outlook ICS Account

Connects via user-provided iCalendar feed URL. Users enter their preferred display name on the ICS login screen. Agenda events are parsed locally from the ICS link, while task management functions identically to Google accounts.

Isolated Data & Data Deletion

Data from one login is never mixed with or accessible by the other account path. Deleting an account within the app immediately erases all associated local data and settings from the device.

Display Name Customization

Regardless of whether you sign in with Google or Outlook ICS, users have full ability to change their on-screen display greeting name directly within the app settings.

Data Protection & Google Limited Use Compliance

All user data received from Google APIs is processed locally on your device in real-time. Magic Mirror does not store, profile, transmit, or sell your calendar entries, tasks, location data, camera feeds, or account credentials to remote servers.

Magic Mirror's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

Application Permissions Requested

Magic Mirror explicitly limits permissions to essential system and feature operations. Only dangerous runtime permissions trigger user prompts.

Permission Grant Type Purpose / Justification
INTERNET Automatic (Normal) Executes outward requests for Open-Meteo weather, Nominatim geocoding, daily ZenQuotes, Google OAuth, Google Tasks sync, and ICS calendar downloads.
CAMERA Runtime Dialog Enables real-time local motion detection and face presence recognition to automatically wake or sleep the display. Video/images are processed locally in real-time and never saved or transmitted.
ACCESS_FINE_LOCATION Runtime Dialog Retrieves precise GPS coordinates to fetch accurate local weather forecasts from Open-Meteo and location names from Nominatim.
ACCESS_COARSE_LOCATION Runtime Dialog Serves as fallback network-based location detection for Open-Meteo weather and Nominatim location names when GPS is disabled.
WAKE_LOCK Automatic (Normal) Keeps the screen active continuously so the device can function reliably as an ambient smart mirror dashboard.
DISABLE_KEYGUARD Automatic (Normal) Allows the smart mirror dashboard to render over the Android lock screen for continuous visibility.

Privacy & External Services

Magic Mirror relies on lightweight, privacy-conscious services for weather, geocoding, and quotes.

Camera feed is strictly used on-device for motion detection (never stored/sent).
Location requested at startup for Open-Meteo forecasts & Nominatim city labels.
Quotes fetched from ZenQuotes.io once daily and cached locally until midnight.
Weather visual icons use zero external image requests (hardcoded native Unicode emojis).
Supports independent Google and Outlook ICS logins.
Tasks can be created and modified in both account types.
Instant account deletion erases all local session data.
Does not upload or sell personal data to third parties.
Does not display third-party advertisements.

Magic Mirror Features

Magic Mirror combines useful daily information into a customizable ambient display.

🕒 Clock & Date

Always-visible digital clock, current date, and custom visual formatting.

📅 Calendar Agendas

Render read-only Google Calendar schedules or parsed Outlook ICS feeds.

📝 Task Management

Create, edit, and mark tasks complete across both Google Tasks sync and Outlook ICS sessions.

🌤 Startup Weather & City Name

Real-time Open-Meteo weather paired with OpenStreetMap Nominatim reverse geocoding for city display.

💬 Daily Inspiration & Native Emoji

Daily quote fetched via ZenQuotes (cached until midnight) and WMO weather codes mapped to native Unicode emojis.

👁️ Smart Motion Detection

Automated screen wake/sleep controls triggered by camera presence detection.

Frequently Asked Questions

Where does the weather and location name data come from?

Weather data is provided for free by Open-Meteo. The city and country name displayed beneath the weather is reverse-geocoded from your GPS coordinates using OpenStreetMap's Nominatim service. Weather icons are native Unicode emoji characters mapped locally on-device based on WMO weather code standards.

How often does the app fetch daily quotes?

Daily quotes are fetched from the ZenQuotes API (zenquotes.io/api/today) exactly once per day and cached locally on your device until midnight to minimize network calls.

Why does the app request Camera permission?

Camera permission is used exclusively for local motion detection and face presence recognition. When enabled, it allows Magic Mirror to automatically wake the display when a user approaches and put the screen to sleep when no one is present. Camera frames are processed ephemerally on-device and are never recorded, saved, or transmitted.

Why are some permissions granted automatically without a prompt?

Under Android guidelines, normal permissions such as INTERNET, WAKE_LOCK, and DISABLE_KEYGUARD are granted automatically by the OS at installation because they do not access sensitive personal user data. Only dangerous permissions (such as CAMERA and LOCATION) prompt runtime dialogs.

What happens when I delete my account in the app?

When you choose to delete your account inside Magic Mirror, all locally cached data—including calendar caches, task lists, display names, daily quote caches, and settings—is permanently erased from your device.