Political Tools in Django

Djangonauts have opinions and they like to defend them: it’s not rare to see them actively engaged in causes they cherish.

Welcome in this Show & Tell topic about the political tools written in Django !

I can start with a couple I have made:

  • django-decision app: a delegative democracy implementation, uses WITH RECURSIVE feature of SQL, it is nice if you need a decision making feature that will scale for a LOT of decisions and users in your Django website
  • memopol project citizen lobbying weapon: a database of assemblies, representatives, votes, comissions, and so on. An activist group such as La Quadrature can host an instance and synchronize with EU Parl (with Parltrack), and French Senate and Assembly (with FranceData), and they can rate the poll options to calculate the scores of political representatives and help with campaign targeting and the likes. The big idea is that representatives with a high score are allies, those with low scores will never agree, but those with around 0 score are those who should still be open to discussion and that might change the vote balance to the decisive point. This is a tool that initially was written in Perl and that allegedly made possible the win at EU Parl against ACTA by EDRI & LQDN heroes !

What about you ?!

How did you use Django to partake in political hacktivism ?

Looking forward to read some stories !

1 Like

Securing online voting with homomorphic encryption is now possible thanks to the new Electis Django project. At Electis, we believe that electronic voting must be open source and must be in the hands of an NGO rather than private companies.

Built on top of Microsoft ElectionGuard, the story is that when you create a new election you are the “Mediator”, then you setup the candidates and voters, as well as a bunch of “Guardians”. Each Guardian downloads a private key. Prior to opening the election, each guardian must share their key in order to create a joint public key, then the voting process can open. Your vote will be encrypted with the joint public key so that your ballot itself may never be decrypted - the encryption is not symetric it’s homomorphic. When the Mediator closes the election, the Guardians go through another key ceremony which allows to decrypt the tally.

This product has been used by a group of French National Assembly amongst others, and is currently in deployment for different state organizations.

You can try it here for free: https://electeez.com

Interestingly, this project uses experimental Ryzom Python components under the hood instead of templates, and its Python to Javascript compiler and bundler instead of webpack, including Web Components written in pure Python (this is not the most advanced Ryzom project we have to show though)