{"id":49844762,"url":"https://github.com/tech-tonic-coder/blinknow-electron","last_synced_at":"2026-05-14T09:08:13.627Z","repository":{"id":326016268,"uuid":"1103464124","full_name":"tech-tonic-coder/BlinkNow-Electron","owner":"tech-tonic-coder","description":"Smart eye care reminder to combat digital eye strain with customizable blink \u0026 rest notifications","archived":false,"fork":false,"pushed_at":"2025-12-02T15:06:51.000Z","size":91,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-05T13:25:30.096Z","etag":null,"topics":["electron","eyes","healthcare","linux","reminder","reminder-application","windows","windows-desktop"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tech-tonic-coder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-24T22:54:49.000Z","updated_at":"2025-12-02T15:06:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tech-tonic-coder/BlinkNow-Electron","commit_stats":null,"previous_names":["tech-tonic-coder/blinknow-electron"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tech-tonic-coder/BlinkNow-Electron","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-tonic-coder%2FBlinkNow-Electron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-tonic-coder%2FBlinkNow-Electron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-tonic-coder%2FBlinkNow-Electron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-tonic-coder%2FBlinkNow-Electron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tech-tonic-coder","download_url":"https://codeload.github.com/tech-tonic-coder/BlinkNow-Electron/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tech-tonic-coder%2FBlinkNow-Electron/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33017759,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","eyes","healthcare","linux","reminder","reminder-application","windows","windows-desktop"],"created_at":"2026-05-14T09:08:09.294Z","updated_at":"2026-05-14T09:08:13.615Z","avatar_url":"https://github.com/tech-tonic-coder.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 👁️ BlinkNow - Electron Edition\n\n\u003e **Stop the strain. Start the routine. Your eyes will thank you.**\n\nA lightweight, modern desktop application designed to combat digital eye strain with timely reminders to blink and rest your eyes.\n\n## ✨ Features\n\n- **🔔 Native Notifications**: Uses Windows native notification system\n- **💻 Modern UI**: Clean, contemporary design with light/dark theme support\n- **🌗 Theme Toggle**: Switch between light and dark modes (Ctrl+T)\n- **📍 System Tray**: Minimize to tray for unobtrusive operation\n- **⚙️ Customizable**: Configure reminder intervals and messages\n- **⌨️ Keyboard Shortcuts**: Quick controls for efficient use\n- **🎈 Lightweight**: ~50-100MB RAM usage\n- **🐧 Cross-Platform**: Windows and Linux support\n\n### **✅ Compatibility**\n\n| Operating System | Minimum Version | Notes |\n| :--------------- | :-------------- | :---- |\n| Windows 11       | Supported       | Full compatibility (x64 \u0026 x86) |\n| Windows 10       | **10.0.17763.0** | **Required for native notifications.** (Windows 10 October 2018 Update or newer) |\n| Linux            | Supported       | AppImage, deb, rpm, and pacman formats (**Required the libnotify package**) |\n\n## 🚀 Quick Start\n\n### For Users\n\n#### Windows\n- **Installer**: `BlinkNow Setup-1.0.0-x64.exe` or `BlinkNow Setup-1.0.0-ia32.exe`\n- **Portable**: `BlinkNow Portable-1.0.0-x64.exe` or `BlinkNow Portable-1.0.0-ia32.exe`\n\nDownload from releases, install/run, and configure your preferences.\n\n### For Developers\n\n#### Prerequisites\n- Node.js 20.x or later\n- npm (included with Node.js)\n\n#### Installation\n```bash\n# Clone or extract the project\ncd BlinkNow-Electron\n\n# Install dependencies\nnpm install\n\n# Run in development\nnpm start\n\n# Build for Windows (installer + portable)\nnpm run build:win\n\n# Build portable only\nnpm run build:portable\n\n# Build for Linux (all formats)\nnpm run build:linux\n\n# Build for all platforms\nnpm run build:all\n```\n#### Linux system notification\nEnsure the libnotify package is installed.\n\n## 🎨 Design\n\n- **Window Size**: 520x620px (fixed, non-resizable)\n- **Theme**: Light and Dark mode support\n- **Style**: Modern, clean interface with Bootstrap Icons\n- **Animations**: Smooth transitions throughout\n\n### ⌨️ Keyboard Shortcuts\n\n| Shortcut | Action |\n|----------|--------|\n| `Space` | Start/Stop timer |\n| `Ctrl+T` | Toggle theme |\n| `Ctrl+S` | Open settings |\n| `Esc` | Close window |\n\n## ⚙️ Settings\n\nAccess settings via the gear icon in the top-right corner:\n\n- **Run on Windows startup**: Launch app automatically when Windows starts (Windows only)\n- **Minimize to tray on close**: Keep app running in system tray when closed\n- **Minimize to tray on minimize**: Hide to tray when minimized\n- **Reminder Interval**: 1-120 minutes (default: 20)\n- **Custom Messages**: Personalize reminder notifications\n\nAll settings are automatically saved and persist between sessions.\n\n## 🏗️ Architecture\n\nThe project follows clean architecture principles:\n\n```\nsrc/\n├── main/           # Main process (Node.js)\n│   ├── main.js     # Application entry point\n│   ├── timer.js    # Timer service\n│   ├── notification.js  # Notification service\n│   └── tray.js     # System tray manager\n├── renderer/       # Renderer process (UI)\n│   ├── index.html  # Main HTML\n│   ├── styles.css  # Styling\n│   └── renderer.js # UI controller\n└── preload/        # Secure bridge\n    └── preload.js  # IPC bridge\n```\n\n## 🛠️ Build Configuration\n\nThe project uses `electron-builder` for packaging:\n\n### Windows\n- **Targets**: NSIS Installer + Portable (x64 \u0026 x86)\n- **Installer**: Customizable installation directory\n- **Icon**: `assets/icon.ico`\n\n### Linux\n- **Targets**: AppImage, deb, rpm, pacman\n- **Category**: Utility\n- **Icon**: `assets/icon.png`\n\n### Common\n- **Compression**: Maximum\n- **ASAR**: Enabled for better performance\n- **App ID**: com.blinknow.app\n\n## 📦 Dependencies\n\n### Runtime\n- electron: ^39.2.3\n- auto-launch: ^5.0.6\n- bootstrap-icons: ^1.13.1\n\n### Development\n- electron-builder: ^26.0.12\n\n## 🔒 Security\n\n- Context isolation enabled\n- Node integration disabled\n- Secure IPC communication via preload script\n- No eval() or dynamic code execution\n\n## 📊 Performance on Windows\n\n| Metric | Value |\n|--------|-------|\n| Build Size | 80-120 MB |\n| RAM Usage | 50-80 MB |\n| CPU Usage | \u003c1% idle |\n| Startup Time | \u003c2 seconds |\n\n## 🤝 Contributing\n\nContributions are welcome! Please follow the existing code style and principles.\n\n## 📄 License\n\nGPL-3.0-only - See LICENSE file for details\n\n## 🐛 Troubleshooting\n\n### Build Issues\n```bash\n# Clear cache and reinstall\nrm -rf node_modules package-lock.json\nnpm install\n```\n\n### Windows - Notifications Not Working\n- Ensure Windows notifications are enabled\n- Check Focus Assist settings\n- Run app as administrator (if needed)\n\n### Linux - AppImage Won't Run\n```bash\n# Make executable\nchmod +x BlinkNow-*.AppImage\n\n# Run\n./BlinkNow-*.AppImage\n```\n\n### Linux - Notifications Not Working\n- Ensure libnotify is installed\n  \n| Linux Distribution | Installation Command |\n|--------------------|----------------------|\n| Debian/Ubuntu and Derivatives | sudo apt install libnotify-bin |\n| Fedora and Derivatives (RHEL/CentOS) | sudo dnf install libnotify |\n| Arch Linux | sudo pacman -S libnotify |\n\n## 🔮 Future Enhancements\n\n- [ ] Statistics tracking\n- [ ] Multiple reminder profiles\n- [ ] Sound notifications\n- [ ] Multi-language support\n- [ ] macOS support\n\n## 💡 Tips\n\n1. Use the 20-20-20 rule: Every 20 minutes, look at something 20 feet away for 20 seconds\n2. Blink frequently to keep eyes lubricated\n3. Adjust screen brightness and position\n4. Take regular breaks from screen time\n\n---\n\n**Made with 👁️ for healthier screen time**\n\n**Author**: TECH-TONIC-CODER\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-tonic-coder%2Fblinknow-electron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftech-tonic-coder%2Fblinknow-electron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-tonic-coder%2Fblinknow-electron/lists"}