pixelmesh
View source

pixelmesh

Calibrated in real time. Shared clock. One canvas.

A crowd as a display

pixelmesh turns a room full of phones into a single synchronised display. Audiences open a URL, hold up their screens, and become pixels in a room-sized canvas. Light moves through the crowd as if it were one piece of hardware.

Every phone gets a shared clock and a known position. A camera at the front of the room watches the audience and reads an optical pattern blinking on each screen, mapping the entire crowd into a coordinate grid in about thirteen seconds. From there, a controller broadcasts effects and each device renders its own frame locally. A distributed shader running across a room.

The point isn't graphics on a crowd. It's coordination made visible. Distributed systems run beneath everything we use, almost always invisibly. pixelmesh pulls one into the open and lets a room watch it behave.

And all of it is open. The detector, the phone client, the effects and the operator tooling are on GitHub under MIT, down to the tuning constants that only got right by failing in front of a live audience. Read the code.

An audience with their phones held above their heads, screens lit, during a pixelmesh effect
Every screen is one pixel.
The room from the back, with the camera's live view of the audience on the screen at the front
One camera at the front, reading the whole room.
An audience member holding a phone showing the pixelmesh closing card: thanks for being part of the show, and for being a pixel, with their own stats beneath it
What one pixel sees at the end.

Photographs from Test Up North, Leeds, September 2026, by testupnorth.com.

How devices find their place

Birmingham, July 2026. 46 phones located live, played at 5× speed.

The hardest problem is identification. pixelmesh solves it optically, with a single camera watching the entire crowd at once.

  • Every screen blinks its ID Manchester binary is self-clocking: a phone tilted into shadow or half-obscured still resolves, because the change is what gets read.
  • A sync preamble locks each cycle The detector finds frame boundaries with no ambiguity and pins every device to a coordinate.
  • The room maps itself in ~13 seconds No installs, no scans. Open a URL, hold up the screen.

Built for crowds, proven in venues

A room of people holding their phones up, screens lit green in unison, during a pixelmesh effect
One effect, every phone in the room, no installs.
The engineering

Each device calibrates its position into a shared coordinate grid. A central controller broadcasts effect parameters rather than pixel data, and every device computes its own output against a shared clock: a distributed shader running across the room. Low bandwidth, deterministic behaviour, and a crowd that becomes a single rendering engine.

The proving ground

The first public version used printed AprilTag markers for calibration. The current implementation replaces them with optically-encoded screen blinks, so audiences only need to open a URL. It has run live in Stoke, Manchester, London, and Birmingham. Real audiences, real venues, lighting nothing like the controlled conditions it was built in.

The audience isn't watching the show. They are it.

A few hundred phones snap into a single surface; light moves through the room as if it were one piece of hardware. No app, no install, no setup. Just a URL, then a moment that feels closer to physics than software.

Where it has run

Past shows

Inspiration

The code is public

Junkyard Jumbotron and PixelPhones were both written up well enough to build on a decade later. That is the whole reason this one is open too.

The part worth reading is not the light show. It is that a room of phones can be located by one camera with no app, no QR code and no seat map.

It is not a product. No support, no stability promise, and it assumes a laptop, a wired camera and a room.

If you only open two files, open these.

MIT licensed. Python, FastAPI and OpenCV, with comments that explain the decisions rather than the mechanism.

View source
Adam Davis

Built by Adam Davis

pixelmesh exists because coordination is invisible.

By day I lead engineering teams building systems that work at scale and under pressure. Distributed systems run beneath everything we use, yet we rarely see them behave as one. pixelmesh lets a room watch infrastructure become visible: not a product demo, an experiment in synchronisation, scale, and emergent behaviour, built solo and tested in front of real audiences.