The whole thing came together in about an hour, most of it spent figuring out how to mount everything rather than writing any code.
The unique part wasn’t the button, it was the timer running underneath it. Every 10 minutes, whether anyone had pressed anything or not, the booth took its own picture and dropped it straight into a Discord channel. The QR code on the monitor was the invite to that same channel, so anyone at the party could scan it and watch the whole night scroll by in real time.
That auto-capture turned into its own kind of game. As the on-screen countdown ran toward zero, you’d see a group notice, then scramble, then rush their friends into frame before the shutter went.
Components
- Lepow 15.6" portable monitor: the screen, powered over USB-C.
- Logitech C920x Pro HD webcam: the camera, borrowed from my Zoom setup for the night.
- Raspberry Pi 4 Model B: runs the capture script and posts each photo to Discord.
- A full-size camera tripod, two USB-C cables, and a couple of USB power adapters, all just whatever was already lying around.
The software
The Pi was already running a Linux desktop, so there was no OS work to do, just a quick React app on top of it. It talks straight to a Discord webhook to post each photo, no backend server in between. Before it uploads, the photo gets compressed and encoded as base64 so it can ride along in the webhook payload itself. The app itself is just a full screen web page, with Chromium running in kiosk mode so it’s the only thing on screen. When a picture gets taken, the screen flashes white at full brightness for a beat, standing in for a flash the webcam doesn’t have.
The photos across the top of this page are pulled straight from that night, auto-captures and all.