lab / experiment

Majority Shell

One shell prompt for everyone on this page. Each of you votes for a command, and every ten seconds the shell runs the one most of you picked. Somewhere on the machine there is a key.

published
2026-10-30
status
wip
stack
TypeScript · React · Cloudflare Durable Objects · WebSockets
livewip
notes

One prompt

Everyone on this page shares one shell. You can't run anything alone: you vote, and every ten seconds the command with the most votes runs, a tie going to the one cast first. The log is one shared history, and the prompt moves for everyone when the crowd changes folder.

The idea comes from pieces like Internet Roadtrip, where thousands of people steer one car by vote. Here the car is a shell.

Only fixed words

The shell only offers the commands that make sense in the folder it's in: ls, pwd, cd into each folder, and cat for each file. A vote for anything else is dropped before it is counted. There is no free text, so there is nothing anyone can make the whole room read.

The room

The room is a Durable Object on Cloudflare: one small server that every visitor's WebSocket connects to. It keeps each vote on the visitor's socket, sets an alarm for the end of the round, runs the winner, and saves the folder and the last thirty commands. It sleeps when nobody votes. It runs on Cloudflare's free plan, where a day past its limits stops the room until midnight UTC instead of sending a bill.