Schedule A Map Project

The Schedule A Map Project is an event scheduler that addresses a couple gaps in existing schedule tools. That is, it not only provides alerts for upcoming activities for an event, it also identifies the location of the activity on a map. For example, it supports an event (such as a tournament, jamboree, music festival, livestock fair, etc.) by providing users the ability to select specific participants to monitor. The monitor being not only a set of countdown timers to each activity the participant is scheduled to participate in, but also the location of that activity. This application can be accessed at . It is currently in development with plans to be partially operational by June 2020 for the MBYLL’s Annual Jamboree.

The QR Lab

The QR Lab is live at! We built a free easy to use QR code generator. The future goal of this project is to provide free dynamic QR codes. Dynamic QR codes provide the ability to change the destination. This is useful when you’d like to print QR codes on a business card, t-shirt, etc and think that you may change the destination of the url in the future. This prevents having to re-print and having hundreds if not thousands of QR codes that result in going to the wrong place!

Javascript Symfony DateTime Calculator

This student/teacher combined project is a javascript tool that fills a gap in the Symfony framework (a PHP Web Framework). The tool can be used to automatically calculate and/or update 1) End date time from a beginning date time and duration, 2) Beginning date time from an end date time and duration, and 3) Duration from a end date time and beginning date time. Since it uses javascript, it provides these calculations without call backs to the server. The tool (in its current form) can be accessed at it GitHub repo. Future improvements will be made.

Symfony To Jelastic Automatic Deployer

This is a customized deployer used to speed up the deployment of Symfony projects to LGDOR / Leominster Coding Academy’s Jelastic Host. The project uses EasyDeployBundle default deployer to automate the deployment of Symfony projects to Jelastic, including the ability to deploy a Symfony Webpack Encore project and projects that exist in repository subdirectories. The tool and extensive instructions can be found at its GitHub repo.

Car Share Protect

The Car Share Protect project is a business incubation project designed and developed by Leominster Coding Academy students and instructors with the objective of providing consumers and the insurance industry with a policy comparison tool for the up and coming car-sharing market. This tool is being used to incubate a local insurance company. The project makes use of PHP, Apache, Symfony, Doctrine, MySQL and other related tools.

You can check out the site at

Universal Vote Project

The Universal Vote Project has been temporarily taken down for upgrades. When it becomes available, you will be able to access the project’s site at:

The previous version of the Universal Vote Project was released as a Java EE 7 Enterprise Application using Wildfly 10 with PostgreSQL 9.3 on the Jelastic eApps PaaS. This version used only example elections (elections couldn’t be created and managed by the public). It is currently being migrated to the latest version of Java on a Payara Java EE server. The next version will include the ability to create and hold elections dynamically by the public as well as the ability to upload bulk ordinal, score-type, or constraint-based election preference information for analysis by the universal vote system.


What Happened During the 2009 Burlington, VT. Mayoral Election?

In November of 2009, Burlington, VT held a mayoral election. This election created many questions about election system outcomes. The issues didn’t come from voter fraud, hanging chads, or ballot counting errors. They would be present even if that election system was set up as designed and operated flawlessly. Instead, they came from the election system itself.

The issues with this election were realized only because four things associated with that election actually occurred. First, the Burlington mayoral election had five different candidates running in the election. Second, none of these candidates received a majority of the votes. Third, since Burlington uses the instant runoff election system, the city collected the entire ordinal preference of each voter for all the candidates on the ballot (e.g., each voter had to indicate the order of their preference for all the candidates by indicating first, second, third, etc. for each candidate on the ballot). Fourth, the city made those ballots public on the web (Annual City Election Results, 2009).

Since the ballots contained the entire ordinal preference structure for each voter and they were available on the web, one could download those ballots and use them to determine the outcomes of other election systems that also make use of ordinal preference structures. The outcomes of some major elections system types are presented in Table 1. These outcomes were generated using the same ballots as the Burlington election.

Table 1. Election system outcomes calculated from the ordinal preference information contained in the voter ballots from the Burlington, VT 2009 mayoral election. 
Election SystemResultsaWinner
Instant Runoff b (actual one used by the city)1st round: Kurt Wright (2951), Bob Kiss (2585), Andy Montroll (2063), Dan Smith (1306), Write ins (36), James Simpson (35) 2nd round: Kurt Wright (3294), Bob Kiss (2981), Andy Montroll (2554) 3rd round: Bob Kiss (4313), Kurt Wright (4061)Bob Kiss
Plurality b (used by most American governmental bodies)Kurt Wright (2951), Bob Kiss (2585), Andy Montroll (2063), Dan Smith (1306), Write ins (36), James Simpson (35)Kurt Wright
Majority bKurt Wright (32.88%), Bob Kiss (28.8%), Andy Montroll (22.98%), Dan Smith (14.55%), Write ins (0.4%), James Simpson (0.39%)No majority winner
Condorcet c (if head to head elections were held)Kurt Wright wins over everyone but Bob Kiss & Andy Montroll Bob Kiss wins over everyone but Andy Montroll Andy Montroll wins over everyone Dan Smith wins over everyone but Kurt Wright, Bob Kiss, Andy Montroll James Simpson only wins over the write ins The write ins do not win over anyone Andy Montroll
Borda Count (n=5) dKurt Wright (16955), Bob Kiss (17221), Andy Montroll (19455), Dan Smith (15904), James Simpson (3415), Write ins (422)Andy Montroll
Coombs Method e1st round (no majority): Kurt Wright (3594), Bob Kiss (3286), Andy Montroll (2384), Dan Smith (3012), Write ins (8808), James Simpson (6942) 2nd round (no majority): Bob Kiss (4447), Andy Montroll (3292), Dan Smith (4639) 3rd round: Bob Kiss (4447 – majority 54%), Andy Montroll (3292 – 46%)Bob Kiss
2-Round Instant run off (top two pluralistic winners go to second round) c1st round: Kurt Wright (2951), Bob Kiss (2585), Andy Montroll (2063), Dan Smith (1306), Write ins (36), James Simpson (35) 2nd round: Bob Kiss (4314), Kurt Wright (4064)Bob Kiss
NOTES:a. The candidates on ballot include: Bob Kiss (Progressive-Incumbent), Andy Montroll (Democrat), James Simpson (Green), Dan Smith (Independent), Kurt Wright (Republican), and write-in candidates combined (called “Write ins”). Candidates eliminated in a particular round are lined out. The score received by a particular candidate is indicated by parenthesis after their name.b. Annual City Election Results (2009). 2009 Burlington Mayor Election Results. Retrieved 12/15/09 from Also note it does not appear this web site is still operational (probably because of law suits). However, even though the data is no longer public, it was public, and was downloaded. The results still provide an example to the paradox and prove how prevalent these paradoxes could be.c. Assumes voters were all transitive in their preferencesd. There was no effect to outcome order when n = 5 was changed to n = 6 for the Borda count method. It was also assumed when voters did not include a particular candidate in the ranking that they wanted to give that candidate zero points.e. In the Coombs method, candidates not ranked on ballots were counted the same as last place votes.

Of course, the most interesting thing one should note from Table 1, is that the winners are not the same! The different election systems generated different outcomes. In this case, while the instant runoff system avoided the vote splitting issue associated with the pluralistic election system, it did not choose the Condorcet winner. To many, the Condorcet winner is a more appropriate winner than those chosen by other systems because the Condorcet winner is the candidate who can beat all the other candidates in head to head election contests. However, many times a Condorcet winner does not exist just as many times a majority winner does not exist.

Once the Burlington electorate learned of the results of those different election system outcomes, it caused them to reconsider the benefits of the instant runoff voting system (Baird, 2009; Gierzynski, Hamilton, & Smith, 2009; Marron, 2010; Slota, 2009). And in 2010, apparently the citizens of Burlington voted to modify the system (Marron, 2010).

While folks for and against one system or another argue over which system is the best to use, they lose sight of the real prize residing right before their eyes: the Burlington issue was only realized because the city’s election system collected the voters’ entire ordinal preference for the candidates. The ballots simply have more preference information than ballot’s most of us are used to seeing in plurality elections. Plurality elections only require voters to indicate their most preferred candidate. In the Burlington system, the voters were able to communicate more information about the alternatives. This additional information can be used to analyze and aggregate more outcomes. 

Generally, ignorance of the electorate’s entire preference structure has caused these issues to go unnoticed by most democratic participants around the world causing a type of democratic bliss. Even so, some participants have deduced at least one paradox associated with election systems. That is, many have learned that when three candidates are present, it is possible for a less-preferred candidate to win plurality elections because an electorate’s majority may split its votes between two similar candidates. This realization caused Burlington and many other cities and democracies around the world to establish the instant runoff and runoff election systems to avoid such situations. However, as can be witnessed by the Burlington situation, their instant-runoff system isn’t perfect. There are many different types of paradoxes associated with group decisions!WHAT DOES THE UNIVERSAL VOTE PROJECT DO?

The Universal Vote Project cuts to the chase. The project does not fuss about which system is best because it does not limit itself to a single system. Instead, the Universal Vote Project works to collect enough preference data on the ballot to make it possible to generate the outcomes of all the systems! (Well, as many as possible.) And then the project works to make this tool easy enough to be used (like any other electronic election system). There’s no sense arguing over a particular election system when you can have them all… At least that’s what motivates the Universal Vote Project.

Annual City Election Results (2009). 2009 Burlington Mayor Election Results. Retrieved 12/15/09 from

Baird, J. (2009). Petition challenges Burlington instant-runoff voting. Retrieved 1/20/10 from

Marron, D. (2010). The Feud over the 2009 Burlington Mayoral Election. Retrieved 12/7/15 from

Gierzynski, A., Hamilton, W. & Smith, W. (2009). Burlington Vermont 2009 IRV mayor election. Retrieved 1/20/10 from

Slota, B. (2009). IRV opponents want special election. WCAX news. Retrieved 1/20/10 from