π₯οΈ A dead-simple, no-frills desktop blink reminder. Nothing fancy β just a tiny timer that tells you to blink.
No accounts. No cloud sync. No analytics. No bloat. Just a small always-on-top widget with a retro seven-segment countdown. When it hits zero, it flashes red β you blink, take a short break, and the cycle starts again. That's it.
| Countdown | Alert | Break | Settings |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
- π’ Retro LCD aesthetic β green-phosphor seven-segment digits with ghost segments, scanlines, and a blinking colon
- π Three-state cycle β Countdown β Alert (flash red, wait for click) β Break (rest your eyes) β repeat
- βοΈ Configurable β countdown duration, break duration, start on login
- π Alert effects β optional shake animation, ping sound on alert, and pong sound when break ends
- π±οΈ System tray β show/hide, pause/resume, settings, quit
- π» Cross-platform β macOS and Windows
- πͺΆ Lightweight β frameless, transparent, always-on-top, no dock/taskbar clutter
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build only (no launch)
npm run build# π macOS (DMG)
npm run package:mac
# πͺ Windows (NSIS installer)
npm run package:winmacOS Gatekeeper blocks unsigned apps. After installing iCare from the DMG, run:
xattr -cr /Applications/iCare.appThen open the app as normal. This only needs to be done once.
Releases are built automatically via GitHub Actions. To create a new release:
# Update the version in package.json first, then:
git add package.json
git commit -m "chore: bump version to 1.0.1"
git tag v1.0.1
git push origin main --tagsUsing the GitHub CLI:
gh release create v1.0.1 --title "v1.0.1" --notes "Release notes here"Or via the GitHub web UI:
- Go to https://github.com/faesel/icare/releases
- Click Draft a new release
- Choose the tag you just pushed (e.g.
v1.0.1) - Add a title and description
- Click Publish release π
Once the release is published, the CI workflow (.github/workflows/release.yml) automatically:
- π macOS job β builds on
macos-latest, packages a.dmg, and uploads it to the release - πͺ Windows job β builds on
windows-latest, packages an.exeNSIS installer, and uploads it to the release
Both jobs run in parallel. After a few minutes the built artefacts will appear as downloadable assets on the release page.
Click the β icon on the widget (appears on hover) or right-click the tray icon β Settings.
| Setting | Default | Description |
|---|---|---|
| β±οΈ Countdown duration | 20 min | How often you're reminded to blink |
| π Break duration | 20s | How long the rest period lasts |
| π Start on login | Off | Auto-launch iCare when you log in |
| π³ Shake widget | On | Shake the widget on alert |
| π Ping sound | On | Audible ping when it's time to blink |
| π Pong sound | On | Audible pong when the break ends |
This project is licensed under the MIT Licence.



