What's next for WhereTheyStand

Since I launched WhereTheyStand in 2020, there has been very little done to the front-end of the site (what you see). There has been more work — but still a small amount — done to the operational back-end of the site (what you don't see). There has, however, been a large amount of groundwork done to bring new functionality and a fresh new look to the site, and I want to go over some of that here.

(The timeframe for Hansard and the new Vue.js client is uncertain, but I'd like to release them both at the same time before the end of 2022. If necessary, the Vue.js client can go live first without Hansard, but not the other way around.)


In mid-2021 I spent a significant amount of time on developing a mechanism to bring full Hansard transcripts to WhereTheyStand. Work on a full parser to convert Hansard into a JSON representation (Hansard will be stored in MongoDB, rather than the current SQL database) is underway with some kinks to be ironed out. The current scope is all Hansard from 2017 onwards to WhereTheyStand. Once the parser works for this time period, I'll look at going further back.

I want to provide a reading experience that provides significant enhancements to Parliament's current Hansard reader. There is no value in just reproducing the transcript, so Hansard will not be published on WhereTheyStand until I have implemented the features I want.

Entity recognition and highlighting

When an MP mentions another MP, a party, or a role (for instance, by referring to the 'Member for Botany' or the 'Minister of Education'), I want to resolve that reference to a person or party on WhereTheyStand to enable the reader to see more about that person. When an MP mentions a particular topic — perhaps a bill, or the name of a government agency — I want to highlight that, too.

I also want to include glossary definitions for terms that might be unfamiliar to many. If an MP mentions the Regulations Review Committee, I want the reader to be able to learn quickly what that is and see a list of every time it was mentioned.

Reader experience

In addition to in-line highlighting of entities, topics and terms, I also want to provide a great reading experience with:

  • variable font sizes.
  • the choice between a serif or sans-serif typeface.
  • the ability to jump forwards and backwards in the Hansard timeline easily.
  • citation generation in key formats including NZLSG and APA.
  • contextual information about who's speaking, including picture, party, and electorate (whilst still making it clear, though, when a member is speaking in their capacity as a minister of the Crown)

Here's a very early screenshot showing how the Hansard reader in WhereTheyStand might look:

[ I'm aware these images don't display properly on mobile devices. This is something that will also be overhauled in an update to the site ]

WhereTheyStand Hansard example

A new look

I am not a designer. Developing WhereTheyStand has, for me, been a Python project that happened to require some HTML and CSS. That's resulted in what I believe is a clunky design that, in many places, does a poor job of communicating effectively. There is a distinct lack of iconography and often the design is centred around how the information is stored in the database, rather than around what the user needs to see (for instance, an MP's voting history is shown vote-by-vote rather than by grouping all votes for a given bill together).

As such, I'm redeveloping the site's entire front-end using Vue.js. The aim is for the whole site to be a single page application (with server side rendering the first time you load a page).

Here's an example of what you might expect the new layout to look like:

Vue.js WhereTheyStand, person overview (example)

Vue.js WhereTheyStand, person details (example)

Live changes since launch

Here are some improvements that have already gone live

  • in December 2020, tracking of MPs' Twitter profile metrics began. You can view some of that data here.
  • various bug fixes and enhancements have been made to scraping scripts:
    • the vote parser now recognises reading votes where the question has been put in Te Reo Māori.
    • the vote parser now supports split party voting, which is where a party vote is held but some parties split their votes across aye, no, or abstain. This has been used as an alternative to personal (conscience) voting in light of Covid-19 protocols being in place at Parliament.
    • the bill parser now properly recognises where multiple MPs are responsible for a bill, and these are now shown properly on the site.
    • general bug fixes to make bill and vote parsers more resilient to Hansard formatting anomalies.
  • database migrations to support new front-end features, such as fields for recording the legal mechanism by which an MP's term starts and concludes.

What about other features?

When I first launched the site I had intended to link in to the Facebook Ad Library to track advertising spending. This was in the context of New Zealand going through the 2020 General Election and advertising naturally being high. This is still on the feature timeline, but it's not a priority right now.

There is also the issue of expense reports and notes. Currently, MPs' expense reports are shown without their contextual notes. This has disappointed me for some time, as it does feel somewhat disingenuous to not tell the whole story when, for example, an MP apparently spends minus $9,000 on international travel in a given quarter. This will be a simple front-end fix, but the notes are not actually in the database, and so it will be a manual process to go back through previous expense disclosures and add the notes. I hope to have that done when the new Vue.js client launches.

on Saturday, 19 March 2022 at 23.23.
Last modified Thursday, 27 October 2022 at 20.04