Skip to content
← The Lab

The Mirror

The observer effect, turned around: it watches how you move, then shows you the reflection.

This one watches you back. It measures how you move the cursor, how you scroll, how you hesitate, and builds a small portrait of you from nothing but motion. Then it shows you the portrait. The observer effect, turned around: here, observing changes the observer.

The concept

You leak information constantly. Pointer velocity, the rhythm of scrolling, the pauses before a click, all of it carries a signature, and a surprisingly small amount is enough to distinguish "alive and attending" from "idle" or "automated." The Mirror does no tracking and stores nothing on a server; it computes a behavioural profile locally, in your browser, from the stream of your own motion, and reflects it.

The math

The core signal is how disordered your motion is. Over a short window of pointer samples, estimate a normalised motion entropy from the distribution of movement directions $p_k$ across binned angles:

H=kpklogpkH = -\sum_k p_k \log p_k

Living, attending motion is structured but not rigid: mid-entropy, drifting, correcting. A still cursor collapses $H$ toward zero; a uniform random jitter pushes it toward its maximum $\log K$. A monotonic "humanness" score accumulates from $H$ staying in the living band over time, and saturates rather than resetting, so a moment of stillness does not erase you.

Why it stays strange

The unsettling part is how legible you are. A few seconds of ordinary cursor motion is a near-unique fingerprint, computed without a single network call. The Mirror keeps it local on purpose, the point is not to harvest the signal but to show you it exists. You are broadcasting, quietly, all the time.

Further reading

  • Shannon (1948), "A Mathematical Theory of Communication" - entropy as information.
  • Pimenta et al., on mouse-dynamics as a behavioural biometric.
@article{shannon1948,
  author  = {Shannon, Claude E.},
  title   = {A Mathematical Theory of Communication},
  journal = {Bell System Technical Journal},
  volume  = {27},
  number  = {3},
  pages   = {379--423},
  year    = {1948}
}