desk.ai is a lightweight desktop app that uses your webcam to help you build healthier screen habits.
The app runs locally on your machine. It detects blinks, posture, prolonged times without movement and screen distance in real time, then nudges you in the moment to build healthier habits. No account required and your data stays on your device.
- Blink reminders - dims the screen when you have not blinked for a while; clears when you blink again
- Posture detection - alerts you when you are hunching
- Screen distance - warns when you sit too close to the display
- Motion breaks - prompts you to move after long still periods
- Pomodoro timer - built-in focus/break cycles
- 20-20-20 rule - optional passive eye-rest reminders
- Multi-monitor support - works across several screens
- No GPU required - runs on CPU
- Customizable - adjust sensitivity, timers, and reminders in the GUI
- Python 3.10
- A working webcam
- Windows, Mac, and Linux supported. For Linux, X11 is recommended (Wayland is not fully supported; the app forces X11 via
xcbwhen needed)
git clone https://github.com/psykidlearn/desk-ai.git
cd desk-aiUsing conda or micromamba (recommended — includes PySide6 and MediaPipe):
conda env create -f dist/env/deskai.yml
conda activate deskaiOr with micromamba:
micromamba env create -f dist/env/deskai.yml
micromamba activate deskaiFrom the repo root (after activating deskai):
pip install -r requirements.txtFrom the project root:
python src/run.pyOn first launch, complete the in-app onboarding, then grant camera access when prompted.
Build on the target OS (Windows, macOS, or Linux). From the repo root:
pip install -r requirements-build.txt
python build_application.pyOutputs:
| OS | Output |
|---|---|
| Windows | dist/dist.dist/desk_ai.exe (+ DLLs in same folder) |
| Linux | dist/dist.dist/desk_ai (+ libs in same folder) |
| macOS | dist/desk_ai.app |
Optional distributables (after Nuitka build):
python dist/create_app_windows.py # Windows installer (needs Inno Setup)
python dist/create_app_linux.py # Linux AppImage
python dist/create_app_macos.py # macOS DMGSee dist/README.md for third-party license generation.
- Camera errors - check that a webcam is connected, not running in another app and that the app has camera permission.
desk.ai is already running- only one instance per user is allowed; close the existing window first.- Linux Wayland - screen dimming may not work; use an X11 session if possible.
desk-ai/
├── assets/ # Icons, themes, MediaPipe models, default configs
├── configs/ # Hydra configuration (detectors, widgets, views)
├── dist/ # Build scripts, conda envs, installer tooling
├── src/
│ ├── run.py # Local development entry point
│ ├── dist.py # Packaged/production entry point
│ └── utils/ # GUI, detection pipeline, camera, auth
└── build_application.py
See CONTRIBUTING.md. Security reports: SECURITY.md.
This project is licensed under the desk.ai Community License v1.0.
You may use, modify, and share the source code for free. The software must remain free for all users. Derivative works must be distributed under the same terms.
desk.ai is not a medical product and makes no health claims. It is a personal wellness tool, not a substitute for professional medical advice. Use at your own discretion and consult an eye care professional if you have concerns about your eye health.