A fast, colorful CLI + TUI personal logging and time tracking tool built in Go.
Track work, notes, and timers right from your terminal — with SQLite storage, full-text search, and daily reminders.
- CLI commands
pulse log "text"→ quick notespulse start/stop→ track timerspulse list→ timeline view with colorspulse summary→ daily breakdownspulse search→ full-text search with highlights
- TUI (
pulse tui)
Scroll through logs with a clean, resizable interface - Reminders
Configurable “end of day” reminder (default 17:00, Mon–Fri, skip holidays) - SQLite storage
Local, portable, zero-config database - Colorful output with Lipgloss
- Cross-platform binaries for macOS, Linux, Windows
git clone https://github.com/ramanasai/Pulse.git
cd Pulse
make build
./bin/pulse --helpComing soon (via GitHub Actions releases).
# Log a note
pulse log "Investigated incident 123"
# Start and stop timers
pulse start "Working on feature X" -p sesuite -t urgent
pulse stop --note "Finished draft"
# List entries (last 24h by default)
pulse list
# Search across history (with highlights)
pulse search "deploy failed" --project sesuite --tags bug
# TUI interface
pulse tuiPulse loads config from ~/.config/pulse/config.yaml. Example:
theme: "default"
reminder:
enabled: true
time: "17:00" # HH:MM
timezone: "Asia/Kolkata" # optional; defaults to system local time
workdays: ["Mon","Tue","Wed","Thu","Fri"]
holidays:
- "2025-01-26"
- "2025-08-15"make build # build binary into bin/pulse
make run # run in dev mode
make test # run tests
make release # cross-compile (dist/*)- Go 1.25+
- Cobra for CLI
- Bubble Tea for TUI
- Lipgloss for styling
- Beeep for notifications
- SQLite (modernc.org/sqlite)
- Export to CSV/Markdown
- Daily/weekly reports (Markdown)
- Packaging via GoReleaser
PRs and issues welcome! Please file bugs and feature requests in Issues.