🎲 towereye

Point a camera at your dice tray. Every roll is read and posted into Roll20 chat, with a live tray feed for your stream. Real dice, no typing.

Download for Mac (Apple Silicon) Download for Mac (Intel) Source on GitHub

Signed and notarized. Free, MIT licensed. Not sure which Mac? Apple menu → About This Mac: "Apple M…" is Apple Silicon.

How it works

1 · CameraAny camera that looks straight down into the tray: a webcam on an arm or an old iPhone as Continuity Camera.
2 · DiceShow each face once or twice. towereye learns your dice's lettering; unlearned dice fall back to text recognition.
3 · PlayDrop a die. The value pops on screen and lands in Roll20 chat through the Chrome extension.

Roll20

Install the towereye companion Chrome extension, open your Roll20 game, and every roll appears as a chat card named after the die you chose. Until it is listed on the Chrome Web Store, load it unpacked from companion/extension in the source repo.

On stream

The app adds a tray overlay to OBS in one click (enable OBS's WebSocket server once, paste the password). Nat 20s burst gold, nat 1s slam red. Pick "OBS Virtual Camera" in Discord and your table sees the dice.

Privacy

Everything runs on your computer. The camera never leaves your Mac, the extension only talks to the app on localhost, and nothing is sent to us. Full privacy policy.