Challenge Project

fairelection 🏆

Tools for political simulation and stimulation

📂 Demo

Winner of the DINAcon 2021 Open Community award. Member of the Prototype Fund.

{ hacknight challenges }

Try the online tool for political simulation, which uses existing data from past federal elections and get a feel for the platform. Create a user account and go through the process to define your first vote monitoring.

Try uploading candidates with the spreadsheet template. File any bugs or improvement ideas you find in the issue tracker (Contact button below).

Deploy the code locally. Do some security profiling or pentesting. Report the results to the team.


FairElection creates a tool for political organisations, civil society organisations and companies to select candidates according to their self-chosen criteria of diversity/representation. In addition, everyone can use the tool to simulate the results of the latest National Council elections (2019) by modifying these same diversity criteria.

The FairElection tool supports political parties, civil society organisations and companies by monitoring internal selection processes and drawing up lists of candidates. The method works in two steps. First, members, supporters and/or the general public can choose their criteria for representation. What criteria will such a list have to meet? Gender parity, representation of the generations, place of residence, level of education? A first vote is organised to choose these representation criteria.

Secondly, these chosen criteria are applied during an internal selection process. In a second vote, voters choose their favourite candidates. The freedom of choice of voters is not limited. They themselves do not have to create the perfect list that meets the criteria. It is the FairElection algorithm that ensures that the criteria chosen in the first vote are applied to the election result. The group of winning candidates will therefore be the one that satisfies the chosen criteria while respecting the democratic choice of the members.

This way, the winning group of candidates will be satisfying the criteria chosen by the user, while respecting the democratic choice of members. The algorithm provides a mathematical guarantee that the winning group is the one that obtains the most votes while respecting the criteria.

The platform FairElection is available here :


This part of FairElection is responsible to solve "mathematically" the linear equation. It takes as input the different criteria set by the user and gives the best solution.


This part of FairElection is responsible for business logic. It manages the user profiles, the election instances, the citeria and the business flow.


This part of FairElection is responsible to display the user interface.


To get it working, follow these steps:

Backend setup

Client setup

Open Source

FairElection is open source!

This content is a preview from an external site.

Event finished

Added issue #7 about the upload error we were seeing.

29.10.2021 21:08 ~ loleg

Posted a comment about GPL licensing.

29.10.2021 21:08 ~ loleg

Event started

Repository updated

29.10.2021 14:51 ~ loleg

First post View challenge

29.10.2021 14:50 ~ loleg


All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the Hack Code of Conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody.

Creative Commons LicenceThe contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.