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.
how it works
qi start at the beginning of a session. The process backgrounds itself and watches without interrupting. 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
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.
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
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 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 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.
links
- repo github.com/adakosmik/quiet-instruments
- npm npmjs.com/package/quiet-instruments
- license MIT