Core application for MirrorDash
Project description
🪞 MirrorDash
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.
✨ 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.
⚙️ 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: Zero-framework vanilla HTML5, CSS Grid/Flexbox, and native JavaScript. No React, Vue, or heavy build steps—meaning near-zero CPU and memory footprint on the Pi.
- 🔒 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:
- 🛠️ Scaffold a new module in seconds:
uvx mirrordash-cli create-module mirrordash-my-widget --description "My custom display widget"
- 💻 Develop with standard tools: Write simple Python logic to fetch data, and structure your layout with a clean Jinja2 HTML template and vanilla CSS.
- 📦 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mirrordash-0.2.4.tar.gz.
File metadata
- Download URL: mirrordash-0.2.4.tar.gz
- Upload date:
- Size: 7.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cce3ac7b9bd70f5885a6877eb39218563e9df032bfee3ff7091b96f2d932917
|
|
| MD5 |
7ee8f6fc9d914578011ae8cfaa4d370d
|
|
| BLAKE2b-256 |
8cea7604174338e031350c071e6a3e09db4c53e3d078d4074cfcce1c258476cc
|
Provenance
The following attestation bundles were made for mirrordash-0.2.4.tar.gz:
Publisher:
publish.yml on Menturan/MirrorDash
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mirrordash-0.2.4.tar.gz -
Subject digest:
1cce3ac7b9bd70f5885a6877eb39218563e9df032bfee3ff7091b96f2d932917 - Sigstore transparency entry: 1823681162
- Sigstore integration time:
-
Permalink:
Menturan/MirrorDash@48320daa17c29e077e6fcce00f949892bd705df0 -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/Menturan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48320daa17c29e077e6fcce00f949892bd705df0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mirrordash-0.2.4-py3-none-any.whl.
File metadata
- Download URL: mirrordash-0.2.4-py3-none-any.whl
- Upload date:
- Size: 802.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06e744af9a11c4b818e9a85eef92f19b5bfb5d7b72f64d83ee6b2d6fa56ccdaf
|
|
| MD5 |
492b0e788f3ddb14399d49b7161e4c92
|
|
| BLAKE2b-256 |
bd1f65a779db0eca225847acbecd515da209913ff248b99598e941063afd6797
|
Provenance
The following attestation bundles were made for mirrordash-0.2.4-py3-none-any.whl:
Publisher:
publish.yml on Menturan/MirrorDash
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mirrordash-0.2.4-py3-none-any.whl -
Subject digest:
06e744af9a11c4b818e9a85eef92f19b5bfb5d7b72f64d83ee6b2d6fa56ccdaf - Sigstore transparency entry: 1823681235
- Sigstore integration time:
-
Permalink:
Menturan/MirrorDash@48320daa17c29e077e6fcce00f949892bd705df0 -
Branch / Tag:
refs/tags/v0.2.4 - Owner: https://github.com/Menturan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48320daa17c29e077e6fcce00f949892bd705df0 -
Trigger Event:
release
-
Statement type: