A little robot that lives in your menu bar and keeps an eye on your running dev servers and iOS simulators.
173
stars
6
commits
Swift
primary language
Aug 31, 2026
updated
A little robot that lives in your menu bar and keeps an eye on your running dev servers and iOS simulators.
Download Blink — open the DMG, drag to Applications.
Requires macOS 14 (Sonoma) or later.
Blink doesn't check for updates, and doesn't talk to the network at all.
To hear about new versions, use Watch → Custom → Releases on this repo and GitHub will email you.
Blink polls every few seconds using standard macOS tools:
lsof to find listening TCP portspackage.json, Cargo.toml, or falls back to the directory namexcrun simctl for booted simulator dataRestarting is less obvious than it sounds. The process holding a port often can't be
relaunched from its own arguments — Next.js and npm both overwrite their argv with a
display title, and argv[0] is usually a bare name like node rather than a path. So
Blink reads the real arguments and the resolved binary from the kernel, and walks up the
parent chain to find a process that can actually be launched again, never straying
outside the server's own project directory.
No background daemons, no elevated permissions, no network access. Everything runs locally.
NSPanel hung off an NSStatusItemTaskGroup)@Observable for reactive stateSMAppService for start at loginPRs welcome. Keep it clean.
git checkout -b feature/thing)git commit -m 'Add thing')git push origin feature/thing)Built by Mo
MIT
6 commits
Hacker News (1)
Swift
96.7%
Shell
3.3%
A little robot that lives in your menu bar and keeps an eye on your running dev servers and iOS simulators.
173
stars
6
commits
Swift
primary language
Aug 31, 2026
updated
A little robot that lives in your menu bar and keeps an eye on your running dev servers and iOS simulators.
Download Blink — open the DMG, drag to Applications.
Requires macOS 14 (Sonoma) or later.
Blink doesn't check for updates, and doesn't talk to the network at all.
To hear about new versions, use Watch → Custom → Releases on this repo and GitHub will email you.
Blink polls every few seconds using standard macOS tools:
lsof to find listening TCP portspackage.json, Cargo.toml, or falls back to the directory namexcrun simctl for booted simulator dataRestarting is less obvious than it sounds. The process holding a port often can't be
relaunched from its own arguments — Next.js and npm both overwrite their argv with a
display title, and argv[0] is usually a bare name like node rather than a path. So
Blink reads the real arguments and the resolved binary from the kernel, and walks up the
parent chain to find a process that can actually be launched again, never straying
outside the server's own project directory.
No background daemons, no elevated permissions, no network access. Everything runs locally.
NSPanel hung off an NSStatusItemTaskGroup)@Observable for reactive stateSMAppService for start at loginPRs welcome. Keep it clean.
git checkout -b feature/thing)git commit -m 'Add thing')git push origin feature/thing)Built by Mo
MIT
Hacker News (1)
6 commits
Swift
96.7%
Shell
3.3%