Skip to content

jquiaios/worklog

Repository files navigation

worklog

Latest Release Go Reference Go Report Card License: MIT

Log work highlights and lowlights as they happen — so performance reviews aren't a memory test.

Why not just use Obsidian, Notion, or a text file?

Obsidian and Notion are great for notes you plan to write. The problem is that by the time you've switched context, found the right file, and figured out where to put the thing, the moment has passed — and it never gets written.

A text file is closer, but you still have to find it, open it, and maintain some structure yourself.

worklog lives in your terminal: one command, no context switch, no decisions. That gap between "I'll note that later" and "I actually note it" is exactly what it closes.

worklog TUI demo

The example above shows the TUI. See docs/demo.tape for the source.

Tutorial

To get started, install worklog.

Capture a highlight the moment it happens:

worklog hl "Delivered the auth refactor two days ahead of schedule"

Capture a lowlight just as quickly:

worklog ll "Missed the deploy window on Tuesday"

When review season comes around, open the TUI to browse your quarter:

worklog

Or export to Markdown for your review doc:

# current quarter
worklog export -o review-q2-2026.md

# Or a full year:
worklog export -y 2025 -o review-2025.md

That's it. Keep logging as you go, and you'll never walk into a 1:1 empty-handed again.

Installation

Note worklog stores its data in a SQLite database at ~/.worklog/worklog.db. Nothing is ever sent over the network.

Use a package manager:

# macOS or Linux
brew install jquiaios/tap/worklog

Or install with go (requires Go 1.25+):

go install github.com/jquiaios/worklog/cmd/worklog@latest

Or use the install script (detects your OS and architecture automatically):

curl -fsSL https://raw.githubusercontent.com/jquiaios/worklog/main/install.sh | sh

To pin a specific version or choose a different install directory:

WORKLOG_VERSION=0.2.0 curl -fsSL https://raw.githubusercontent.com/jquiaios/worklog/main/install.sh | sh
WORKLOG_INSTALL_DIR=~/.local/bin curl -fsSL https://raw.githubusercontent.com/jquiaios/worklog/main/install.sh | sh

Or download a pre-built binary directly from the Releases page for Linux, macOS (Intel + Apple Silicon), or Windows.

macOS note: If you installed via the script or downloaded directly (not Homebrew), Gatekeeper may block the first run. Remove the quarantine flag once:

xattr -d com.apple.quarantine /usr/local/bin/worklog

CLI

The CLI is designed to be fast enough that logging an entry never breaks your flow.

Add an entry

All of the following are equivalent:

worklog highlight "Won the sprint demo with the client"
# or
worklog hl "Won the sprint demo with the client"
# or
worklog add highlight "Won the sprint demo with the client"
# or
worklog add hl "Won the sprint demo with the client"

The same shorthands apply to lowlights (lowlight, ll, add lowlight, add ll).

List entries

worklog list                    # all entries, newest first
worklog list -t hl              # highlights only
worklog list --type lowlight    # lowlights only

Output:

#4    2026-04-18  [highlight]  Won the sprint demo with the client
#3    2026-04-17  [lowlight]   Broke prod on Friday afternoon

Delete an entry

worklog delete 3
worklog rm 3      # shorthand

Export to Markdown

worklog export                        # current quarter, printed to stdout
worklog export -o review.md           # write to file instead

worklog export -q Q1                  # specific quarter (current year)
worklog export -q Q4 -y 2025          # specific quarter of a past year

worklog export -y 2025                # full year (entries grouped by quarter)
worklog export -y 2025 -o 2025.md     # full year, written to file

Exports are plain Markdown with Highlights and Lowlights sections. Full-year exports add ### Q1 2025 subheadings inside each section.

TUI

Run worklog with no arguments to launch the TUI — a two-column view scoped to the current quarter by default.

worklog TUI

See docs/tui.tape for the source.

Navigation

Key Action
tab Switch between Highlights and Lowlights
[ Previous quarter
] Next quarter
a Show all entries (no period filter)

Actions

Key Action
n New entry in the focused column
e Edit selected entry
d Delete selected entry (asks for confirmation)
x Export current period to Markdown file
/ Filter entries in the focused column
q Quit

Web UI

Prefer a browser? worklog serve starts a local web UI that mirrors the TUI's two-column layout and auto-refreshes every 3 seconds — so entries added from the CLI or TUI appear without reloading.

worklog serve             # opens http://localhost:7171 in your browser
worklog serve -p 8080     # use a different port if 7171 is taken
worklog serve --no-open   # start without opening the browser

worklog web UI

Data

Entries live in a SQLite database at ~/.worklog/worklog.db. It's local, private, and yours — you can back it up, copy it to another machine, or open it with any SQLite client.

Built with

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for development setup and guidelines.

License

MIT

About

A frictionless CLI, TUI, and web UI for logging work wins and misses - your personal brag doc, on tap

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors