Skip to content

faesel/icare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‘οΈ iCare

πŸ–₯️ 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.


πŸ“Έ Screenshots

Countdown Blink alert & break Stretch break & alert Settings
Countdown Alert Break Stretch Alert Stretch Start Settings

✨ Features

  • 🟒 Retro LCD aesthetic β€” green-phosphor seven-segment digits with ghost segments, scanlines, and a blinking colon
  • πŸ‘οΈ Eye break β€” Countdown β†’ Alert (flash red, wait for click) β†’ Eye break (rest your eyes) β†’ repeat
  • 🚢 Stretch break β€” an optional, independent reminder to stand up and walk away from the keyboard, with its own interval and duration. Starts with a ping prompt and ends with a series of pongs to call you back
  • βš™οΈ Configurable β€” eye break interval & length, stretch break interval & length, start on login
  • πŸ”” Alert effects β€” optional shake animation, ping sound on alert, and pong sound when a 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

πŸš€ Getting Started

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build only (no launch)
npm run build

πŸ“¦ Packaging

# 🍎 macOS (DMG)
npm run package:mac

# πŸͺŸ Windows (NSIS installer)
npm run package:win

🍎 macOS β€” "app is damaged" warning

macOS Gatekeeper blocks unsigned apps. After installing iCare from the DMG, run:

xattr -cr /Applications/iCare.app

Then open the app as normal. This only needs to be done once.


🏷️ Creating a Release

Releases are built automatically via GitHub Actions. To create a new release:

1️⃣ Tag the version

# 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 --tags

2️⃣ Create the GitHub release

Using the GitHub CLI:

gh release create v1.0.1 --title "v1.0.1" --notes "Release notes here"

Or via the GitHub web UI:

  1. Go to https://github.com/faesel/icare/releases
  2. Click Draft a new release
  3. Choose the tag you just pushed (e.g. v1.0.1)
  4. Add a title and description
  5. Click Publish release πŸŽ‰

3️⃣ What happens next

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 .exe NSIS 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.


βš™οΈ Configuration

Click the βš™ icon on the widget (always visible, top-right) or right-click the tray icon β†’ Settings.

Setting Default Description
πŸ‘οΈ Eye break every 20 min How often you're reminded to blink and look away
😌 Eye break lasts 20s How long the eye rest period lasts
🚢 Enable stretch breaks Off Turn the walk-away-from-keyboard reminder on or off
⏰ Stretch break every 1 hr How often you're reminded to stand up and stretch
🧘 Stretch break lasts 10 min How long the stretch break 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 a break is due
πŸ”• Pong sound On Audible pong when a break ends (Γ—5 for stretch breaks)

πŸ“„ Licence

This project is licensed under the MIT Licence.

About

πŸ‘οΈ A retro-styled desktop blink reminder β€” always-on-top countdown widget with seven-segment LCD aesthetic

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors