Vote Local

A Voting Advice Application to help young Kiwis to engage in local elections.


  • Python
  • Django
  • React

Work (as a developer at Springload)

  • Maintenance & Upgrades
  • Original Development


Vote Local is a Voter Advice Application (VAA), a tool which suggest electoral candidates closer to your own values and interests. It was built for the New Zealand’s 2016 local elections (and a year later re-branded and reused as On The Fence for the national elections) for the Design+Democracy Project, a research unit established within Massey University’s College of Creative Arts.

In order to get a snappy and reactive interface, we used React on the front-end which consumes an API served by Django and Django Rest Framework. Most of the focus on the back-end was put on the meat of the app, its algorithm, and performances.

The algorithm combines several approaches of VAAs in order to smooth the imperfections of each individual approaches and required  careful testing to ensure that it would still work as intended once translated into code.

Performance wise, it was hard to estimate how much traffic the site was going to receive, but with radio, newspaper and TV coverage, it was important to plan for a heavy usage. We used caching at the API level for static data (e.g. regions, candidates and answers), made several optimisations of the algorithm (e.g. using generators, only pulling into memory the strict necessary for the algorithm to function, etc) and offloaded the city avatar (unique per user) generation to some asynchronous tasks (it consists of layered SVG in the front-end but need to be rendered as a flattened PNG for social shared).

Besides development, the design process was also heavily optimised and you can read more about it in this case study.

Website design by Thomas Le Bas. Illustrations by Chloe Lassen.

Vote Local Results
The results with the candidates avatars, the generated city based on the user answers and detailed results