Skip to main content
← All projects
Private alpha

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.