Better ballots

My wife and I got our sample ballots in the mail from the St. Louis County Board of Elections this week. It's my wife's first time voting. She looked at the sample ballot and said, "It's almost like they don't want you to understand." From the mouths of babes.

It's not bad, but as with most things: There's gotta be a Better Way.

It took 12 seconds of searching to find information about election board meetings, and how to take part in the public forum. No doubt there was, and is, a way to make suggestions, and I didn't care enough to learn how to do it. There's no sense complaining mindlessly—reckon you can find plenty of other places on the internet for that—so let's take a look at that ballot and see what I'd improve if I were King. And then let's see if there's a way to get involved.

  1. URLs for everything. Make it easy, or at least possible, for voters to get to more information. Unique URLS for every candidate is probably overkill, but for each level of government might be possible: e.g.,, /state, etc. And use internal anchors for individual positions or candidates: e.g., /ballot/federal#senator, /ballot/federal#senator-mccaskill
  2. Style. These are petty suggestions, but:
    • Font size. I measured it: 1 mm. It's hard to read.
    • Collapsed list items. If you look at the amendments and propositions on the ballots, you'll see that there are some list items there set off with a dash bullet, but instead of each having their own line they're all set in the same line. It's really hard to read. Compare (1) a recreation of how it is, vs. (2) a slightly modified version (sorry, it's still pretty small, here's a Visio file you can play with if you want to edit it):

  3. Recruit volunteers. While people are thinking about elections, recruit people to volunteer for the next one. Give people a simple URL (/elections/volunteer) or make part of the sample ballot so that it can be mailed back to the Board of Elections with a checkbox for "contact me to be an election volunteer." (Side note on volunteering: why the hell do I have to declare party membership to be an election volunteer?)

Taking off from (1) URLs for everything: it seems like it would be easy to have a big list of candidates, filtered somehow based on where the individual voter lives, and then fill that page with basic info and links to more info. For example, using the ArcGIS app linked from the country elections page, I can get my sample ballot. It's OK. But imagine instead being taken to a website for a ballot, organized something like...


  • Federal: U.S. Senator, U.S. Representative (District 1)
  • State: State Auditor, State Senator (District 24), etc.
  • etc.

...and each page might be something like...


U.S. Senator

Josh Hawley

  • Party: Republican
  • Website:
  • Bio: (100-word statement about candidate)
  • Platform: (100-word statement about platform)

Claire McCaskill




There are so many other options available, so many online resources that are basically utilities at this point, not just indulgences. Using the two most likely Missouri candidates for U.S. Senate, here are other things you could link to:

That's just a quick run-through of ideas while they were still on top of my head after studying the ballot. It's OK as it is, but it could be better. Maybe there's a current of activity and effort that I've just been missing because I've not been looking, or looking in the wrong places—after all, the minutes from the September 2018 election board meeting say that 3500 poll workers have been trained for this year's election.

I think this might be something OpenSTL could hack on. This is a civic problem and a data problem.

Leave a Reply

Your email address will not be published. Required fields are marked *