Back to help

Mac menu bar

A native menu bar timer for Mac — same running timer, project/task picker, and yesterday-leftover alert as the web app, without opening a browser tab.

There's no downloadable build yet — it isn't signed or notarized, so there's nothing to click “Download” on here. Each person builds their own copy from source on their Mac. It takes a few minutes and doesn't require an Apple Developer account for personal/internal use.

What it does

  • Lives in the menu bar only — no Dock icon, no app switcher entry
  • Shows when idle, ▶ H:MM:SS when a timer is running
  • Start/stop the one running timer per person, with a project & task picker scoped to what you're assigned to
  • A prominent alert if a timer was started yesterday and never stopped
  • Optional launch-at-login

Members still never see money in the menu bar app — it only ever calls time/timer/project/task endpoints, the same as the web app. There is no rate or invoice API call anywhere in it.

1. Prerequisites (once)

# Rust toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add aarch64-apple-darwin   # Apple Silicon
rustup target add x86_64-apple-darwin    # Intel (optional, for a universal binary)

# Xcode command line tools — provides the xcodebuild toolchain
# cargo/tauri needs to link and bundle the .app
xcode-select --install

# Node.js + pnpm, if you don't already have them
brew install node
npm install -g pnpm@10

2. Clone and build

git clone https://github.com/la-agency/realtime.git
cd realtime
pnpm install
pnpm --filter @realtime/macos build

Output: apps/macos/src-tauri/target/release/bundle/macos/Realtime.app (a .dmg lands in the same folder). Open it with open or double-click in Finder.

3. Connect it to your account

  1. Log into the web app in your browser
  2. DevTools → Application → Cookies → copy the value of better-auth.session_token
  3. In the menu bar app → Settings → paste the token → Test connection → Save

The token lasts 7 days — come back to Settings to refresh it. The Settings panel has Production/Localhost presets for switching between the deployed app and a local dev server.

Full details

Architecture, universal-binary builds, custom icons, and ad-hoc signing for sharing with your team are all documented in apps/macos/README.md in the repo.