It’s the day before our client presentation. I am sitting in front of my computer screen with my product manager and two other developers on my team. We’re all looking at the same four lines of code wondering “Why in the world doesn’t this work?” We had scrapped the code and rewritten it from scratch. I even tried the age-old solution of “Have you tried turning your computer off and on again.” It was time to take a break, but our client had a presentation the next day and getting the project to work was of the utmost importance. We were nearly a month away from the project deadline when we would have to convince hundreds of individuals to entrust us to change the way they go about doing their daily jobs. Notably, this project was not for school. So how did I, along with four student developers, find myself in a situation, working to finish a project for which I would not even receive a grade? The answer is simple: I had a fervor for creating impact in my community using technology.
The current state of computer science education in the United States follows a general pattern of students being introduced to the subject in college. Over several computer science courses, they learn various aspects of several programming languages, the ideas of computational complexity that allow one to analyze how long programs run, and how a computer works at the lowest level. At the end of this intense period of learning, most students find work in the industry at startups, medium to large sized companies, or one of the “big five” (namely Google, Amazon, Facebook, Microsoft, and Apple). This system has worked to create skilled computer scientists who can readily serve in industry professions.
But at Penn, I got a different view of that education. Yes, we did tend to do a lot of Java programming in our computer science classes, but I learned a lot more from the people who were in those classes and found their passion to be incredibly interesting. For instance, one of my classmates was taking a computer vision course so they could learn how to analyze scans of ancient Latin texts. They would later translate that text using the skills they would learn in their computational linguistics course in the following semester! I quickly found an incredibly passionate community of polymaths who were taking programming courses along with me. It was through that environment that I found individuals who shared a passion for social impact and using computer science to catalyze change in the community. Those individuals were part of an on campus organization called Hack4Impact, and as soon as I found out they existed, I immediately wanted to join.
A bit of background first. Hack4Impact is an organization on campus comprised of 30 students and is entirely student-led. These people are hackers (no, not in the sense of the individual hunched over a computer, donned in a dark hoodie with a face obscured by a ski mask). They are hackers in the sense that they are innovators: People who wish to create solutions to problems they face using unconventional means. These hackers are on a mission to help as many individuals as possible in the Philadelphia, national, and global community by creating technological solutions for organizations that do social good. Importantly, Hack4Impact aims to further the idea of “Social Impact x Tech,” a growing movement that aims to get more engineers involved with using their skills for the benefit of organizations that are furthering social good in the world.
Over the course of a semester, Hack4Impact members contact community organizations, work with them to define a project that will benefit their charitable mission, assign the nonprofit a team of developers from the club to create and integrate the project into the nonprofit workflow. The model has had success in the past. Hack4Impact has worked with organizations such as Kiva to create a micro-lending platform for individuals in rural areas to crowdsource funds for their initiatives in their community. Another project Hack4Impact created was an online app made for Community Legal Services to combat wage theft by analyzing Google location history which generates a timesheet for several years at a time. This app is projected to save the Community Legal Service thousands in paralegal fees. However, the project that stuck with me the most was my very first one, a project to bring the 125-year-old Reading Terminal Market into the modern era with an online marketplace to help new merchants make their way into one of Philadelphia’s most popular destinations.
At the beginning of my freshman year, I joined Hack4Impact. This community of thirty people, passionate about the intersection between technology and social impact, welcomed me warmly and I immediately became engrossed in the world of using technology to benefit nonprofits.
Two weeks later, I received my project assignment: I was to work on an online open marketplace for the Reading Terminal Market. This market opened in 1892, and is now home to 64 different merchants, 10 of whom have been at the market since its founding. The Market has an incredibly dedicated and active community of merchants who serve thousands of individuals daily, and work with vendors on a weekly basis to source raw materials so merchants can make products.
Reading Terminal Market is an incredibly diverse place with cuisines and products from an array of cultures and countries. In that sense, it is an open and welcoming community to all. However, when I first began learning about the Market, I was struck by the process that new merchants must go through in order to join this eclectic community. To make a permanent presence in the Market, they have to come in with connections to vendors who supply raw materials which can be used to create their products, making it difficult for newer merchants to get exposed to the vendors in the marketplace and vice versa. At the same time, new merchants are unable to see pricing from other vendors on similar products, making it difficult for them to know if they are getting a good deal. For new merchants, establishing connections with vendors who can give the best price is crucial to success. However, due to the age of the Market, older merchants had much better connections, making it very difficult (and sometimes near impossible) for a new merchant to survive. As a result, many new merchants could not survive in the Market after a couple of years.
Our solution to this problem was to create an online marketplace for vendors to upload their products and allow the merchants view prices for all vendors. Merchants would be able to get the best price, and at the same time, the product would be able to expose vendors to a larger audience of potential buyers.
I became heavily involved with the client project, participating in weekly meetings with our contact at the Reading Terminal Market, Steven Safern. At the end of the semester, we had a product that included the ability to add merchants and vendors into the system and upload items into the system, but I knew we could do much more.
I advocated for the Reading Terminal Market project to be extended for one more semester of development and led a team of four undergraduates in the club with the aim of extending the functionality of the project. I was meeting with Steven on a nearly weekly basis at this point. Over the course of the semester, I learned more about Steven from his time as a Radio Engineer for Motorola to when he decided to open a deli at the Reading Terminal Market which was named after his Uncle Hershel who raised Steven after his parents died. After telling us his stories about the times he fought for the military, the talks he had with his uncle, or the people he met while serving his glistening pastrami sandwiches that day, Steven expressed his gratitude for us and our contribution to the Market community.
Over the second semester of the project, we added the ability for members to create and place orders on the system, rate vendors and items, track status of orders and negotiate prices, and access the web application in areas of weak internet connection by minimizing any external resources we used and compressing requests and responses. Our online marketplace went on to increase transparency in the Reading Terminal Market, encouraging vendors to place thousands of items on the system and merchants to have the best pick of products. The product will benefit the market for years to come. By the time we finished our part, the project included 17 different contributors and 12,292 lines of code. We are in the process of helping 89 merchants and dozens of vendors migrate over to the system, amounting to a total of over 100,000 items in the online marketplace with hundreds of transactions happening on a weekly basis.
This idea of connecting developers with nonprofits who want to create meaningful software that impacts nonprofit organizations is a rising movement. At the college level, organizations such as Hack4Impact, Blueprint at UC Berkeley, CS + Social Good at Stanford, and Harvard Developers for Development are creating opportunities for university students to engage with companies and organizations that pursue community service initiatives. However, there is much more room to expand. According to the National Center for Charitable Statistics, there are approximately 1.5 million nonprofit organizations in the United States that directly impact hundreds of millions of individuals across the globe.
Through the development of the project, I learned how to work with clients, how to develop maintainable software, how to empathize with a cause, and how to form a human connection across generations. Since my time with Steven and the Reading Terminal Market, I have continued to do work with Hack4Impact, creating an application to help combat wage theft for Community Legal Services of Philadelphia, and I am now working on creating a volunteer management system that will help send doctors from the United States to Tanzania in order to train doctors there in performing specialized procedures.
Even though I may find myself in the early hours of the morning coding away at my laptop, I do so with the intention of benefiting organizations that need my work in order to better their mission. Developers have yet to fully explore the intersection between technology and social impact; however, it has the greatest potential to benefit organizations that are doing good in this world.