View on GitHub


StemApp - A voting system


At the end of 2016 we started our journey with the goal: making digital voting possible for The Netherlands. In co-creation with five municipalities, we worked together to enable citizen participation on the blockchain. We believe this is a perfect step for making digital voting on the blockchain a reality.. We have worked hard to realize the project and are pleased that a first version is now available for further development. That is why we are now doing an Open Source release of our StemApp project.

Our journey

We first wrote a whitepaper to determine the operation of the application based on blockchain technology. There were a few big hurdles we had to overcome like enabling anonymity on the blockchain, while the voters could still verify their votes. Besides that, security was of course one of the biggest facets of the project. Other things we looked at was countering strategic voting by adding ‘fake’ votes and filter these votes just before the voting ends. All these solutions were described in the whitepaper after which we started the actual development of the functionalities.

Stenden Hogeschool did a pilot with the application with their computer science students at the end of 2017 to test how the app works and collect feedback. The outcome was positive and the StemApp is ready voor the next round where security experts and third parties can go through the code in an extensive way to further improve the application.

Too progressive

At Milvum we always try to look for the best possible solution when working on a digital transformation. We work with cutting edge technologies and hardware. This mindset sometimes lead to big changes where old processes are disrupted. This was also the case with the StemApp. The Dutch laws and regulations weren’t as far as we were with the project. We also encountered a lot of resistance surrounding digital voting. We believe the technologies have improved a lot these recent years. The mistakes that are being made in the voting and counting process right now and have been made in the past are made with old hardware and technologies and it’s time to put a stop to this.

Fortunately, there are other applications for which the StemApp could be used like local citizen participation. Local authorities can obtain advice in a cheaper digital way at certain points of interest in their neighborhood or city.

Open Source

From the beginning it was clear that this project would end in an Open Source release. Digital voting is such a sensitive subject that the StemApp can never be a success if there is only one supporting party, Milvum in this case. Co-creation must take place to enable digital voting for the Netherlands. Open Source is the solution here, because it has many positive effects on the quality of the project.

So if you are interested in the project, take a look at our Github and contribute :).


The project in the current state is not market ready and thus should only be used for pilots or testing. In its current state the StemApp is not yet fully tested and not entirely secure. This version is also not yet ready for a release on the public Ethereum network. Milvum is not accountable for the use of the StemApp in any way, and the possible outcomes this may have.