Code Activism — Learning with Blue Witness

Casey Cerrito
6 min readJun 21, 2021

How it started:

I attended Lambda’s full stack web development boot camp which is a 6 month intensive course in coding. In this program we got to cover a wide array of coding languages and styles from front end (Redux, React, CSS, HTML, and JavaScript) to back end (Node.js, PostgreSQL). In the last month at lambda we got to take part in ‘labs’ which is where we get to work with a non-profit to build an application for their cause.

In June of 2021 I had an opportunity to work with a team of developers on a fantastic new application called Blue Witness. Blue Witness is a web based app that visualizes user reported data around police ‘use of force’ in the United States. It uses a complex Twitter bot to scrape data from all over the U.S, and rate each incident by the level of force used by the Police during the incident. Helping Reporters, Journalists, and Researchers find quick and accurate data regarding the quantity, severity and location of these incident reports.

Incidents shown with map functionality

What’s the issue:

Blue Witness has an awesome goal and I was excited to get started on this project. The parent website is known as HumanRightsFirst.org, they aim to empower innovation and enable Justice, while holding human right abusers accountable. A few of the challenges we were faced with included; accuracy of the data being used on our app, the need for a logo for the application, and some minor functionality issues along the way. Once we understood what was needed the planning process could begin.

Human Rights First is an independent advocacy and action organization that challenges America to live up to its ideals. [We] believe American leadership is essential in the global struggle for human rights, so [we] press the U.S. government and private companies to respect human rights and the rule of law. When they fail, [we] step in to demand reform, accountability and justice.”

The Plan:

The team I was grouped with, along with our technical product lead, met twice daily to talk about plans and what we were working on for the day. We would structure our plans out with the use of the Trello board so it would be easier for everyone to know what they were working on. When entering into the project we were handed some pre-existing code from the former labs cohort to start with. The first couple of days were spent studying the code and seeing the path they were going down. After understanding the code base, we split our team into smaller more specialized groups and began to discuss within those groups what sort of bug fixes or features we needed to implement. At this stage, communication is essential to ensure that each group, while working independently, was not tackling the same issues. Once we had updated our Trello board, selected our tasks and set ourselves up for success, we got to work.

Getting into it:

During the planning portion I decided to take a role as a Front End Developer for this project. The team and I addressed a few of the more pressing design issues, Including the placement of certain elements, and unifying the color schemes between the application and the Human Rights First website. A set of design rules were implemented and we got to work on making the proper changes. One of the challenges many new Web developers have is learning new libraries, a recent change from traditional CSS to a more robust library called Ant Design was implemented recently. After learning this new library I got to work making the changes discussed with the team.

During the planning portion I decided to take a role as a Front End Developer for this project. The team and I addressed a few of the more pressing design issues. This included placement of certain elements, and unifying the color schemes between the application and the ‘Human Rights First’ website. A set of design rules were implemented and we got to work making the proper changes. One of the challenges many new Web Developers have is learning new libraries. (a recent change from traditional CSS to a more robust library called Ant Design was implemented recently). After learning this new library I got to work making the changes we had discussed with the team.

I started working on the Home Page with minor alignments and fixes, as well as background color changes to the navigation bar and button color. Changing from a bright harsh blue to a deeper blue that was more indicative of police, and also matched the color choices made by the main website. After I was happy with the home page, myself and another team member started work on the Graphs section. We noticed some of the data was inaccurate due to the way the graphs were being displayed.

Graph showing the total number of incident reports per month

After the changes made to the Graphs were taken care of I was one of the members tasked with the creation of the Logo for Blue Witness, I provided 4 mock-ups of different styles that were talked about during our design meeting, and submitted them for review by our Design Lead.

Logo chosen by the stakeholder

Some of the other changes I made during my time working on Blue Witness are as follows:

> Fixed margin issues with images on the Admin Login

>Wrote code that hid bar graph when states were filtered

>Helped fine tune the incident tracker created by data science members to ensure accurate data was provided

>Co authored code with other members on multiple bug fixes and feature implementations

After creating documentation outlining some of the things the next cohort will need to know when they dive into this product next month and wrapping up any left-over tasks on the Trello board. It was time to leave Blue Witness in the next group of Lambda students capable hands.

Results:

Labs has been an incredible learning experience. It really showcases what it’s like to be part of a working team within the tech industry. During the last month we addressed the main challenges with the product and came together as a team to solve them. The product looks better than ever, the data it produces is more accurate, and the future of Blue Witness is looking good! We had one final Stakeholder meeting with the CTO Welton Chang, and he was very surprised by our progress during the month.

Looking to the Future:

There is still work to be done! As Lambda students we understand that Labs is not about completing a project, but rather a month long learning opportunity where we get to showcase what we have learned thus far. We will be passing this project on to the next group in hopes that they learn as much as we did during our experience in Labs. Everyone involved in Human Rights First Blue Witness is happy with the work we got done, and excited to see what happens with it in the future.

Going forward some challenges that we would want to address are those with responsive design in mind. The application is not set up currently to be viewed on a mobile device, this is something the stakeholder has mentioned will be implemented in the future. Also the Twitter bot will need to be continually updated to ensure data is as accurate as possible. This will be achieved by training the bot consistently over time to recognize the severity of incident reports it’s finding.

Lessons Learned:

I learned so much during my experience in Labs this last month! I got to see how a real world project is handled by a team of developers first hand. The value of communication cannot be overstated in these settings, with many groups of people, all with different backgrounds and skill sets, communication is key to a healthy and productive work flow.

Another lesson I learned during this month was the value of reading documentation, and understanding a new code base. Being able to read another developer’s code, and sift through how everything is written is an invaluable skill, and outlines the importance of commenting and correctly formatting your code.

Working in Lambda Labs has been a very rewarding and educational experience. I would recommend this program to anyone looking for a career change to a Tech related field.

--

--

Casey Cerrito
0 Followers

I am an avid student of technology, constantly looking to improve my understanding of both hardware and software.