BOB: a Basic On-line Ballot-box

First things first. Electronic voting is a thorny topic, and unavoidably so. Please think very carefully about the risks involved, and definitely do not assume that I've done so for you.

The BOB system is designed to be an electronic version of a ballot box for Single Transferable Voting elections. The original BOB distribution only provided a means to collect ballots, but the system has been significantly extended by other developers, in particular Martin Lucas-Smith.

BOB moves to Github (but remains archived here too)

To ease its subsequent development, the project is now hosted at Github, however the complete BOB project page as it was prior to the Github shift, and its linked release versions (good, bad and/or ugly) remains available as an archive.

An installation of BOB that sees significant amounts of use is run by CUSU at


The BOB system is intended to be used in a context where people will verify that their votes were recorded correctly after the ballot: thus the software itself cannot cause an undetectable manipulation of the election's result (although this approach introduces other potential problems, such as provable vote selling).

I hope this software might be useful to you, but as the GPL says, this code doesn't come with any warranties! None of the people involved with writing, testing or checking this code have been contracted to do so. While I would be very pleased to know that it is assisting larger organisations' elections, the code was not originally written with that target in mind. Of course, I haven't set out to write a completely broken system either!


Most of the core electronic voting system code was written by me (David Eyers). However the extra checks and balances, administration, configuration and installation support written by others now completely eclipse the core voting system in terms of lines of code. Significant contributions have been made by:

  • Martin Lucas-Smith
  • David Turner (
  • Simon Hopkins (
  • Robert Whittaker (previously