driftlog
v1.4.2 · MIT licensed · zero dependencies

Your terminal, your journal.

driftlog is a small, local-first command-line journal. Timestamped Markdown entries, instant full-text search, tags, and clean exports — backed by plain files you own, not a database or a cloud account.

$ driftlog new
# opens $EDITOR — write your entry, save, done.

$ driftlog list --since "last monday"
2026-06-22  14:03  #work #release   Shipped 1.4.2; cut the changelog.
2026-06-23  08:11  #running         12k along the river, easy pace.
2026-06-24  21:40  #reading         Finished "The Mezzanine". Odd, lovely.

Plain text, forever

Entries are Markdown files in a folder you choose. Grep them, sync them with anything, read them in 20 years. No lock-in.

Fast search

An on-disk index gives sub-millisecond full-text and tag search across tens of thousands of entries.

Tags & filters

Tag inline with #hashtags; filter by tag, date range, or free text. Compose filters however you like.

Single binary

One static Go binary for Linux, macOS, and Windows. No runtime, no services, nothing to babysit.

Clean exports

Render to a single Markdown file, HTML, or JSON for backups, printing, or feeding other tools.

Private by default

Nothing leaves your machine. Optional age/GPG encryption-at-rest for the journal directory.

Install

# Prebuilt static binary — drop it on your $PATH
tar -xzf driftlog_1.4.2_linux_amd64.tar.gz
sudo install -m 0755 driftlog /usr/local/bin/driftlog

# Or build from source (Go 1.21+)
go build -ldflags="-s -w" -o driftlog ./cmd/driftlog

Per-platform binaries and full build notes are on the getting-started page.

driftlog is local-first by design. There is no account, no server, and no telemetry — the website you're reading is just documentation.