Building Memba O! - Several weeks later.

Houston (or Freetown?) — we have a prototype!

Alan Kawamara
Code For Africa

--

It’s been quite the busy weeks of creating since my last post. My process kicked off with designing Wireframes, User Interfaces and Data Models that I later translated to the application database schema as well as templates, classes and functions of actual code. As I had intimated in my first post, the application was built using PHP, some JavaScript and a MySQL database.

Application landing page

The application basically captures and manipulates Parliamentary data around 3 key models — Leaders, Committees and Bills.

Managing the profiles of Members of Parliament

These are our dear Members of Parliament (MPs), our representatives in Parliament, the makers of the legislation that govern our lands.

The application helps put faces and biodata to the names of these Honorables as well as indicate their political leaning and membership of the various Parliamentary committees if any. Other features include MP rating (out of 5) functionality and an opportunity to gauge popularity by having a ‘Like’ button on each leader’s public profile.

Leaders interface with Admin Panel

In addition to enlightening the public on who represents us, the application more importantly captures the MPs participation in terms of attendance records.

Public facing MP page showing biodata, committee membership as well as personal attendance statistics

How attendance data is captured

All Parliaments have a schedule of when their members meet to carry out House business. The application has modelled this Sitting Calendar allowing us to create calendar events of when all MPs are expected in Parliament. For each of these events, we are able to mark an online attendance register (as is done in an actual Parliamentary sitting), therefore capturing which MPs were present or not.

From these attendance records, the application then auto-generates personal attendance statistics for each MP, which we can benchmark against general attendance averages to give an idea of how much (or little) effort your MP is putting in — at the very least showing up for parliamentary debates, let alone represent you through active debates.

Yay! Code! — Function to calculate the average attendance rate of MPs

The application also uses these attendance records to auto-generate a Top 5 list of MPs with the best and worst attendance records on the homepage.

This attendance data can also be used to accurately tell how much your MP bagged in sitting allowances over their term. This data cross-matched with how many times an MP actively participated in Bill debates or public committee meetings can let us know those who literally didn’t earn their keep, are ineffective and definitely don’t deserve another stab at a slice of our tax money come election season.

Tracking Bills from the floor of the house to enactment

A Bill is a proposal for a new law, or a proposal to change an existing law that is presented for debate before Parliament. Before a bill becomes law (an Act), it goes through a set of well established stages.

This model let’s us capture the bills the MPs are working on throughout their term. The application collects the bill name, brief description, date of introduction into the House, bill type and MP who moved the bill.

Bills interface within the Admin panel

As the bill progresses through it’s set stages, the application is able to record these status changes and dates of when they transpired. This in turn can let us extend the application to allow citizens keen on a given bill receive automated notifications (via email, SMS or social media bots) on these activities and therefore stay informed on what is being churned out of Parliament.

Public facing Bill page showing various bill particulars as well as progression in the House

Committees… so many committees…

By definition, a parliamentary committee is a group of Members appointed by Parliament to undertake certain specified tasks. Most parliamentary committees investigate specific matters of policy or government administration or performance. Other parliamentary committees are responsible for matters related to the internal administration of the Parliament.

The Committees section of the application allows us to capture data on the various Parliamentary committees, their membership as well as details of their actual work, represented in form of committee meetings.

Committees interface within the Admin Panel

Attendance records of MPs who sit on these committees are taken once every meeting is concluded, simply recording who was present and who was not.

Public facing Committee page showing description of Committee, associated meetings and membership

Minutes of these committee meetings can also be updated via the admin panel as a record of what transpired, helping to openly curation the work in Parliament.

Search, because exploration is only fun the first time

Lastly, the application incorporates a comprehensive search system that lets users easily find data around the above key data models.

Search results for ‘a’ highlighting the type of data

This way, users are able to easily find and interact with the data that is continuously being created by the application — and in a way create an open parliament and more responsible citizen representatives.

In my next post, and last of this Innovation Fellowship, I will share on future possibilities — my thoughts on how we can better this solution to something more interactive and engaging.

The d|Bootcamp in Sierra Leone was based on a Code for Africa model first pioneered in Kenya in 2012 that has since been adopted across the world, with 32 bootcamps hosted in 27 countries. The Freetown event follows Code for Africa’s earlier pioneering work in Sierra Leone, where it partnered with the World Bank to help kickstart data scraperthons during a 6-week Open Data Festival 2016 in March 2016. You can read about the scraperthons here.

The World Bank’s Governance Global Practice (GGP) supports client countries to help them build capable, efficient, open, inclusive, and accountable institutions. This is critical for countries to underpin sustainable growth and is at the heart of the World Bank’s twin goals of ending extreme poverty and boosting shared prosperity.

Code for Africa is the continent’s largest federation of civic technology and open data laboratories, with affiliate members in 10 African countries and funded projects in a further 12 countries. CfAfrica manages the $1m/year innovateAFRICA.fund and $500,000/year impactAFRICA.fund, as well as key digital democracy resources such as openAFRICA.net and GotToVote.cc.

--

--

Alan Kawamara
Code For Africa

Building for the internet. Lead developer @ Corporate Art East Africa.