The Rip Off Show


The Rip-off Show is, at its core, a comedy show. Contestants are comedians (stand-up and improvisors), they write jokes, and they perform a set during the intermission. But if a thing can have two cores, the second core of TRS is a gameshow. Three comedians are pitted against each other in a game of wits and humor and speed in games like “Juggalo or Cat?”, “The Price is Weird”, “Love Me Tinder”. The prize? A very bad DVD from host Geoffrey Gauchet’s ex-wife’s DVD collection she left, or from the $3 bin at Walmart. Sometimes that’s the same thing!

The show runs on three different web-apps. There’s the producer app, running on a MacBook Pro at the tech booth. It functions as a server for the other apps and is connected directly to the projector for the audience to see the display window. The projector is set up as a second monitor to the MacBook so the producer can control the show when needed. The server application UI is written in regular ol’ HTML, CSS, and JavaScript. It sits atop of a node.js server running locally on the MacBook. The server makes only one call out to the internet: to broadcast its local IP to the Rip-off Show’s remote webserver. The producer controls the actions on the display screen via buttons that use window.postMessage() to communicate with the pop-up window.

The second app is the Host App, which is served via the producer’s node.js server. It runs on an iPad to give the host as much control as possible, while still off-loading some tasks to the producer. It communicats directly to the node.js server via WebSockets with the help of

The third app is a Cordova app running on an Amazon Kindle Fire HD7 for each of the three contestants. It runs local code, but reaches out to the internet on start-up to get the local IP of the node.js server. It then uses WebSockets to broadcast to the server, and receive feedback.

These apps all allow for real-time communication between host, producer, and contestants, such as contestants buzzing in and their name lighting up on the projector screen and the host’s iPad. And with the exception of the two internet calls mentioned above, can run 100% offline, provided a local network exists.