This solution starter was created by technologists from IBM. The goals of this starter kit is to provide a solution for the theme of Police & Judicial Reform and Accountability.
Product Managers:
Architects
User Researchers:
Development
- Overview
- Video
- The idea
- How it works
- Diagrams
- Documents
- Datasets
- Technology
- Getting started
- Disclosures
- License
"Racism isn't getting worse, it's getting filmed" - Will Smith.
The sad reality is that police interactions with members of the Black community disproportionately end in unnecessary and avoidable escalation. Unless such interactions are captured, catalogued and analyzed, informed change, re-education and true reform will not be possible.
Whether related to routine traffic stops, stop and search or other scenarios, we aim to use technology for good to capture real-world data, provide insights and make recommendations that will drive racial equality. The key intentions behind this solution starter kit are to help enable transparency, re-education and reform as a matter of public interest and public safety. Over time, equipping good officers with information to perform their duties without bias.
At the heart of the solution resides an intelligent visualisation system, based around a map view which makes it easy for users to find single or grouped incidents. In order to facilitate the capture of incidents, a mobile application has also been created with the ability to capture incidents on behalf of a "contacted person" or an “upstander”. The solution also contains an API which could be used in order to capture data from additional sources such as existing mobile applications.
*** ***
We are team "Fair Change". The inspiration behind this starter kit comes from the lived experience of some of our team members who have been subject to unprovoked physical mistreatment, harassment, campaigns, and racial abuse from police officers or members of the public who intend to "weaponise" the police against Black individuals or communities. As we shared our experiences, it became evident to our diverse team residing in both the UK and US that the mistreatment of Black communities by the police is widespread.
At the same time, we recognized this is a very complex issue. The job of police officers who genuinely want to serve and protect the community can inherently be made more difficult based on their peers' actions. This overall can diminish the trust between the police force and the public.
This starter kit aims to create a solution that could aid in the avoidance and de-escalation of incidents and provide visibility and opportunities for long-term education for reform.
At a high level the Fair Change starter kit can :
- Enable members of the public to record incidents through a moble app in a quick, near real time and safe manner
- Capture data such as geo-location, timestamp, incident description, video and audio recordings and potential details such as officer ID numbers
- Save and Map data on a web application for reporting and future AI analysis (AI is a roadmap item at this stage)
While we recognize that our solution cannot address all of the complex challenges in current law enforcement practices, we hope that the solution presented in this starter kit can :
- Encourage members of the public to capture incidents which may otherwise go unwitnessed.
- Display patterns and correlations of incidents that can be grouped by time, location, and type to better understand the scenario.
- Inspire developers to shed light on this issue and provide them a starting point to develop future reform functionalities.
- Educate police officers, community members and corporate partners on the issues of racial injustice, police reform and accountibility.
The solution itself focuses on the core functionality of being able to take incident alerts and video recordings from the mobile app and post them into the back-end system. Once posted, the incident will appear on the map view and can be clicked in order to reveal more information. Here is a high-level flow:
- The user captures video, geo-coordinates, timestamp and an incident description using the mobile application.
- The video and other data is tranferred securely to the backend via the API.
- Video is stored in Cloud Object Storage and the other data is stored in the Cloudant DB.
- The web application facilitates the viewing of incident related data held in the DB via the API.
****Insert Mobile application Architecture Diagram ****
- User launches mobile application and records a video
- The payload (geocode, timestamp, description / type of incident and video) are all passed to the backend which writes json to the Cloudant database and video directly to IBM Cloud Object Storage (COS).
****Insert Web application Architecture Diagram ****
( Include back end service with web application )
- Incident captured by mobile device and save IBM Cloud Object Storage can be viewed on a map in a web application.
- User can click on the popup link within the map to view more detail related to that incident (the link will auto expire after a short period of time to prevent unauthorised sharing).
- ***** Add developer.ibm.com tutuorials and docs referenced ****
- *****Add APIs used ****
- Video storage with IBM Cloud Object Storage (add link)
- Data storage with IBM Cloudant (add link)
Register for an IBM Cloud account.
Log in to IBM Cloud and provision a Cloud Object Storage Service.
Step 1. From the IBM Cloud catalog, search for an instance of Object Storage.
Step 2. Give your service a name and create a Lite
version of the service
Step 3. Once you have the object storage service created go to your service in your Dashboard
and click on Create a bucket
in the Getting Started
tab
Step 4. Click on Create a Custom Bucket
. Give your bucket a unique name and select Smart Tier
. Create Bucket.
Step 5. Go to the Service Credentials
tab and click on New Credential
. Give your Service Credentials a name. Select role as Writer
. Select Advanced Options and set Include HMAC Credential
as ON. Add your service credentials.
Step 6. Take a note of your Service Credentials for the Web Appliciation Back-end
Step 1. Go back to IBM Cloud catalog and search for an instance of Cloudant
Step2. Give Service a name and create a Lite
instance of Cloudant
Step 3. Once your instance of Cloudant is created click on Launch Dashboard
Step 4. Once Cloudant Dashboard is lauched click Create Database
Step 5. Give database a name and select Non-partitioned
. Click Create
.
Step 6. Go back to the cloudant service page and create New Service Credentials. Select role as Manager
and take a note of your service credentials for the Web Appliciation Back-end
The back end is built in Node JS and handles the following:
- Writing of data from the mobile app to the Cloudant DB.
- Writing of video from the mobile app to IBM Cloud Object Storage (COS).
- Reading of data by the Fair Change Website in order to populate the map view and also to view further data related to an incident / video URL.
Follow these instructions for setting up the web application's back end
The main purpose of the Fair Change website is to host the map view and search capability. The map is built using Google Maps and the site itself is built using React.
Follow these instructions for setting up the web application's front end
The mobile application is built using React Native and will run on either iOS or Android.The purpose of the mobile app is to record real time incidents to and to submit this data to the Fair Change Incident directory.
Follow these instructions for setting up mobile app
This solution starter is made available under the -----(LICENSE).