Harry-kp/afk

Menu bar break reminder for macOS and Linux. Fullscreen 20-20-20 breaks you can skip or snooze. Rust + Tauri, under 6 MB.

★ 0Forks 1TypeScriptGitHub ↗Compare

Project website ↗

20-20-20break-reminderdeveloper-toolseye-strainhealthmacosmenubarpomodoroproductivityrusttauri

README

AFK

AFK

A break reminder for developers who forget to blink.

Release License: MIT Latest Release PRs Welcome

Website • Download • Install


AFK is a lightweight break reminder that lives in your menu bar. It follows the 20-20-20 rule: every 20 minutes, look at something 20 feet away for 20 seconds. Simple, unobtrusive, effective.

AFK Demo

AFK break screen

When a break lands, it takes the whole screen — but Skip and Snooze are always right there.
It interrupts you; it doesn't trap you.

Why AFK?

It was 2 AM. Four hours deep into debugging. Eyes burning, neck stiff, hadn't blinked in what felt like forever.

Most break reminders are either too aggressive (popup every 5 minutes) or too easy to ignore (a tiny notification you dismiss without thinking). AFK strikes a balance: a fullscreen reminder you can't miss, but with skip/snooze options when you're in flow. No guilt trips, no gamification — just a simple tool that does one thing well.

AFK vs Alternatives

Feature AFK Stretchly Time Out Pomatez
Open source ✅ ✅ ❌ ✅
Fullscreen breaks ✅ ✅ ✅ ❌
Menu bar timer ✅ ✅ ❌ ❌
Statistics dashboard ✅ ❌ ❌ ❌
Health exercises ✅ ✅ ❌ ❌
Global shortcuts ✅ ✅ ❌ ❌
Download size 2.8 MB (.deb/.rpm) · 5.5 MB (.dmg) ~200 MB ~15 MB ~100 MB
Built with Rust + Tauri Electron Native Electron
macOS ✅ ✅ ✅ ✅
Linux ✅ ✅ ❌ ✅
Windows 🔜 ✅ ❌ ✅

Sizes are the published release artifacts. The Linux AppImage is 77 MB because AppImage bundles its own runtime — the .deb/.rpm are the like-for-like comparison.

Project status — AFK works and is maintained as needed, but it is not under active development. The latest release is v1.1.1 (September 2026). Issues and pull requests are welcome; replies may be slow.

Install

macOS — Homebrew (recommended)

brew install --cask Harry-kp/tap/afk

macOS — Direct Download

Download the latest .dmg from releases.

First launch on macOS — with either method. AFK is not notarized yet, so macOS refuses to open it the first time: "Afk is damaged and can't be opened." Homebrew no longer strips the quarantine flag, so the cask hits this too. Clear the flag:

xattr -rd com.apple.quarantine /Applications/Afk.app

Or open System Settings → Privacy & Security, scroll to Security, and click Open Anyway next to AFK, then confirm — the Control-click bypass was removed in macOS Sequoia. Notarized builds are planned, which will remove this step entirely.

Linux — AppImage

Download the .AppImage from releases, then:

chmod +x Afk_*.AppImage
./Afk_*.AppImage

Linux — Debian/Ubuntu

# Download the .deb from releases, then:
sudo dpkg -i afk_*.deb

Linux — Fedora/RHEL

# Download the .rpm from releases, then:
sudo rpm -i Afk-*.x86_64.rpm

Features

  • Fullscreen break reminders — Gentle overlays that respect your workflow
  • Configurable timing — 15-50 min sessions, 20s-5 min breaks
  • Long breaks — Automatic extended breaks after multiple sessions
  • Menu bar timer — Always know when your next break is
  • Statistics dashboard — Track focus time, breaks, and streaks
  • Global keyboard shortcuts — Control AFK from anywhere (⌘⇧N, ⌘⇧P, ⌘⇧B, ⌘⇧S)
  • Health reminders — Stretches, eye exercises, and hydration tips during breaks
  • Skip or snooze — You're in control
  • Launch at login — Set it and forget it
  • No account required — Your data stays on your machine

Roadmap

  • Linux support (AppImage + .deb)
  • Windows support
  • Customizable break screen themes
  • Plugin system for custom exercises
  • CLI mode for headless/SSH sessions

Have an idea? Open a discussion.

Development

# Prerequisites: Node.js 18+, Rust, Xcode CLI tools (macOS)

git clone https://github.com/Harry-kp/afk.git
cd afk
npm install
npm run dev
Build for production
npm run build
# Output: src-tauri/target/release/bundle/
Tech stack
  • Framework: Tauri + Rust
  • Frontend: React, TypeScript, Tailwind CSS
  • Build: Vite

Contributing

Contributions welcome — for anything bigger than a small fix, open an issue first. See CONTRIBUTING.md.

Security & privacy

Settings and stats stay on your machine — what is stored, where, and how to report a vulnerability: SECURITY.md.

License

MIT — see LICENSE.


Built by Chaitanya & Harry
@holaChaitanya • @Harry_kp_

Contributors

chentsulinamilajackholaChaitanyaHarry-kpjhen0409greenkeeperio-botrenovate-botzeevldustintownsendjooohhnsnyk-botkubijoxwartzakovalyovdependabot[bot]vikr01Yeti-ortrstringerKiliandavejtsemeradLongLiveCHIEFtalha131shyamkumaryadavg1ibbyCiberuspsphuebnerUserJHansenepilandeakozhemiakin

Issues