I built a browser tool to reskin my DEF CON 34 badge lights
At DEF CON 34, trading light patterns with other badges was a ton of fun. You walk up to someone, scan their badge, and your lights breed with theirs into something new. Back home, that stops cold: there is nobody around to swap colors with. So once the badge team published the game’s shared key, I built this tool to keep the breeding going solo, and to land the rare looks you cannot easily trade for in person, a full-spectrum rainbow and the white “chaser” dot that only Uber badges have. Then I cleaned it up so any DC34 badge holder can use it too.
Open the DC34 Badge Light Studio »
What it does
Pick a scheme. Full rainbow in a few speeds, the Uber white-chaser, or warm, fire, cool, ocean, sunset, and purple palettes. You can also flip to “breed with a badge type” and roll a real gamete from any badge (Human, Goon, Community, Village, Other, CTF, or Uber). Either way, a live preview animates the actual 8-LED ring so you see the look before you commit. Then hand it your badge’s nonce by pasting the text, uploading a photo of the nonce QR, or scanning it with your webcam, and it builds a QR. Put the badge in scan mode, point it at the code, keep the result.
Is this safe? Yes.
It touches nothing in your badge’s firmware. The light game encrypts its trades under one population-wide key that the badge team published, and bunnie’s own design assumed people would build tools like this. The whole thing runs in your browser. Each trade shows a keep-or-rollback prompt on the device, and your badge still converts to a FIDO2 security token. It reads no secrets and bricks nothing.
The fun part: badge genetics
The patterns work like a small genetic system. Trade with another badge and the two “genes” blend like DNA, with some traits winning over others. A wider color range wins, higher saturation wins, and the white chaser is dominant-off, so only an Uber-with-Uber trade reliably keeps it. That is exactly why the chaser is so hard to get in person, and why this tool seeds it and lets you keep trying until it sticks. A little random mutation makes every result unique.
To keep the preview honest, I ported the badge’s real LED render code into the browser. You see how the ring computes hue, the moving brightness wave, and the sweeping white dot, from the same math the hardware runs. It stays approximate, since your badge blends the result with whatever it already carries.
Try it here. Not affiliated with DEF CON or Baochip. Built for badge holders who want to keep the lights going after the con.



Post Comment