stint
Track time without leaving
the menu bar.
A macOS time tracker that syncs with self-hosted Solidtime. Menu bar, main window, and CLI sharing one local SQLite database.
$ brew install --cask reyemtech/tap/stint
==> Tapping reyemtech/tap
==> Downloading Stint-0.3.1.dmg
🍺 stint was successfully installed!
$ stint start "writing the Phase 5 docs"
✓ tracking · 0s · solidtime sync queued
$ stint today
─── today, 2026-05-23
● writing the Phase 5 docs · 42m
● design review · 1h 15m
● client check-in call · 30m
─────────────────────────────── 2h 27m Two surfaces, one truth.
Start a timer in the terminal — see it running in the menu bar. Edit an entry in the GUI — the CLI sees the change the next time you ask. They share the same SQLite file. There is no second source of truth to keep in sync.
$ stint start "fixing the queue bug"
✓ tracking · 0s
$ stint stop
✓ stopped · 1h 12m · syncedBuilt around how you already work.
Keyboard-first GUI
Menu bar popover for a fast start-stop loop. ⌘1 / ⌘2 / ⌘3 to switch routes. Esc to dismiss. No dock icon clutter.
CLI in your terminal
The same Rust binary that lives inside the .app also ships as a standalone CLI. stint start “thing” from anywhere you can type.
Local-first sync
Every mutation persists to SQLite immediately. A background worker drains the queue to Solidtime with exponential backoff. Offline-safe by construction.
Calendar one-click logging
Connect a Google Calendar. Click a past meeting to log it as a time entry with title, project, and time range pre-filled.
Scriptable + AI-driveable
Every verb supports —json. An opt-in loopback HTTP API exposes /v1/ endpoints. A bundled MCP server plugs straight into Claude Code, Codex, and OpenCode. stint:// URLs deep-link from Raycast, Alfred, and Shortcuts.
What stint doesn’t do.
The shape of a product is also defined by what’s left out.
- ⛔No account.
Solidtime is the account. stint is a client.
- ⛔No telemetry.
Outbound traffic goes to your Solidtime instance, your calendar provider (if connected), and an update manifest on
github.comonce every 24h. No analytics. No crash reports. No “anonymous usage data.” - ⛔No paywall.
MIT-licensed. Free forever. Fork it and ship your own version if you want — that’s the point of MIT.
- ⛔No browser tab.
If you want to type into a web app, use Solidtime’s web app. stint is for the moments between web apps.
Install
Four channels, same signed and notarized artifacts. Requires macOS 13+.
Homebrew
$ brew tap reyemtech/tap
$ brew install --cask stintcurl | sh (CLI + GUI)
$ curl -fsSL https://stint.reyem.tech/install.sh \
| sh -s -- --guicurl | sh
$ curl -fsSL https://stint.reyem.tech/install.sh | shAlready installed? Quickstart · Connect to Solidtime