>_
worktale
LOCAL-FIRST · PRIVATE BY DEFAULT

Your dev story,
told beautifully.

You ship code behind firewalls. To private repos. In silence. Months of brilliant work—invisible. Even to you.

Worktale turns your git history into a personal record of what you actually built. One command. Zero setup. No code leaves your machine.

see how it works
~/my-project

$ npm install -g worktale

$ worktale init

$ worktale digest

The Dashboard

Your terminal, alive.

Tab between three views. Keyboard-driven. Renders in under 300ms.

worktale — my-saas-project
⚡ WORKTALE 🔥 Streak: 14 days

TODAY · Tuesday, March 4, 2025

Commits

7

Lines +

+1,204

Lines -

-389

Files

23

Time

4h 12m

🔥 STREAK ━━━━━━━━━━━━━━━━━━━━━ 14 days

📈 BEST ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 31 days

THIS WEEK

Mon ████████████ 892 lines

Tue ███████████████████ 1,204 lines ← today

Wed ░░░░

Thu ░░░░

Fri ░░░░

RECENT COMMITS

2m ago fix: resolve auth token expiry edge case

47m ago feat: add retry logic to payment processor

2h ago refactor: extract email service into module

DAILY LOG · ← → to navigate days

◀ Monday, March 3, 2025 ▶

8 commits · +892 / -201 lines · 14 files touched

Your Notes

Spent the morning tracking down a race condition in the payment webhook handler. The root cause was a missing mutex around the idempotency key check. Classic.

[E to edit]

Commit Timeline

09:14 fix: webhook race condition (idempotency key)

10:02 fix: add mutex to payment handler

11:33 test: add race condition regression test

14:17 feat: implement retry backoff for failed webhooks

16:45 docs: update webhook integration guide

HISTORY · 2024 – 2025

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Mon █████░░░▒▒████████▒▒███████░░▒▒▒█████

Wed ████░░▒▒█████████▒▒████████░░▒▒██████░░

Fri ███░░░████████████████████░░░███████░░

░ none ▒ light ▓ moderate █ heavy

ALL-TIME STATS

Total commits 4,847

Most active month August 2024

Lines written 892,044

Longest streak 31 days

Days active 287

Avg commits/day 4.2

TOP MODULES

src/api/ ████████████████████ 38%

src/ui/ ██████████░░░░░░░░░░ 21%

tests/ ████████░░░░░░░░░░░░ 18%

Most developers
build in silence.

Behind firewalls. Inside private repos. Under NDAs. Your best work is invisible—even to you.

Six months from now, you won't remember the race condition you debugged at 2 AM, the architecture you redesigned, or the migration that saved the sprint.

With AI restructuring entire teams overnight, the developers who can articulate what they built—and why—are the ones who survive.

> performance_review.txt

"What did you ship this quarter?"

You: "Um... a lot of stuff. Let me check Jira..."

> worktale_digest.md

"287 days active. 4,847 commits. Redesigned the payment pipeline, eliminated 3 critical race conditions, shipped v2.0."

Worktale had your back.

How it works

Three commands. That's it.

01

worktale init

Run once per repo. Worktale scans your entire git history and builds your story in seconds. Installs a silent post-commit hook.

$ cd my-project

$ worktale init

✓ 847 commits analyzed in 2.1s

02

Just code.

Every commit is captured automatically. Zero friction. No extra commands. Your dashboard updates in real-time with streaks, stats, and activity heatmaps.

$ git commit -m "fix: auth token"

⚡ worktale: captured (+42 / -12)

03

worktale digest

End of day, Worktale compiles your work into a clean summary. Add your own notes. Build a log you'll actually want to read.

$ worktale digest

✓ Today's log saved locally.

Features

Everything a developer journal should be.

A beautiful CLI that surfaces the story hidden in your git data.

🔍

Historical Analysis

Run worktale init and instantly discover years of hidden work. Your longest streak, most productive month, total lines shipped—all surfaced in seconds.

📊

Interactive TUI Dashboard

A rich terminal UI with three views: Overview (today's stats + streak), Daily Log (browse by day, add notes), and History (year-long heatmap + milestones).

🔥

Streaks & Heatmaps

See your consistency visualized. A GitHub-style contribution heatmap right in your terminal. Track current streaks, best streaks, and daily output patterns.

📝

Daily Digest

Generate an end-of-day summary from your commits. Add personal notes about decisions, challenges, and wins. Build a work log you'll actually want to reference.

🤖

Local AI (Ollama)

Point Worktale at your local Ollama instance and get AI-enhanced digests—entirely offline. Llama, Mistral, CodeLlama. Your data never leaves the machine.

Zero-Friction Capture

A silent post-commit hook captures every commit automatically. Or use batch to import read-only—hooks are optional.

📁

Multi-Repo Support

Track every repo you work on. Run worktale repos to see all your projects and their stats across your entire machine.

🔔

End-of-Day Nudge

A gentle terminal reminder at 5 PM: "You shipped 1,204 lines today. Want to log it?" Never forget to capture a productive day.

🖥️

Cross-Platform

Works on macOS, Linux, and Windows. Git Bash, PowerShell, WSL2—Worktale adapts. Dual hook strategy for seamless Windows support.

Use Cases

Built for the real world.

Performance Reviews

Walk into your review with exact data. "I shipped 2,847 commits across 3 repos, resolved 12 production incidents, and led the v2.0 migration." Worktale gives you the receipts.

Job Transitions

Laid off? Restructured? Your private repo history doesn't follow you. But your Worktale digests do. A portable record of your real engineering output, NDA-safe.

Learning from the Past

"Why did we build it this way?" Browse your daily log from 6 months ago and find the exact reasoning. Your future self will thank you.

Self-Assessments & Reviews

Annual review season? Pull up your Worktale digest. Exact dates, real stats, zero guesswork. Walk in with receipts instead of vague recollections.

Consulting & Freelance

Show clients exactly what you delivered. Time estimates backed by actual coding time data. Module breakdowns showing where the effort went.

Enterprise Developers

Working on classified or air-gapped systems? Worktale runs entirely local. No network calls. No telemetry. Just you and your SQLite database.

Privacy First

Your code never
leaves your machine.

Worktale only reads git metadata—commit timestamps, messages, and diff stats. It never reads file contents, diffs, or source code. Ever.

Your SQLite database lives at ~/.worktale/data.db—outside any repo, never committed, never synced (unless you opt in).

No account required
No network calls. No telemetry.
Source code is never read or stored
Database stored locally, outside repos
.worktale/ auto-added to .gitignore
Cloud sync is opt-in, metadata only

Command Reference

Every command you need.

Requires Node.js 18+. That's it.

$ npm install -g worktale
worktale init

Initialize in current repo. Scans entire git history, installs hooks, builds your story.

worktale

Open the interactive TUI dashboard with Overview, Daily Log, and History views.

worktale today

Quick summary of today's commits, lines, files, and coding time.

worktale status

One-line status: commits today, line stats, current streak.

worktale log

Browse daily activity log. Use --days 30 to look further back.

worktale digest

Generate today's work summary. Supports local templates and Ollama AI.

worktale repos

List all tracked repositories with stats and last sync time.

worktale batch

Recursively scan for git repos and bulk-import their history. Use --since 3m to limit to recent commits, --depth <n> to control search depth. No hooks installed.

worktale hook

Manage git hooks manually. Actions: install, uninstall, status. Optionally pass a repo path.

worktale config set <k> <v>

Configure Worktale. Set AI provider, nudge time, color scheme, and more.

What's Next

Worktale Cloud

Everything stays local by default. But when you're ready to share your story, Worktale Cloud gives you a beautiful public profile.

Public Profile & Heatmap

worktale.dev/yourname — GitHub-style heatmap including private repos.

Cross-Repo Timeline

All your repos in one unified stream—the full picture of your engineering journey.

Weekly Auto-Digest

AI rolls up your week into a polished, publishable post.

Standup & Retro Generator

“What did I do yesterday?”—answered instantly.

Email Weekly Summary

Your week’s work delivered to your inbox—no login required.

Get early access when Cloud launches:

FAQ

Common questions.

Yes. Run worktale init at the repo root and Worktale tracks all commits across the entire monorepo. Each commit is attributed to the files it touched, so your digest reflects cross-package work accurately.

Worktale reads from your local git history—it never talks to a remote. GitHub, GitLab, Bitbucket, Gitea, bare repos—if git log works, Worktale works.

Absolutely. Worktale streams through git log output efficiently. Repos with 50k+ commits typically initialize in under 10 seconds. The older the repo, the better your story.

Never. Worktale only reads git metadata—commit hashes, timestamps, messages, and diff stats (lines added/removed). It never opens, reads, or stores any file contents.

The CLI is free and open source, forever. Worktale Cloud (shareable profiles, AI digests, cross-repo timelines) will be a paid product when it launches.

Use worktale batch instead of init. Batch imports your commit history read-only—no hooks, no file changes, nothing touches your repos. If you later decide you want live tracking, run worktale hook install on specific repos. And worktale hook uninstall removes them cleanly. Full control, zero commitment.

Why I built this

Twenty years of
invisible work.

I spent two decades as a consultant. Enterprise systems, financial platforms, architecture rescues—the kind of work that happens behind firewalls, under NDAs, inside private repos that belong to someone else. Every hard lesson I learned, every production incident I survived at 2 AM, every architecture decision I agonized over stayed locked in my head or buried in repos I'd never see again.

Then a four-year client engagement ended overnight. Budget cuts. Politics. The usual. And I realized something uncomfortable: I had almost no record of what I'd actually built. Four years of work—critical systems, elegant solutions, real impact—and the only proof was a line item on an invoice.

That stung. Not because the work didn't matter, but because I couldn't even articulate it to myself. When people asked "what did you ship this year?" I'd stammer through a half-remembered list of features. The details were gone. The context was gone. The story was gone.

I started building in public after that. Shipped Noundry, a suite of .NET libraries. Built nugx.org. Started writing about what I know. But the deeper problem remained: I was still losing the daily thread. The commit that fixed the race condition at 4 PM on a Tuesday. The refactor that cut response times in half. The week I shipped three features back to back. All of it evaporating into git log noise.

So I built Worktale for myself. A simple rule: every commit I make gets captured automatically. No journals to maintain. No extra tools to remember. Just code, and let the story build itself.

I run it on every project now. Noundry, nugx, client work, side projects—all of it. When I open my terminal at the end of the day and see a 14-day streak, 800 lines shipped, three modules touched, I know exactly what I did and why it mattered. That's not vanity. That's a record. And in a world where AI is restructuring entire teams overnight, the developers who can articulate what they built are the ones who survive.

Features can be copied. Stories can't. Worktale makes sure yours doesn't disappear.

GR

George Rios

Founder, Plu(rr)al

How Worktale Compares

Not another time tracker.

Most developer tools track keystrokes, require accounts, or send data to the cloud. Worktale is different—it reads your git history locally and builds your story from what you actually shipped.

Feature Worktale WakaTime ActivityWatch git‑stats git‑standup RescueTime GitClear
100% local / offline
No account required
Free & open source freemium freemium paid
Tracks git commits
Streaks & heatmaps
Daily work summaries basic
AI digest generation
Interactive TUI dashboard web only web only web only web only
No IDE plugin required
Bulk import (batch mode)
Works with any git host n/a n/a

WakaTime and RescueTime track active coding time via editor plugins or desktop agents. ActivityWatch monitors all computer usage. git‑stats provides terminal heatmaps. git‑standup shows yesterday’s commits. GitClear is an engineering analytics platform for teams. Worktale is the only tool that combines local git commit tracking, persistent journaling, streaks, heatmaps, AI digests, and bulk repo import in a single privacy-first CLI.

Let Worktale tell
your tale.

Features can be copied. Stories can't.
Start building the record you deserve.

v1.0.10 · March 2026 · Requires Node.js 18+ · Free forever · Open source