Skip to content

PROJECT // CASE_FILE

BurrowTime

A local-first Go time tracker with Watson-compatible commands and data, a terminal dashboard, safe migration, and concurrent timers.

BurrowTime is a fast, local-first time tracker I wrote in Go as a modern, data-compatible alternative to Watson. It keeps the commands and plain-file workflow I already rely on while adding a terminal dashboard and explicit support for concurrent timers.

Keep the Watson workflow

BurrowTime supports Watson's familiar start, stop, status, log, report, aggregate, edit, rename, merge, config, sync, and completion commands. It reads and writes Watson-compatible config, frames, state, and last_sync formats, so years of existing history do not need a conversion.

Migration commands copy data from Watson into BurrowTime or back again with confirmation and backups. The original Watson directory stays untouched during import, and the release also includes an optional watson compatibility binary for a more direct replacement.

A real terminal UI

Running burrowtime without a command opens a Bubble Tea dashboard with active timers, recent work, interactive logs, report charts, date ranges, and filters. The TUI calls the same command and reporting code as the scriptable CLI, so there is only one set of behavior to trust.

Concurrent timers

Watson allows one running timer. BurrowTime keeps that safe default, but starting another timer interactively asks whether to stop the current timer or let both run. Scripts can choose explicitly with --stop or --concurrent. Extra active timers live in an additive companion file, and every completed timer becomes an ordinary Watson frame.

Install it

go install github.com/fabean/BurrowTime/cmd/burrowtime@latest

BurrowTime is MIT licensed. Read the full documentation and source on GitHub.