skip to content

I, for one, welcome our new SlackBot overlords


As a remote team, we live in Slack and the bots we make live there with us. This week we’re going to meet some of them.


In order to populate our Every Election platform with the details of upcoming elections, we need to find about upcoming elections. For major scheduled elections this isn’t a problem, but keeping on top of the plethora of local by-elections happening up and down the country every week is more of a problem. Sometimes our volunteers tell us about a by-election, but most of the time our bots sniff them out for us. We have a series of scrapers looking for Notice of Election documents posted on council websites and scanning various campaigning websites. When the scrapers find something that might be an election, our Election Radar bot posts a message to #elections so we can review it.


Each possible election needs review from us because often the scrapers discover false positives or elections we already know about. We’ll be looking to improve and refine this process over time, but the Election Radar is already providing a lot of value. We think we’ve been able to provide candidate data for almost all of the local by-elections since September this year. Manually looking for these elctions would have been a massively time-consuming task.


Once we know about an election, the next thing we need to do is collate a list of candidates over on our crowdsourcing site. The first step is to find a Statement of Persons Nominated (SOPN) document for the election and add the name and party for each candidate standing in the election to our candidate database. Once that is done, the candidate list is double-checked against the SOPN and locked. Because anyone can contribute to this process, this is a community effort, and in order to co-ordinate it our community needs a way to keep track of upcoming elections. We need to know which elections we already know about candidates for, and which elections are missing candidates. As regular readers will know, we often refer to our crowdsourcing community as wombles. Enter Orinoco:


Orinoco posts to #candidates once a week with a summary of this months elections and our progress so our volunteers know where to focus their efforts each week.

User Feedback

Once we know about the candidates standing in each election, the data is surfaced on Who Can I Vote For?, where it can reach a wider audience. We’re always looking for ways we can improve our public-facing websites, so we collect user feedback via a form which asks the question ‘Did you find what you were looking for?’. We want to be continuously aware of user feedback (good and bad), so we have a slack channel for it. In the period leading up to a major election, we post an hourly summary to #website-feedback. During the off-season, we drop down to daily:


We also recently published a more extensive review of some of the user feedback we received on ‘Where Do I Vote?’ in the period leading up to June’s general election.

Where Do I Vote?

Where Do I Vote? (our polling station finder) relies on a number of data sources which are published by various different organisations according to different schedules. Keeping track of it all is a bit of a nightmare, so we made a bot to do it for us. Polling Bot checks APIs and data portals of around 50 councils publishing open data on polling stations and districts. It also checks release schedules for other geographic data published by the Office for National Statistics and Ordnance Survey. If there’s new data we need to update, Polling Bot lets us know on Slack:


and it can raise Github issues for us too.

If you want to see our bots in action or get more involved with Democracy Club you can join our Slack.

Get in touch:

Jump into the online chat in Slack, tweet us, or email