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.
What it does
- Lives in the menu bar only — no Dock icon, no app switcher entry
- Shows
●when idle,▶ H:MM:SSwhen 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
- Log into the web app in your browser
- DevTools → Application → Cookies → copy the value of
better-auth.session_token - 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.