3-Second Quick Start | Lightweight (<50MB Memory) | Menu Bar & System Tray Resident | Cross-Platform (macOS / Windows)
Idioma / Language / 语言 / Dil / Язык / Ngôn ngữ
English | 日本語
SnapTick is an ultra-lightweight, distraction-free desktop timer application designed for professionals who value their deep-work state. Unlike default clock apps, SnapTick stays in your menu bar (macOS) or system tray (Windows) and triggers instantly with a single global shortcut.
- Instant Trigger: Open/Close the minimalist UI with
Cmd+Shift+T(macOS) orCtrl+Shift+T(Windows). - 1-Action Start: Press
1,2,3, or4on your keyboard to instantly start preset slots A–D (default 5, 10, 15, 20 minutes) without touching your mouse. - Configurable Defaults: Change the four preset durations, global shortcut, and Light/Dark theme from the Settings view (open with the ⚙ button or the tray menu).
- Ultra Lightweight: Powered by Go (Wails v3) and Vanilla TypeScript. Zero bloated frontend frameworks.
- Native Notification: Clean OS-level audio and visual alerts when the time is up.
- Backend: Go (Wails v3)
- Frontend: HTML5 / CSS3 / Vanilla TypeScript
brew tap torifo/snaptick
brew install --cask snaptickThe cask installs SnapTick.app into /Applications. Because the app is not notarized yet, clear the quarantine flag the first time:
xattr -dr com.apple.quarantine /Applications/SnapTick.app
open /Applications/SnapTick.app(Or right-click SnapTick.app in /Applications → Open and confirm once.)
Tap source: torifo/homebrew-snaptick.
Works on both Apple Silicon and Intel Macs (universal binary).
- Download
SnapTick-macOS-universal.zipfrom the latest release. - Unzip it and move
SnapTick.appto/Applications(or anywhere you like). - The app is not notarized yet, so clear the download quarantine and open it once:
(Or right-click
xattr -dr com.apple.quarantine /Applications/SnapTick.app open /Applications/SnapTick.app
SnapTick.app→ Open and confirm.)
SnapTick lives in the menu bar — there is no dock icon.
For Windows or development, build it locally (it only takes a moment).
Prerequisites: Go 1.25+ and Node.js 20+ (includes npm).
git clone https://github.com/torifo/snaptick-desktop-app.git
cd snaptick-desktop-app
npm install
./scripts/package-macos.sh # builds the frontend + binary, bundles SnapTick.app, and launches itSnapTick starts in the menu bar (no dock icon). Re-running the script replaces the running instance. If macOS blocks the unsigned app, right-click build/SnapTick.app → Open.
git clone https://github.com/torifo/snaptick-desktop-app.git
cd snaptick-desktop-app
npm install
npm run build # build the frontend (embedded into the binary)
go build -o snaptick.exe .
./snaptick.exeSnapTick starts in the system tray.
- Press
Cmd+Shift+T(macOS) /Ctrl+Shift+T(Windows) to pop up the timer. - Press
1–4to start preset slots A–D (default 5 / 10 / 15 / 20 min). Spacepauses/resumes,Esccancels the timer or hides the window.- Click the ⚙ button to change the presets, the global shortcut, and the theme.
The app embeds the built frontend, so rebuild after changing the UI:
npm run build && go build -o snaptick . && ./snaptick # full app (macOS/Windows)
npm run dev # quick UI-only preview in a browser (backend calls are unavailable)SnapTick stores its settings as a single JSON file and is otherwise self-contained.
macOS — installed via Homebrew
brew uninstall --cask snaptick # removes the app and (via zap) ~/Library/Application Support/SnapTick
brew untap torifo/snaptick # remove the tap (optional)macOS — installed manually
osascript -e 'quit app "SnapTick"' 2>/dev/null || pkill -x SnapTick # quit the app
rm -rf /Applications/SnapTick.app # remove the app (or wherever you put it)
rm -rf ~/Library/Application\ Support/SnapTick # remove saved settings
rm -rf path/to/snaptick-desktop-app # remove the cloned repo (if you built from source)Windows
taskkill /IM snaptick.exe /F # quit the app
del snaptick.exe # remove the binary
rmdir /S /Q "%AppData%\SnapTick" # remove saved settings
rmdir /S /Q snaptick-desktop-app # remove the cloned repo (if you built from source)