EyeCare is a minimalist eye-care reminder app designed to reduce eye strain during extended screen usage. It can also be used as a break time reminder app.
It provides customizable timers, full-screen break windows, 8 eye exercises, multi-language support, and a suite of additional features for a seamless user experience.
- ⏱️ Customizable reminder timers - set work and rest intervals
- 🌍 Multi-language support - English, Russian (Русский), Ukrainian (Українська)
- 🎨 4 color themes + custom theme with color picker
- 👁️ 8 eye exercises - random exercise on each break to keep your eyes healthy
- 🔔 Smart pause - automatic pause when user is idle
- 🖥️ Multi-monitor support - choose which monitor to display break window on
- 📊 Break statistics - track daily and weekly breaks with visual progress
- 🎯 Strict Mode - mandatory breaks without skip option for disciplined rest
- 🔍 Fullscreen app detection - doesn't interrupt games and videos
- 🚀 Windows autostart - launch automatically on system startup
- 🎛️ Customizable opacity with live preview
- 🔊 Custom sounds - choose built-in sounds or load your own (MP3, WAV, OGG)
- 📍 Window position saving - configure break window size and position
- 🔄 Settings reset - quick return to default values
The 20-20-20 rule is a guideline to reduce eye strain caused by staring at screens for extended periods. It suggests that for every 20 minutes spent looking at a screen, you should take a 20-second break and focus your eyes on something at least 20 feet (6 meters) away.
- Reduces Eye Strain: Regular breaks help prevent eye fatigue and strain caused by prolonged screen time
- Improves Focus: Taking short breaks can help maintain focus and productivity throughout the day
- Prevents Dry Eyes: Looking away from the screen allows your eyes to blink more frequently, reducing the risk of dry eyes
- Promotes Eye Health: Focusing on distant objects helps relax eye muscles and reduce the risk of developing vision-related issues
- Boosts Productivity: By reminding users to take breaks, EyeCare helps maintain high levels of focus and motivation
- Increases Workflow Efficiency: Ensures you're working in manageable intervals, reducing burnout and fatigue
- Encourages Healthy Habits: Establishing a routine of regular breaks fosters a healthier work-life balance
Option 1: Build from source (Recommended)
git clone https://github.com/yourusername/eyecare.git
cd eyecare
pip install -r requirements.txt
python main.pyOption 2: Build executable
pip install pyinstaller
pyinstaller --clean --onefile --windowed --name="EyeCare" --add-data "localization.py;." main.py
# EXE will be in dist/EyeCare.exe- Python 3.12+
- Windows (primary platform)
- Clone the repository:
git clone https://github.com/yourusername/eyecare.git
cd eyecare- Install dependencies:
pip install -r requirements.txt- Run the application:
python main.pypystray- system tray integrationPillow- image processing for tray iconpynput- mouse/keyboard activity detectionscreeninfo- multi-monitor supportpsutil- process management
pygame- for custom sound playback (MP3, OGG)
After launch, the application minimizes to system tray. Right-click the tray icon to open menu:
- Settings - open settings window
- Break Now - start break immediately
- Reset Timer - reset current work timer
- Exit - close application
- Work time (1-60 minutes)
- Rest time (10-300 seconds)
- Smart pause with configurable idle threshold
- 4 built-in themes: Neon, Dark, Light, Ocean
- Custom theme with color picker
- Overlay opacity adjustment (0.1-1.0)
- Preview with resizable and movable window
- 4 sound options: Alert, Beep, Custom File, No Sound
- Fullscreen overlay mode
- Strict Mode (no skip button)
- Windows autostart
- Fullscreen app detection
- Monitor selection
- Language selection (English, Русский, Українська)
- Today's progress with visual indicator
- Last 7 days history
- Total breaks all time
- Statistics reset
- English (default)
- Русский (Russian)
- Українська (Ukrainian)
Language can be changed in Settings → Behavior → Language. Application restart required after language change.
To create a standalone .exe file:
- Install PyInstaller:
pip install pyinstaller- Build the executable:
pyinstaller --name="EyeCare" --onefile --windowed --icon=icon.ico --add-data "localization.py;." main.py- The executable will be in the
dist/folder
eyecare/
├── main.py # Entry point, tray, timer
├── settings_gui.py # Settings window with 4 tabs
├── overlay.py # Break window with exercises
├── config_manager.py # Configuration management
├── stats_manager.py # Break statistics
├── idle_detector.py # Idle detection
├── localization.py # Multi-language support
├── requirements.txt # Python dependencies
├── .gitignore # Ignored files
├── config.json # Configuration (auto-created)
└── stats.json # Statistics (auto-created)
Contributions are welcome! Feel free to open issues or submit pull requests.
Contributions for improving the UI, enhancing customizability, and adding new languages for multilingual support are particularly appreciated.
- Fork the repository to your GitHub account
- Clone the repository to your local machine:
git clone https://github.com/your-username/eyecare.git- Create a new branch for your changes:
git checkout -b my-feature- Make changes to the code
- Commit your changes:
git commit -m "Add new feature"- Push your changes to the remote repository:
git push origin my-feature- Create a pull request on GitHub
- Primary support for Windows only
- Custom sounds (MP3/OGG) require pygame
- Fullscreen app detection works only on Windows
MIT License
Created with ❤️ for your eye health
EyeCare - минималистичное приложение для напоминаний об отдыхе для глаз. Поддержка 3 языков, 8 упражнений для глаз, настраиваемые интервалы, статистика перерывов и многое другое.
EyeCare - мінімалістичний застосунок для нагадувань про відпочинок для очей. Підтримка 3 мов, 8 вправ для очей, налаштовувані інтервали, статистика перерв та багато іншого.