Skip to main content

Core application for MirrorDash

Project description

🪞 MirrorDash

Python Version License: PolyForm_NC_1.0.0 Platform PyPI version Downloads

The ambient, zero-friction smart display designed to bring your home to life—silently, elegantly, and beautifully.

Imagine a morning routine without screens, clutter, or notification fatigue. You walk into your bathroom or hallway, look in the mirror, and see the time, today's weather forecast, and your upcoming calendar appointments floating gently on the glass. No buttons to press, no voice assistants to argue with, and no touchscreen smudges.

That is MirrorDash—a professional-grade, ambient smart display that turns any two-way mirror into a quiet, glanceable dashboard.


MirrorDash Ambient Smart Display Preview


✨ Why MirrorDash is Different

While smart mirrors and screens have existed for years, they are notoriously difficult to set up, maintain, and develop for. MirrorDash is built from the ground up to solve these pain points, offering a premium experience that sets it apart from traditional platforms:

  • 🛡️ True "Set and Forget" Reliability: Standard DIY smart displays frequently corrupt their SD cards due to constant writing of logs and cache files. MirrorDash is built to run on write-restricted, read-only operating systems (OverlayFS). Dynamic configurations are isolated to a protected, persistent partition, ensuring your display runs continuously for years without filesystem degradation or SD card wear.
  • 📱 No-Code Phone Configuration: Most open-source smart mirror platforms require you to edit complicated configuration files using terminal commands or SSH. MirrorDash provides an elegant, local Admin Dashboard that lets you change settings, toggle widgets, enter API keys, and manage backups directly from your phone.
  • ⚡ Ultra-Lightweight, Zero-Build Frontend: Unlike modern web setups that rely on heavy frameworks (like React or Vue) and bloat the CPU, MirrorDash uses pure, native HTML, CSS, and JavaScript connected via direct WebSockets. By eliminating heavy build steps and runtimes, the interface updates instantly with near-zero CPU and memory overhead on the Raspberry Pi.
  • 🧩 Decoupled Widget Ecosystem: Instead of a massive, messy codebase where one broken module crashes the entire system, MirrorDash treats every widget as a fully isolated, standard Python package. Developers can build, test, and distribute widgets independently using the MirrorDash SDK without touching the core system.

MirrorDash Ambient Smart Display Preview


⚙️ Technical Deep-Dive (For Developers)

Under the hood, MirrorDash is a production-grade IoT platform optimized for the Raspberry Pi running in full-screen kiosk mode.

  • 🐍 Backend: FastAPI (Python 3.14) driving a high-performance, asynchronous event loop. Communication with the frontend is handled via real-time WebSockets with local frame caching for instant layout rendering on client connect.
  • 🎨 Frontend & Styling: Zero-framework vanilla HTML5, CSS Grid/Flexbox, and native JavaScript.
  • ✨ Live Design Explorer: Served at http://localhost:8000/design when running the application. It acts as a live interactive kitchen-sink containing styling tokens, typography examples, and copy-pasteable layout/component markups matching the Ethereal Design System.
  • 🔒 OS Hardening: Configured to run on a read-only OverlayFS root filesystem (Debian 13 Trixie). Dynamic configs and data are written exclusively to a persistent user partition, preventing SD card corruption from frequent write cycles.
  • 🏗️ Decoupled Architecture: Widgets are fully isolated, pip-installable Python packages discovered at runtime via metadata entry points.

🚀 Build for MirrorDash (Pushing Community Modules)

Do you have a smart device, a custom API, or a unique idea you want to show on your mirror? MirrorDash is built for developers. We invite you to build and share custom widgets with the community!

Our standalone MirrorDash SDK makes bootstrapping a new widget incredibly easy:

  1. 🛠️ Scaffold a new module in seconds:
    uvx mirrordash-cli create-module mirrordash-my-widget --description "My custom display widget"
    
  2. 💻 Develop with standard tools: Write simple Python logic to fetch data, and structure your layout with a clean Jinja2 HTML template and vanilla CSS.
  3. 📦 Share it: Packages are standard Python distributions. You can publish your module to PyPI, host it on GitHub, or install it locally on your mirror.

Whether you want to show transit schedules, air quality indexes, plant soil moisture, or custom stock charts, the community is always looking for new modules. Check out mirrordash-sdk to get started!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mirrordash-0.3.1.tar.gz (7.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mirrordash-0.3.1-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file mirrordash-0.3.1.tar.gz.

File metadata

  • Download URL: mirrordash-0.3.1.tar.gz
  • Upload date:
  • Size: 7.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mirrordash-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a571312197e1b99463d23774675e992405615cd72af0fa096509c5a25348cec3
MD5 fba9d54378b928bd4c909634b79ffd65
BLAKE2b-256 f807405b1ca7686c4bb3eb9dde5814ab5f5aaec60c3838d60793e6dd66dff46b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mirrordash-0.3.1.tar.gz:

Publisher: publish.yml on Menturan/MirrorDash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mirrordash-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: mirrordash-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mirrordash-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 24fa89a784a31beb3a12094044989e10c5484df6c84e4dcce3d6dd850b8cc537
MD5 af80ed65ea8df0b185c94c46c3ca2419
BLAKE2b-256 bfa523ebe1f15fe0ed0f1d3cb7641e83c93057387a4b0d4e13535a633f632ea1

See more details on using hashes here.

Provenance

The following attestation bundles were made for mirrordash-0.3.1-py3-none-any.whl:

Publisher: publish.yml on Menturan/MirrorDash

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page