Most measurement tools announce themselves. They beep, they flash, they demand calibration. I wanted to build something that just listened -- a set of small programs that sit in the background and record things nobody asked them to: how long a window stays open, how many times a cursor reverses direction, the interval between saves.

None of this data means anything on its own. But after a few weeks, patterns emerge that you can feel but couldn't name. The distance between intention and action has a shape. These instruments draw it.

14 discrete instruments
2,300 sessions observed
~0.4s median observation latency

how it works

01
start listening Run qi start at the beginning of a session. The process backgrounds itself and watches without interrupting.
02
accumulate signal Each instrument writes to its own plain-text log. No database, no network calls. The files are human-readable if you want to look, but that is not the point.
03
reflect After seven days, run qi reflect. It reads every log and generates a one-page summary of your rhythms. When you started. When you paused. Where you hesitated.

what it watches

/ what it records

Window focus duration. Cursor reversals. Save intervals. Tab switches. Scroll velocity over time. The length of pauses between keystrokes when you stop mid-sentence. None of these are productivity metrics. They are tempo.

/ what it ignores

Content. It never reads what you type, what files you open, or what is on your screen. The instruments care about motion, not meaning. You could be writing a novel or staring at a blank terminal and the logs would look the same -- which is the point.

findings

/ the Tuesday pattern

Across 40+ weeks of data, cursor reversal rate peaks on Tuesdays. Not Mondays (which feel harder) and not Fridays (which feel scattered). Tuesdays are where hesitation actually lives. The subjective experience of difficulty and the measured rhythm of it do not overlap the way you expect.

/ the 4-second gap

The median pause before a save is 4.1 seconds. But the distribution is bimodal -- either you save within a second of your last keystroke, or you wait 12 or more. The mid-range barely exists. Saving is either reflexive or deliberate, almost never casual.

/ scroll as thought

Scroll velocity correlates with nothing obvious -- not time of day, not day of week, not session length. It appears to be the one metric that is genuinely random, or at least genuinely private. Some behaviors resist pattern even when everything around them converges.