Flote (pronounced like the word "Float") serves as a way to demonstrate the way how the instant runoff voting system (also known as ranked-choice voting, preferential voting, and absolute voting)[1] works in comparison with the first-past-the-post system currently used in the United States and some other places.
The motivation behind Flote has been my understanding or rather my initial difficulty in understanding how the instant runoff voting system works. As a general principle, the system repeatedly eliminates candidates and redistributes the votes cast for the eliminated candidates to candidates that haven't been eliminated, according each voter's ranking of the candidates. The principle can be easily explained in a few sentences, though the difficulty that I have identified is how the progression of vote redistributions occurs in the real world given some election data. Using randomized data can give a good picture of what some potential data looks like for a given number of voters and a given number of candidates.
This project is in its very initial stages of being started. The current stage is doing some research to solidify the knowledge that I have on this topic to guid the general design for this project, prior to the beginning of the development process. In order to maximize productivity, I'm intentionally blurring the boundaries between different stages in the software engineering process here in a more Agile focused method. As such, while these initial stages do appear to be in a more rigid progression from problem research to design to development, this is more to have a fundamental picture of this project, including the central objective. After the determination of the fundamental picture of the project, the rigidity will decrease dramatically as work can start on different parts in a more flexible way.