Skip to content

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.

~/work
$ 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.

CLI
$ stint start "fixing the queue bug"
 tracking · 0s

$ stint stop
 stopped · 1h 12m · synced
Menu bar popover
TRACKING Live
01:12:04
fixing the queue bug
Stop timer

Built 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.com once 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+.

Recommended

Homebrew

$ brew tap reyemtech/tap
$ brew install --cask stint
No package manager

curl | sh (CLI + GUI)

$ curl -fsSL https://stint.reyem.tech/install.sh \
    | sh -s -- --gui
CLI only

curl | sh

$ curl -fsSL https://stint.reyem.tech/install.sh | sh
Direct

DMG

Drag Stint.app to /Applications.

Download · v0.3.1 (21.9 MB)

Already installed? Quickstart · Connect to Solidtime