skip to content

Sprint 3 and 28 by-elections


Runswick looks lovely, and it has an election coming up on the 29th.

We’re coming to the end of Sprint #3 where we’ve fixed bugs, discovered 28 elections and started on a system to get candidates for them all.

How many elections?

It’s a good question! And one that not many people know the answer to. Of course most of us know about the ‘big’ sets of elections that take place in May each year, but how many of us know about all the by-elections taking place each week?

Joe has written in the past about how by-elections are a good way to try new things and they also provide a good opportunity for us to test and improve our systems to make sure they’re ready for the better known about elections.

Finding out about them is tricky though: like candidates there isn’t a central list of them as they’re managed at the local authority level.

The good news is that a “notice of election” needs to be published by each authority before the election, the bad news is (you guessed it) the notice is normally a PDF.

Because the PDF is always published on a council web site, and we know the URLs for them all, we’re able to set up a Google Custom Search for the term “notice of election”. We’ve linked that search up to a Slack bot so that we get notified when a new search result appears.

We might be missing some, but it’s a good start. So far we’ve discovered 28 elections over the next few weeks. All of these are stored on our elections site, and have an API powering look ups.

Come and join the #elections channel in Slack if you’re interested in talking to us about this, or if you have ideas for how to learn about even more elections.

(We should note that we’re classing Parish, town and community elections as out of scope until we’re better at local authority ones)

Of course, once we know about an election it’s automatically imported into our candidates crowd sourcing site, and from there into our WhoCanIVoteFor site, and all the APIs that come with them.

We were going to ask for help crowd sourcing the candidates but Stuart got there first, meaning we have all the candidates in for all the 28 elections too.


All software has them! And because we’ve written a lot of our code in a bit of a rush because of a snap election we’ve had a little more than we’d like. Everything is holding together just about fine, but it’s important to go back and improve things. A stitch in time and all that.

Because of that, a lot of this sprint has been spent going back and improving some things that needed some love. It’s not very interesting, but it is important for all software projects to do this from time to time.

Be on our board!

We’re still looking for applications for the board role we posted about a couple of weeks ago. If you’re tempted, please do apply or feel free to ask us any questions!

Get in touch:

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