This server hosts the wall display + per-visitor controllers for an art-installation version of the moist-cryptography v2 protocol. Visitors capture a face at the camera kiosk, scan the resulting QR with their phone, and edit a 16-slot “shadow” whose state is mirrored on the gallery wall in real time.
The gallery display. Always-on, full-screen, observes the active session.
Token is set via WALL_TOKEN env on the backend.
The phone controller. Loaded by visitors via QR scan after the camera Pi
has minted their session slug. See docs/FACE_PROTOCOL.md for
the slug wire format.
Claim-once endpoint. { slug } body. First valid claim of a
unique face wins; subsequent attempts return 409.
Bidirectional state channel. Wall + controller subscribe; controller sends insert / extract / mutate / solve actions.
backend running. healthz: /healthz