John Behan - Senior Software Developer

John Behan

Senior Software Developer & Mentor

A project I am working on - How They Voted

TL;DR - Check out How They Voted and the How They Voted organisation on Github

This is an app to easily see how TDs (elected representatives in Ireland) have voted on issues in the Dáil (Irish parliament).

It is very early stages now but the goal is to create something to allow users to easily answer the question:

How did {my-local-td} vote on that issue/bill/motion?

This is what the mobile version of the app looks like:

And this is the desktop version:

Built with Svelte and Sapper

I've been using Svelte and Sapper a lot lately - this site was recently migrated from Gatsby to these in a few days.

The How They Voted app is built to run as a statically generated site using Sapper's export script.

It's hosted on Github Pages and is deployed on a merge to Master using Github Actions.

I'm really happy with it. It is very early days now but the main page of the app has a Lighthouse score of 95 - Performance, 100 - Accessibility, 100 - Best Practices, 100 - SEO.

The app is a PWA by default. I haven't done anything with this though yet, it's just built using the default Sapper settings.

Using public APIs

All the data used in the app is pulled from the oireachtas.ie servers unless stated as coming from elsewhere.

The APIs provided by the team there are very good and any questions I have had have been answered in good time and always with extra info.

I wasn't able to retrieve some data through the API so I created some scraping tools with Node and Puppeteer.

Idea and goals

The main goal for this project is to give a non-partisan view of the public dealings of our government. I believe that the more engaged and informed we are of what is happening in government, the more we can influence what happens there and can hold our elected officials to account.

I have a few ideas about where to go next with the app:

  • Better design
  • TD stats - how they tend to vote, what issues they engage with, etc…
  • Services to automate collection of data (currently happens manually)
  • Peer reviewed contributions for naming, tagging, summarising votes and debates

Contributing

There is a lot of work needed to make this app achieve all its goals. These contributions will be for code, content, ideas, governance and probably a hundred other things I haven't thought of yet.

It's my first time working on a project like this and I've regularly questioned my motives and the whole concept but it has also been fun to work on. I'm looking forward to seeing where this all goes :D

Tags

project, howtheyvoted, open source, svelte, sapper, static site, node