How I built a gamified, infinite-scroll video installation for the TIAT "Slop Epistemologies" exhibition—and optimized heavy web media to run smoothly on a $15 single-board computer.
Most commercial USB slide advancers emulate standard USB HID keyboard events, typically broadcasting PageDown or ArrowRight for the "Forward" button, and PageUp or ArrowLeft for "Back." We built a context-sensitive event dispatcher to map these simple physical inputs to complex state transitions:
| Clicker Button | HID Key Codes | Landing Screen | Viewing Screen | BSOD Crash Screen |
|---|---|---|---|---|
| Forward ▶ | PageDown, ArrowRight, Enter | 🔒 LOCK IN (Start) | ⏭ Skip Video | 🔒 REBOOT BRAIN |
| Back ◀ | PageUp, ArrowLeft, Escape | (No Action) | 🌱 TOUCH GRASS (Exit) | (No Action) |
const FORWARD_KEYS = new Set(['PageDown', 'ArrowRight', 'ArrowDown', 'Enter', ' ']);
const BACK_KEYS = new Set(['PageUp', 'ArrowLeft', 'ArrowUp', 'Escape', 'Backspace']);
document.addEventListener('keydown', (e) => {
if (FORWARD_KEYS.has(e.key)) {
e.preventDefault();
if (state.screen === 'landing') lockIn();
else if (state.screen === 'viewing') playNextVideo();
else if (state.screen === 'crash' || state.screen === 'exit') lockIn();
} else if (BACK_KEYS.has(e.key)) {
e.preventDefault();
// Visitors can only "Touch Grass" if the meltdown hasn't locked them in!
if (state.screen === 'viewing' && !dom.btnTouchGrass.disabled) {
touchGrass();
}
}
});
3. Optimizing for the Orange Pi Zero
Running heavy video streams and dynamic CSS filters on a modern MacBook M-series chip is trivial. Running them on an Orange Pi Zero—a tiny single-board computer with a low-frequency Allwinner ARM processor, 512MB of RAM, and minimal GPU acceleration—was an immediate performance bottleneck.
By stripping away heavy GPU abstractions and tailoring media pipelines specifically for a $15 Orange Pi Zero, BrainRot now has a rock-solid 60fps video playback loop that never stutters, never crashes prematurely, and delivers an intensely mesmerizing, inescapable critique of modern digital consumption.
If you're attending the exhibition in San Francisco, step up to the terminal, grab the clicker, and hit LOCK IN! Just remember to try and Touch Grass before the system takes you under. 😅
The complete codebase for BrainRot TV is containerized with Docker and deployed on Google Cloud Run.
SOCIAL SHARE CARD GENERATOR