Software development teams have unique skillsets that can serve the public in a variety of ways. I personally have spoken to so many developers who want to use their skills for good, but don’t know the best way to go about it. The pandemic created an unusual opportunity for one development team to make a big difference in a short amount of time by creating a virtual tip jar that helped the service industry workers bring in cash during the shut-in. In this post, we use Unstoppable Software’s tip jar project as a case study and investigate some of the challenges and best practices around volunteer coding. The Back Story: Unstoppable Software’s Virtual Tip Jar In March, the service industry was one of the hardest hit by the shutdown, especially for folks that depend on tips. When Sam Schutte, founder of Unstoppable Software, heard about a virtual tip jar site in Pittsburgh that allowed individuals to contribute directly to service workers, he wanted to do the same for his home city, Cincinnati. He enlisted the help of his team, developers Nate Stuller and Scott Harrison and executive assistant Valerie McDonough. Together they were able to quickly set up a virtual tip jar for Cincinnati and, over the next couple of days, expand the project to include other locations across the country, as well. Posts about the tip jar went viral on Facebook, and was also covered by local media sites, as well as national media outlets like ABC News, Food & Wine, and Good Morning America. To this day, COVID19TipJars.com includes listings from more than 5900 workers from over 570 cities. Challenge: Software Developers Out-of-Touch With Community Issues A common issue software developers face is being out-of-touch with community issues. More often than not, development teams work on projects like business workflow systems that have no direct impact on the community-at-large. Although developers may desire to donate their time and energy towards projects that directly help the community, they can be unsure of how to find specific issues that are a good match for their skills or know the best way to create technology that solves these issues. As a result, events such as codeathons result in projects that might appeal to other developers or data-collectors. Or useful technology never gets in the hands of front-line organizations or the public in general. Solution: Take Advantage of Unique Opportunities The pandemic created new national and global needs that developers could assist with, such as tracking COVID cases or analyze data about the virus. There are many examples of teams of volunteer developers coming together to face these challenges together. In some ways, the pandemic created a new digital sense of comradery across the globe. It also urged many individuals to ask themselves how they can be of use. Moving beyond the pandemic, simply keeping an ear open with a “How can I help” mindset can help break down the siloe between developers and the community. “Try to focus on a low-hanging societal problem that there's just not an existing solution for, but it's something that a lot of people need,” Sam recommends. Even if there are existing solutions, it doesn’t mean every community has access to it or that the solution has been done well. For instance, Sam wasn’t the first to recognize the need for a virtual tip jar; he simply volunteered to create one for his community. And once he and his team started working on the project, they realized they had the ability to develop a more useful tip jar than they’d found. Another solution is to partner directly with community organizations to learn what pressing technology needs your community or populations of interest are facing. Challenge: Limitation on Available Volunteer Hours A key obstacle when working on community service projects is time. How much time do you have to donate to volunteer work? But this obstacle has an unexpected benefit — it limits scope. Tech teams can get stuck in scope creep and not get something workable out the door. Volunteer projects are good opportunities to start small, get community feedback and go from there. Solution: Start with a Minimum Viable Product (MVP) For developers, a minimum viable product is a good starting point for situations where it’s best to get something useful out the door as quickly as possible. Since time to market was one of the most important factors with the virtual tip jar, Sam and his team decided to start with something simple and have it available to the public ASAP. A lot of the tip jars out there were created by individuals using simple Google spreadsheets with service workers’ names, where they worked, and links to their PayPal or Venmo profiles so that people could contribute to them directly. It made sense for the Unstoppable team to start with something similar: a Google form that fed into a Google spreadsheet. The developers also knew they could use a Google form and spreadsheet as a foundation and could add functionality incrementally in significantly less time than if they created a full-fledged app with its own database. They got something out-the-door basically overnight and began promoting it. With near immediate acceptance and use from the community, they began to implement more features to create a better mobile experience and more data access and security. Over the next two days, they: Created a directory from which tippers could search via city and servers’ names. Created a form that allowed individuals to add new cities to the directory. Created clickable links that would take tippers directly to Venmo and PayPal. Challenge: Tech Places Burden on Communities it Aims to Support A common issue of open source and other volunteer projects is to figure out who is responsible for the system after it’s built. When software is developed to solve a community issue, it often relies on that community taking responsibility for it — and using it. WIthout community or organizational buy-in, useful solutions can go to waste. Solution: Get Community Buy-In and Engagement ASAP Similar to the benefit of developing an MVP, developers should seek out community buy-in and look for signs of community engagement before doing a ton of work on a project. People need to want what you’re developing. To spread the word of the virtual tip jar, Valerie emailed several local news outlets which led to a story in the Cincinnati Enquirer. But the majority of the traffic for the tip jar came from Facebook and was led by individual sharing. Sam came up with the idea of the “COVID-$19 challenge,” which encourages folks to donate $19 and then challenge three friends to do the same. Valerie created a graphic, shared it on Facebook and tagged people within the service industry. The post took off from there. The success of the virtual tip jar has a lot to do with the nature of the national crisis. But there are other lessons we can learn from it about community engagement: Platforms like Facebook allow communities to take promotion into their own hands for free. Personal sharing is often more effective than business or corporate sharing. Because Valerie tagged friends using her own Facebook profile, it started peer-to-peer movement that took off quickly. The tip jar is designed to give individuals control over their own information which encouraged buy-in and engagement. Sam has had people reach out from small towns around the country explaining that wouldn’t have had the means to create something like the tip jar on their own. One woman added every restaurant in her small town and the handed out flyers with information about how to find the tip jar and donate to the community’s servers. Last Thoughts: Where to Go From Here The point wasn’t to build something that could last forever, and it’s likely that after the current crisis abates, Sam will take down the virtual tip jar. But it offered proof that the team could do something useful in a manageable amount of time, and Sam is considering future volunteer projects. For many development companies, volunteer coding can be a positive branding tool and a way to build ties to businesses within their local community and find new clients. Since the tip jar was hosting on its own website, unstoppablesoftware.com saw a significant jump in web traffic from last year. This can help with things like SEO and domain authority. But the real benefit of building the virtual tip jar was the chance to come together as a team and use their development skills for good during a crisis. “I think it really helped the mental health of my team to be able to help people instead of just watching death counts go up in a graph,” Sam explained.