The ultimate eye-health suite for power users.
FarSight is an Electron-based desktop application designed to prevent eye strain by reminding you to take regular breaks using the "20-20-20" rule (every 20 minutes, look 20 feet away for 20 seconds).
- Stable Background Timer: Core logic runs in the Main Process to prevent macOS/Windows/Linux from throttling the timer when the app is minimized.
- Glassmorphism UI: A stunning, modern interface with real-time blur and smooth animations.
- Tray & Menu Bar Support: Live countdown in macOS Menu Bar. Tooltip and dynamic menu timer for Windows & Linux tray.
- Force Rest Mode: A beautiful, full-screen translucent overlay that gently encourages you to look away from your screen.
- Ambient Soundscapes: Procedurally generated relaxing rain sounds play during your breaks using the Web Audio API.
- Break Statistics: A built-in dashboard to track your daily breaks and total rest time.
- Dynamic Themes: Automatically shifts between Day and Night modes based on your local time.
- Customizable Reminders: Personalized names and messages.
- Snooze Support: Postpone breaks by 5 minutes with one click.
- Auto-Start: Optionally launch automatically when your operating system starts.
-
Clone & Install:
git clone <repository-url> cd FarSight npm install
-
Run Locally:
npm start
-
Build Standalone App:
# Build for current OS npm run dist # Build for Windows specifically (requires wine on macOS) npm run dist -- --win # Build for Linux specifically (AppImage and .deb) npm run dist -- --linux
When running in development mode (npm start), the "Launch at Startup" feature may trigger a "Permission Denied" error. This is a macOS security feature to protect you from unsigned apps. For full functionality, package the app using npm run dist.
This project is licensed under the MIT License.
Made with ❤️ for eye health.
