2001 2002 2003 2004-2007 2008-2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023

Voting on the Songs

The text your name feature from 2018 worked so well, that we wanted to add an additional interactive element in 2019. After some thought, we got the idea of allowing viewers to vote for the next song. After considering a few different implementations, we decided upon a simple website designed for the moble phone and that is how vote-now.org was born.

How it works

  • The front end website is a simple single page website with four tabs. It was developed using vue.js to be both reactive and mobile friendly. The source code for the frontend is public.
  • The backend is written in node.js and provides the basic endpoints for voting and getting information about the queue. (Source Code)
  • Each visitor is allowed to have at 8 votes cast at any given time. Once a song he/she has voted for begins to play, any votes he/she had on that song are returned. In addition, a new vote is granted every few minutes up to a maximum of 8 available votes.
  • To ensure the voters don't keep repeating the same song over and over again, once a song has played, it isn't available for voting for around 6 minutes.
  • We use the Falcon Player to actually play the songs on the display. This will send periodic updates via MQTT on which song is playing and how many seconds are left. These details are transmitted to each active web client via the web server. (Greg actually contributed some source code to the Falcon Player project to allow for this capability.)
  • The webserver is responsible for scheduling. The schedule is mostly driven by songs, but also by the number of names in the queue, the shows hours, and how long it has been since specific sequences were played (intro, radio station, etc.) When it has detected the falcon isn't playing a song, it send the next scheduled playlist name to the Falcon Player via an MQTT request.
  • Finally, there is another set of docker containers that records all the stats (names submitted, votes casts, songs played) and periodically reports a summary of those statistics to the webserver for distribution to browsers. (Source Code)


(Click to Enlarge)
Song List
Name Queue

Powered by PHP         Powered by FreeBSD

Greg & Mary Hormann
Copyright © 2000-2023
All Rights Reserved