My Blue Witness Journey
To start I would like to explain my connection with Lambda School, an online coding boot camp. I decided to enroll in Lambda School last year in 2020 around April when I felt like I was in a stagnant state in my life. From working in a labor-intensive job with FedEx for 5 years to then moving on to becoming an Engineer in the Hospitality field. Embracing the hard work and challenges with these professions, shaped me into the hard worker and teammate that I am today. However, there was no progression for me to move on forward to have a real career where I can support myself and a family in the future. After Covid struck, I was eventually laid off from my Engineering gig and was enjoying the potential short “vacation”, until life became normal again. Coding and programming was a field that always stuck my attention from the outside looking in. The curiosity about how the internet worked and being an avid gamer, always made me think about how websites, apps, video games were created. Through this curiosity, covid, and a good friend of mine who had graduated from Lambda two years, he recommended Lambda to me. A chance to change career paths and move forward in life. Of course, I was skeptical at first but with so much time on my hands, why wouldn't I just do it. I immediately became enthralled with the notion of becoming a software developer, and all the possibilities that open up with it. So, after applying to Lambda and passed all the prerequisites I was admitted to start with the “web34” cohort and then the real excitement dawned on me. It was an instant fit and my journey to becoming a Full Stack Web Developer began.
Starting The Project
Now, 6 months later I am close to endorsement and currently working with a team of Full Stack Developers working on a product for a stakeholder. A huge undertaking after struggling with basic HTML, CSS back at the beginning of my Lambda experience. Heading into the project I knew this would be a completely different challenge compared to what I have done in the previous months in Lambda. After not seeing JavaScript, Redux, and React for so long, I was initially intermediated with the project, and after seeing the codebase that fear grew stronger. Especially going back to coding in JavaScript after 2 months of learning computer science/ solving algorithms in Python and BackEnd on Node.Js. I was assigned to the “Blue Witness Project: Team(a)”, with some real responsibilities and deadlines to fulfill. This is A complete shift from being a student to being an actual Full Stack Web Developer. The Blue Witness project is a movement to give the public access to reports of police use of force incidents. By crowdsourcing, incident reports from Twitter and Reddit a platform is created where people can contribute to a greater cause. Immediately what comes to mind when thinking about the core concept of the app are competitors like mashable. What we’re looking to do is cultivate an environment where journalists can search for incident reports that relate to “use of force” and export this data for their own use. While many others applications attempt the same thing, we are looking to create a user-friendly product that our stakeholders will be happy with.
Building On Blue Witness
The team inherited a foreign codebase and was tasked with building new features to improve the application. After giving the app a glance I was blown away by the functionality, structure, and styling that went into the project. Thinking to myself, “How the hell am I supposed to make this better”? Thankfully throughout this experience I can say I had an amazing team to embark on this journey with. Right out the gate, the team planned on meeting to break down any bugs, feature/design changes, structure issues that we felt we could change for the better. It was after this were you seeing the vision, of how you and the team will make positive changes to this application. I took it upon myself to tackle the issue/feature of getting rid of the “ Don't have account? sign up here” portion of the log-in component that goes to the Admin Dashboard. The reason we wanted this gone was due to the fact Okta allows its admins to give permissions to any employee manually. Signing up as a general user was unrealistic since only a verified admin was signing into their dashboard. When you click the sign-up link it would push you to a blank page inside the application. Thus being a useless feature I needed to get rid of.
To be quite honest I figured this feature would be an easy 10–15 minute fix but was I wrong. The issue that arose with this feature was that Okta built this component through its own codebase and was imported to the Blue Witness Code to be used. Okta was something I have never used nor knew how to even approach removing the component needed for this feature. So I decided to take a step back, and do some research about Okta and how it works through Youtube and Oktas documentation. Targeting the code needed, to eliminate the portion of signing up was something I couldn't do within the login container holding Oktas code. So the next approach I decided to use was manipulating the CSS of that Login component. Now the CSS in this codebase was a huge mess already since there was global CSS being used and personal CSS files being imported into components, which is a different issue. So after hunting down the login-container.css file, this is where I was able to tweak how the login looked manually. I used the inspect tool on chrome to view the class name given(from Okta) to not display the sign-up portion of the login. I used the display: none CSS feature in the targeted div to basically hide the “sign-up” that had no place inside the login. As simple as a task might seem there is a lot of moving pieces you have to consider. And through this tiny piece of code, I was able to understand a new piece of technology with Okta and give my team a subtle victory.
Reflecting On Blue Witness And The Future Of The Project
Working on The Blue Witness Project for a whole month has presented many wins and lessons learned through the experience of working with an awesome team. We were able to update the design of the application, create a filtering mechanism feature, A new navBar and footer, a re-factored about page, and a brand-new incident report page where users can export and filter the data provided. While the team was very ambitious on what we wanted to do with The Blue Witness application, many of us wish there were more time for us to work on it; as we all believed that there still so much we can improve on.
However considering the time and effort that we put into this project, I am very proud of our current contributions. Looking at the original page and what we created, It is now a brand new application. The new color scheme pops out to the user, the footer is re-designed, the about page is actually an about page and not a FAQ, the incident page is more concise with more filtering available. Currently, there are so many other things that need to be worked on and improved upon but our impact on that app will be apparent when future teams get their hands on what we left for them. I believe the map is something the future cohorts should tackle for the next rendition of the app. The filtering works but the initial state becomes funky when you zoom in and out of the map, and the heat points aren't connecting properly. The future of the product will have a map that is fully functional and have the confidence level integrated into the admin dashboard. These are a couple of features my team just didn't have the time to tackle while working on the app. The map will be challenging since it is so foreign than anything we have worked with throughout Lambda. Making sure the admin dashboard is fully fleshed out needs to be a priority for the future. This was something we neglected since we re-designed every other page within the application.
Team A and My Future
I would first off like to give a huge shout-out to my team. From day one the energy and enthusiasm were amazing. Every team member seemed like they wanted to make this application great, and being in an environment like that really pushed me to be the best teammate I could be. Working with smaller groups of team members all pair programming and defeating the small bugs, was so satisfying. Also not to mention, I feel like I have gained some friends along the way, and maybe potential partners. Myself, Robert Peterson, and John Chamberlin, and Steve M. really made a dynamic team, pushing a ton of features for the app. This enabled me to use their strengths when I felt I was lacking to grasp a blocker I had. We bounced ideas off each other, met almost every day, and were truly a little unit within the whole team. We made the new about page and it's a piece on the application we are all proud of. Through some trial and error of course but we pulled through together and delivered. Shoutout to them for making this experience that much better and thank you to the whole of Team A for being incredible and so consistent throughout this process.
From this experience, I was able to develop more communication skills and gained more coding knowledge that will absolutely help me when I land my developer role with a company. Using new technologies like AntDesign, and Okta, Mapbox is now all tools I can use in the future. My overall knowledge of Front End and Back End frameworks has increased tenfold throughout this experience, with the willingness to always grow. Through the effort of everyone who works on it, I expect The Blue Witness to be deployed into the real world and truly be that one-stop-shop for incident reports about “use of force” for the world to use. I cant wait to see what the future teams do to this project and improve on it. I am ready to apply for jobs and start my career as a web developer. I truly was able to see the job-like aspect of inheriting a codebase digging through it to find bugs and overall understand it as a whole. It wasn't easy to be fair, super stressful with deadlines, going through ALL the meetings, but I am happy to say I feel prepared for the journey ahead.