DEV Community

John Behan for How They Voted

Posted on • Originally published at boxitoff.com

1 1

Proof of concept for How They Voted

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

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay