What the Iowa Caucus App Can Tell Us About Software

What the Iowa Caucus App Can Tell Us About Software

by admin February 17, 2020

Recently, the Democratic National Committee attempted to run the Iowa Caucus vote on a mobile app. This is certainly a forward thinking measure, and pushes the boundaries on the current voting system, which one could say is slightly outdated. However, the Iowa Caucus app resulted in less than stellar expectations.

This bright idea was blundered with poor execution, questionable intentions, and unrealistic expectations. It seems like the software engineers on the project were just out of coding school, under prepared for the requirements of building a critical piece of software.

It begs the question, why were they building an app in the first place?

Don’t get me wrong.. we BUILD APPS for clients and make a living doing so. It’s fully in our best interests to persuade companies to build apps. Often, we end up persuading them NOT to build an app.


Apps can introduce a tremendous amount of overhead that teams were not anticipating long-term. The average mobile engineer salary is around $100k per year, and an app is often an ancillary piece of the business. Not the core component.

What if we could build a voting app with a ubiquitous piece of technology that nearly every human has access to? The text message.

Our goal is to build a voting app without a complex interface, just a simple execution on a known task.

Before we begin, let’s understand what the critical pieces of a voting app are.


I can’t think of a more important feature of a voting app. If you vote for somebody, you want that vote to count for that person. You certainly don’t want duplicate voting. You certainly don’t want voting errors. You want one vote to equal one vote, and you want assurance that the vote you cast ends up going towards the party you intended.


Not only do you want the vote to count, you want to make sure it goes through when you want to place it. An electronic voting system is no good if you can’t vote. When we think of reliability, there’s nothing more reliable than Lambda. Lambda is specifically built to handle large bursts in usage. It allows you to easily scale up when you need to and scale down when you don’t, and it’s a huge piece of our recommended infrastructure for 2020.


If your voting app is not secure, it’s essentially useless. Granted, SMS is certainly not the most secure solution, it’s certainly a worth competitor to our current opaque paper voting system. Third party SMS providers are a vulnerability, and there’s no way to be 100% certain that an evil third party is not interfering with our election. However, there’s the potential for much more transparency than our current system.

Imagine a world where you could register to vote, verify your identity, and vote all through a text message interaction on your cell phone. Sure, it’s not a perfect solution, and there’s plenty of edge cases to iron out. But it sure seems like a step in the right direction compared to our current system.

If you’re interested in how we built this system using AWS and Twilio, check out the Github repository. If you want to see a demo, text “VOTE” to (530)-723-1437.



Social Shares

Related Articles