Text Message Voting

Challenge

The Wolff Center for Entrepreneurship at the University of Houston holds an event every year called Cougar Pitch where students can pitch their business idea for a chance to win $1000. In 2013, it was divided into two categories for the first time — tech, and non-tech companies. With the introduction of the tech category, we wanted to bring something a little special and technological of our own to spectator favorite voting.

I proposed allowing spectators to vote by text message, which would have a live updating graph as votes came in. This would require text messaging, a graph, and some way to do realtime communication from the server to update the graph.

Solution

I designed a simple interface to stylistically match the slide deck being used. I had played with Chart.js before, so it powered the bar graph. It required some modifications for realtime updating without doing a full page refresh.

The backend to handle incoming text messages consisted of PHP and a few MySQL tables. These were used to keep track of the individuals to vote for, the number of votes they each received, and which phone numbers had sent in text messages to prevent duplicate votes.

Realtime updating of the chart required the use of socket.io. It consisted of a second server running a simple Node script. When the PHP backend received a notification and had completed storing info in the database, it would make a request to the Node server passing along the vote details. The Node server then communicated this data using socket.io with the browser we had open running the front end. The JavaScript on the front end would receive the data, and then update the graph accordingly.

Project Details

Client: Cougar Pitch
Built: November 2013
Categories: Coding, Interface Design
Tools: Chart.js, Socket.io, Twilio SMS API