about accompany

Accompany is a reconstruction of ELIZA's core logic — keyword detection, rule priority, a fixed set of rotating responses, and a fallback for anything unrecognized — rebuilt around a different kind of input. Instead of parsing what you type, it classifies how you're touching the page at all: a click, a drag, a keystroke, or something it has no category for.

the premise

Accompany is framed as an electronic pet. It doesn't understand you — there is no language model here, no memory beyond a single number — but it reacts as though your presence means something to it. That gap between the simplicity of the rule and the warmth of the reaction is the same gap that made people confide in ELIZA fifty years ago.

this version vs. the other one

This page is the legible half of the assignment: every rule, branch and priority is drawn out in the open. A second, hidden-mechanism version runs on the exact same logic but shows none of it — same inputs, same responses, no visible tree.

how it classifies you

Mouse movement always takes priority over the keyboard — a key only registers once the cursor has stopped moving. From there, input splits into recognized or unrecognized (a key combo counts as unrecognized), then mouse or keyboard, then — for mouse input only — a click or a press-and-drag.

mood

A single value from 0–100 drives the background color you see. A click adds 5, a drag adds more, and it decays quietly on its own the longer nothing happens. It's the one thing in the whole system with any memory at all.

the monologue

The line in the top bar comes from one of several separate pools — click, keyboard, drag, and unrecognized input each draw from their own, so the same action never borrows another's words. A second, independent timer tracks how long it's been since you last did anything, moving through active, short quiet, long quiet and very quiet, and it keeps talking on its own if you let it sit long enough.

→ see every line, sorted by what triggers it