Skip to content
← Back

Obedient to the Computer

Interactive installation · pose detection, p5.js, Arduino thermal printer · Apr 2026

You step in front of a camera and a green terminal starts giving orders. Step forward. Hold this pose. Now the next one. It watches through pose detection, scores how well you comply, and when the evaluation ends it prints a receipt of your obedience.

A visitor stands before the CRT as it shows the command 'raise both arms straight above your head'
A visitor follows the computer's commands. Round 2 of 9.

I wanted the authority to be felt, not explained. No wall text about surveillance. Just a machine that speaks with quiet certainty: a countdown, a verdict, a printed record. People laugh, then find themselves actually doing the poses. That gap, knowing it is a game and obeying anyway, is the whole point.

The installation: a CRT on a plinth running the evaluation, with the thermal printer on a second plinth
The setup. A CRT runs the evaluation, the thermal printer waits on the next plinth.

A webcam feeds live pose detection in the browser (ml5 PoseNet, p5.js). A state machine moves you through idle, detection, a countdown, nine rounds of commands, and a final score. The computer speaks each prompt aloud, and warns “one subject at a time” when someone else steps into frame. At the end an Arduino drives a thermal printer that prints your score as a receipt, with a QR code back to this site.

A hand holds the long printed receipt, showing a compliance rate, percentile, round-by-round scores, and a QR code
Every session ends in a printed verdict: compliance rate, percentile, scored round by round, with a QR code back here.
Visitors gathered around the installation during the exhibition, with the piece projected on the far wall
Visitors during the exhibition.

p5.js and ml5 for vision and rendering, the Web Speech API for the voice, WebSerial to reach the Arduino, and an Adafruit thermal printer for the receipts. Shown on a small CRT for the right glow.

View the code on GitHub ↗