Today I Built / Tinkr
A local-first build journal for AI-assisted work
2026
What it does
AI-assisted coding makes activity easy to produce and hard to remember. git log shows commits; it does not show the day: which project moved, what supports the summary, where an assistant session helped, what stayed blocked, and what belongs in a stand-up.
Tinkr is a desktop journal that reads local repository evidence into a browsable record across day, week, and month windows, and lets the person who did the work correct the story rather than accept a generated one.
Why one signal is never enough
Each available signal is incomplete on its own:
| Signal | What it misses |
|---|---|
| Commit messages | Intent, and anything that did not get committed |
| Diff statistics | Meaning — scale without significance |
| AI session logs | Whether the conversation produced shipped code |
| Manual notes | Everything the author forgot to write down |
The journal combines local commits and file statistics, locally available assistant activity, generated highlights, and manual notes, blockers, and goals — rather than treating any one of them as the truth.
Adding a repository does not upload it
The scanner reads local history into a local SQLite database and updates incrementally. No account, no telemetry, nothing leaves the machine.
"Local-first" is not enough on its own if an application quietly stores more than the user expects, so evidence has four explicit levels:
| Level | What it records |
|---|---|
| Safe | Commit identity, message, author, time |
| Standard | File events and aggregate line counts |
| Detailed | Directory and diff statistics |
| AI | Optional local assistant context |
Commit count, lines changed, and session volume are evidence of activity, not of value. Turning them into a productivity score would create the wrong incentive and overstate what the data knows — the product helps a developer remember and communicate work, not measure it.
How it is built
Tauri v2 with Rust commands, a Node sidecar for git and AI-log adapters, SQLite with Drizzle, and a React and TypeScript interface. Roughly 150 source files over 186 commits, with tests across both the native and TypeScript paths.