Skip to content

sofish/standup

Repository files navigation

Standup

Standup is a native macOS menu bar app that reminds you to stand up after a configurable focus period. It tracks continuous screen-session time locally, resets when the screen sleeps, the screen locks or unlocks, or you reset manually, and shows a full-screen glass reminder overlay when the target is reached.

Features

  • Native SwiftUI menu bar app with no external runtime dependency.
  • Configurable focus target.
  • Local screen-session tracking that keeps counting while the user session stays awake.
  • Local debug log for state transitions at ~/Library/Logs/Standup/standup.log.
  • Full-screen reminder overlay with reset, Escape reset, auto-reset countdown, and later reminders.
  • Optional Start at Login support through macOS login item APIs.

Requirements

  • macOS 13 or newer.
  • Swift 5.8 or newer.

Build And Test

swift test
./build.sh
open build/Standup.app

build.sh creates build/Standup.app and copies the bundled icon and animation resources into the app bundle.

Install Release ZIPs

Current GitHub release ZIPs are ad-hoc signed development builds. They are not Developer ID signed or notarized yet, so macOS Gatekeeper may block the first launch after download.

After confirming that the ZIP came from the project release page and that its checksum matches the release notes, technical users can install the app into /Applications and remove the download quarantine attribute:

sudo xattr -dr com.apple.quarantine /Applications/Standup.app
open /Applications/Standup.app

For broad distribution, Standup should use Developer ID signing and notarization instead of asking users to remove quarantine manually.

Privacy And Security

Standup is local-only in the current codebase. It does not include an app network client, telemetry, accounts, or cloud sync. It reads macOS idle and power assertion state to distinguish recent input from quiet screen time, stores the target timing preference in local user defaults, writes a small rotating debug log on the Mac, requests notification permission, and can register itself as a login item when the user enables Start at Login.

Security reporting is documented in SECURITY.md. The implementation-level security model is documented in docs/security.md.

Contributing

See CONTRIBUTING.md. Keep tests and docs in sync with behavior changes.

License

Standup is open source under the MIT License.

About

Native macOS menu bar stand-up reminder

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors