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.
$ npm install -g worktale
$ worktale init
$ worktale digest
The Dashboard
Your terminal, alive.
Tab between three views. Keyboard-driven. Renders in under 300ms.
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.
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
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)
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).
Command Reference
Every command you need.
Requires Node.js 18+. That's it.
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.
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