MirrorOS is a lightweight user interface designed specifically for Magic Mirrors and transparent glass touch screens. The UI is built on NodeJS, React and Electron.
Please be aware that MirrorOS is currently at the "proof of concept" stage. Almost all features are broken/in an early stage. If you still wan to try the software, please follow this tutorial How to Install on a Raspberry Pi
- Note: requires a node version >= 7 and an npm version >= 4.
- If you have installation or compilation issues with this project, please see our debugging guide
First, clone the repo via git:
$ git clone --depth=1 https://github.com/wassgha/MirrorOS.git MirrorOS
And then install dependencies with yarn.
$ cd MirrorOS $ yarn
Note: If you can't use yarn for some reason, try
To deploy the app and run it in production mode, simply use:
$ npm start
- Face Recognition and Smile detection for logging-in to the Mirror
- Constant monitoring of user presence through face detection
- Home UI almost done, with clock, date and weather
- Draggable placeholder widgets
- Almost ready app launcher
- Leap Motion Support to substitute touch screens (using Leap Motion Touch Screen)
- Support for apps, widgets and extentions
- Providing an API for developers to extend the UI
- Communication with nearby devices (getting notification from phone, connecting to bluetooth speakers)
- Support for Air Play and other video streaming platforms to display content on the Magic Mirror/Display
- Alexa integration
- User accounts and face training
- Live selfie filters app (filter overlay on mirror)
- Uber/Lyft integration
- News app
- Live TV widget
- Smart home widget (Nest & co integration)
- OTA updates
Start the app in the
dev environment. This starts the renderer process in hot-module-replacement mode and starts a server that sends hot updates to the renderer process:
$ npm run dev
- ES6 Snippets
- React Snippets
💡If you are using the
flow-for-vscodeplugin, make sure to disable the
flowtype-errors/show-errorseslint rule in the
.eslintrcby setting it to
- Editorconfig Integration
- ESLint Integration
- Syntax Highlighting
- Node Snippets
- ES6 Snippets
- OS X: Cmd Alt I or F12
- Linux: Ctrl Shift I or F12
- Windows: Ctrl Shift I or F12
See electron-debug for more information.
How to write your own MirrorOS widget
Will be updated soon with a complete guide.
Note: Class names and IDs starting with
os- are reserved for the
internal use of the MirrorOS runtime.
Non-commercial, private and educational use only except by written authorization.