Vereniging Nederlandse Gemeenten (VNG)

Nieuwe app voor soepelere verkiezingen.

OPDRACHTGEVER

KPN, Gemeente Den Haag, Gemeente Rotterdam

JAAR

2018 - heden

Elements, enkele gemeentes en KPN hebben de handen ineen geslagen om de StembureauApp te ontwikkelen: Een schaalbare oplossing voor meerdere platformen om stembureauleden te ondersteunen tijdens verkiezingen in Nederland. De app wordt momenteel door tien Nederlandse gemeentes gebruikt op ongeveer 1.300 stembureaus.

De StembureauApp bestaat uit een front-end applicatie, een kleine mobiele app voor iPad en Androidtablets en een volledig schaalbare back-end gebouwd in Python/Django die draait in een Kubernetes-cluster.

Wat wij hebben gedaan
Python/Django back-end, Kubernetes, Angular front-end, native mobile app development for iOS and Android

Het houden van soepelere verkiezingen met de StembureauApp

Op verkiezingsdagen deden de voorzitter en andere leden van een stembureau hun werk traditiegetrouw met de hand. Alles werdmet pen en papier en telefonisch gedaan. De voorzitter moest handmatig iedere stempas controleren met behulp van een papieren zwarte lijst met ongeldige stempassen. Zoals te verwachten, is dit hele proces tijdsintensief en foutgevoelig.

Zie hier de StembureauApp.

Met de StembureauApp kan de voorzitter snel een stempas controleren door simpelweg de afgedrukte QR-code te scannen, direct chatten met de verkiezingshelpdesk van de gemeente, checklists invullen en een sneltelling doen aan het einde van de verkiezingsdag.

Dit resulteert in het  efficiënter verwerken van stemmers, een hogere kwaliteit van de tellingen en het sneller publiceren van opkomstcijfers.

Naarmate het aantal gebruikers en de functionele verzoeken toenamen, werd een aanbesteding gepubliceerd om een externe technologiepartner te selecteren. De aanbesteding was erop gericht om de applicatie schaalbaar te maken voor verdere uitbreiding en geschikt te maken voor meerdere platformen, aangezien de app aanvankelijk alleen iOS ondersteunde. De aanbesteding werd in januari 2018 toegekend aan KPN en Elements.

Een nieuw, veiliger en volledig schaalbaar back-end

Wij hebben de legacy back-end applicatie, vanaf nul herschreven in Python/Django met een PostgreSQL-database. Er is veel moeite gedaan om de applicatie schaalbaar te maken door deze ‘containerized’ te maken en te laten draaien in een Kubernetes-cluster. Nieuwe, lichtgewicht native apps werden ontwikkeld voor iOS en Android en de bestaande Angular front-end werd geüpdatet.

Omdat we de back-end applicatie volledig nieuw opbouwden, konden we vanaf dag één de beginselen van ‘security by design’ naleven door direct beveiligingsmaatregelen in de applicatie en infrastructuur te implementeren.

Hosting verhuisde van Rotterdam’s interne infrastructuur naar AppFactory, KPN’s premium continuous delivery cloud-platform.

De StembureauApp in actie

In 2018 kwamen er nog vijf gemeentes bij die gebruik wilden maken van de StembureauApp tijdens de komende verkiezingen. Er zijn na twee verkiezingsdagen diverse wijzigingen aangebracht aan de netwerkinfrastructuur en software om de gebruikerservaring verder te optimaliseren.

Het gebruik van de StembureauApp tijdens de Europese Parlementsverkiezingen in mei 2019 was een enorm succes. In de deelnemende gemeentes werd de app in meer dan 1.300 stembureaus gebruikt, waar bijna een miljoen kiezers hun stempassen hebben laten scannen.

Eindresultaat

De belangrijkste prestatie van dit project is de transformatie van een niet-schaalbare en ‘single-tenancy’ back-end en afzonderlijke, op maat gemaakte, mobiele apps voor elke gemeente naar een horizontaal schaalbare, ‘multitenancy’ back-end en een enkele, generieke, multi-platform mobiele app. Met een druk op de knop kunnen nu eenvoudig een willekeurig aantal nieuwe deelnemende gemeentes worden toegevoegd.

Deelnemende gemeentes zijn ontzettend blij met het efficiëntere stemproces. Ze ervaren minder fouten en kunnen de opkomstcijfers veel sneller delen.

Powerpeers