Commons
A political encyclopedia, intended to make UK politics more engaging
Commons started as an Android app, originally released in 2015. While it got good reviews for its initial release, particularly from school students, it had a rudimentary back-end which made data updates difficult (initially using an on-device database updated via app updates, and later updated by replacing it with an entirely new database file hosted on my Google Drive[!]). It also lacked ‘stickiness’ - it provided lots of information with a nice UI, but no real reason to keep using it.
A lot has changed since then, both in terms of the technology used, and the national and international political landscape.
As a result, it has been something of an albatross for me - something that I keep coming back to, implementing features and pouring many hours and days and weeks of work into, without ever having an entirely clear vision of what it’s actually supposed to be when it’s ‘done’.
I eventually dropped the idea of actually releasing it and instead continue to work on it only as a personal learning playground and portfolio piece.
It now has a Django back-end with an API and fully automated updates from primary-source Parliamentary APIs. It has career and voting histories for every MP and Lord and makes their registered financial interests readable and searchable. It has constituency maps and location features. It has user accounts and social features (although I fear the chronic migraine that would inevitably result from ever enabling them)…
It now runs as a portable Docker Compose project, instead of the fragile Pandora’s Box of a Raspberry Pi which used to sit on my desk.
Its Android client has gone through several iterations as well, originally written in Java with XML views, later experimenting with MotionLayout
and finally migrating fully to Kotlin and Jetpack Compose. More recently, I have started making a web client for it using NextJS - partly because I wanted to learn NextJS, and partly because it’s much easier to share a demo of a webapp than an Android app.
Ultimately, Commons is a failed product. But for the many challenges it has thrown at me and the necessary learning of new technologies that followed, I still can’t help but love it.