New Look, Same Mission
Learn About Our Rebrand

The Playbook on Building a Tech for Good Product

November 2, 2020

For tech nonprofits, technology cannot be an afterthought. Tech is the core of the impact model. So while it is rare that a tech nonprofit is building original technology, it should be inherent that a tech nonprofit is using software or hardware to serve its users.

Your findings during user research should dictate the product you ultimately build. During this research phase, stay focused on what makes your offering unique. You are likely building features that others are not, because you’re focused on users whose needs are ignored by the market.

“Tech nonprofits exist to improve the most complex and difficult problems. That means we don’t build features then see if there’s a customer. We prioritize and build based on what people tell us and show us they need. There’s urgency and demand to move quickly and efficiently.”

– Rebecca Nall, Co-Founder, ineedana.com

Pro Tip

Build With What’s Available

To start off, many tech nonprofits use existing tech pieced together to address a new use case. Take TalkingPoints, the multilingual family engagement platform for teachers and parents, for example: founder Heejae Lim pieced together Twilio and Google Translate to build a translation app for non-English speaking parents. TalkingPoints’ path to product mirrors that of many startup tech nonprofits.

User Centered Design

In Chapter 2: User Research & User Testing, we learned about user research. The learnings from your user research will guide you as you dive into building your MVP. But it doesn’t stop there. Your users, which are made up of the population your nonprofit is committed to serving, should drive the product you build and refine. Therefore, it’s critical to continue to both design with your users and run ideas by them. User centered design is the foundational building block of any great product, but is particularly important when designing a product to solve a social problem.

Get Started with User Centered Design

Ashley Treni is the Co-Founder of JustFix, the housing justice app. Ashley is skilled in user centered design, and offered helpful tips that you can implement:

The users you’re designing for, and with, are the experts of their own situations

That’s why you must engage with your users early and often in the product design process. “Sharing design prototypes with end users early and often will help ensure that your product focuses on the critical pain points identified in user research. These ongoing user insights help guide the product development process to make sure we continue to focus opportunities on real user need,” Ashley said.

Build trust

While being a nonprofit is a star on your trust chart, you’ll need to go a step further. Why? Because creating trusted relationships with individuals closest to the issue will enable you to observe behaviors that you wouldn’t otherwise have access to. JustFix has always – and continues to – rely on the expert opinions of organizers who have been working on housing justice issues for decades. Find ways to show those closest to the problem that you’re invested in the issue.

Listen with an open mind

Listening without an agenda allows you to let solutions and opportunities arise. As Ashley puts it, listening to users without “a hypothesis about what you think you should build will allow you to listen in a different way than when you’re trying to map research to validate a hypothesis you already have. Our goal with research is to listen to pain points, ideate a solution based on those experiences, and offer that back.” This can be particularly challenging for founders with lived experience with the problem. The founder’s imagined solution may not be the best fix. This possibility is why you need to talk to a lot of users.

Create analog solutions before building tech solutions

The way your users are already solving the issue at hand will guide you to the right tech solution. JustFix used research to document and understand the existing resolution process and then to find opportunities to improve it. “From our research interviewing tenants and advocates across NYC, we created an analog logic tree of action steps, then validated the process before digitizing it,” Ashley said. “This way, we could already support existing user behavior and build some structure around it to help people advocate for themselves.”

Notice where your users already are

In addition to physical location, we all have digital spaces that we frequent. Early on, JustFix observed that tenants were already using smartphones to document housing issues by capturing photo evidence on their phones and showing the images to judges in court. “Seeing the types of technology that people were already using and the types of actions they were already taking helped us design something that would assist the process,” Ashley said.

Definition

User Centered Design

The act of creating with customers specifically within the design development process to ensure the results meet their needs and are usable.

Next Is The Beta

Once you’ve piloted your MVP – which is your initial product experiment – and have done ample user research, you’re ready to aggregate those learnings and build the beta version of your tech for good product (with a user centered design lens, of course!). More on the MVP and pilot in Chapter 2: User Research & User Testing.

A beta version of a product is like a second draft. It looks and feels very close to a “ready-to-launch” product. It’s given out to a large group of users to try under real conditions and based on your learnings, functionality and design changes are inevitable.

As Fast Forward’s Co-Founder, Shannon Farley, says: “10 years ago, it cost $5 million to start a tech startup. Today, you can do it for as cheap as $5,000.” No, developers haven’t dropped their rates dramatically. Rather, there are hundreds of tools and tech building blocks that make it easier to build products and drive the cost way down. These are programmable components, so instead of having to build from the ground up, you can simply integrate best-of-the-market tools into your product. This, compounded by the fact that as a social justice organization you’ll get access to discounts and free tools, mean you’re in a good spot to build a tech for good product for little capital.

Pro Tip

Simplify and Save

Using existing tech building blocks generally means it’s cheaper in the beginning and ultimately easier to maintain your product as you iterate to more closely serve your user’s needs.

Case Study

How ASAP Leveraged Existing Tech to Reach 1 Million Users

The Playbook on Building a Tech for Good Product – Fast Forward

Swapna Reddy, Co-Founder and Co-Executive Director of the Asylum Seeker Advocacy Project, has grown her organization to serve 1 million asylum seekers – all without a single dollar spent on advertising! Here are her tips on how to scale, stay responsive, and get results:

Meet people where they are. ASAP prioritizes connecting with asylum seekers in their mediums of comfort – the same ones they use to communicate with family and friends. Stitching together existing communications channels like SMS and social media DM helped ASAP to connect with users without friction and put them at ease.

Try it out! Off-the-shelf tech can let you quickly experiment with different strategies in the short term while you figure out your long-term needs. For years, ASAP relied on existing tools like Airtable and Textit, until exponential growth made it necessary to build their own tech.

Listen to your users. Users communicate their preferences in many ways, from the way they navigate services, to their survey responses, to their unprompted feedback. Reddy shared that ASAP listens carefully to the collective insights of asylum seekers, and regularly shifts their approach in response.

Don’t collect data for data’s sake. Make sure you respect users’ time and prioritize their experience. Reddy shared that ASAP never surveys asylum seekers unless ASAP is committed to taking concrete action in response to survey results – to the benefit of asylum seekers

Prioritize security. Whether pursuing an off-the-shelf solution or custom-built tech, it is important to prioritize users’ security and privacy concerns. To protect the information of 1 million persecuted people from around the world and build trust, ASAP thinks carefully about collecting and preserving sensitive data, reads the fine print of privacy policies, and more.

Definition

Tech Stack

The set of tech building blocks, like programming languages, frameworks, servers, UI/UX solutions, and tools, that will power your product. A tech stack is generally divided into server-side (back-end components) and client-side (user-facing components). Stackshare rounded up tech stacks of leading tech companies.

Stitch Together Tech Building Blocks for Your Beta

Conversations with other tech nonprofits should give you excellent headway as you ideate on the tech building blocks that will enable you to build an inexpensive and effective solution to the social problem you’re addressing.

You should wait as long as humanly possible to write any code. There are much simpler ways to build the thing you need.

That said, we rounded up some examples of popular tech building blocks that you can stitch together to build a solution, depending on your skill level. And if you’re not technical, a gentle reminder to find a technical co-founder.

Definition

Open Source Software

Source code that anyone can inspect, modify, and enhance. It’s usually developed as a public collaboration and made freely available. Tech nonprofits often open or mission source products. Why? Nonprofit strategy benefits from an open approach, which helps create more value in service of your mission.

Tools Requiring Less Technical Skill

Site and Product Building Tools

There are a plethora of options for building sites and apps with little to no coding experience.

  • Squarespace, Weebly, Wix, Webflow are site-building platforms you can use to build a website without needing to code.

  • WordPress, Drupal, Contentful, Hubspot are Content Management Systems (CMS), which allow you to create a site to host content without having to know any code.

  • Typeform, Jotform are (among other things) customizable form builders that can be used for gathering information in a variety of contexts.

  • Bubble is a tool to build a web app without code.

Communication Tools

There are communication tools galore in the tech sector. If your product relies on connecting with users via chat, video, or SMS, there is a pre-built tool with your name on it!

  • Twilio APIs are great for integrating chat and text messaging tools into your product. Twilio’s tools have been used by tech nonprofit greats like Crisis Text Line and TalkingPoints. Its suite of messaging tools enable tech nonprofits to connect users with volunteers, critical translation services, and more.

  • Sendgrid is also a Twilio product. Sendgrid enables you to send transactional and marketing emails at scale.

  • Facebook Messenger API is another option for messaging with a variety of dev tools that have helped tech nonprofits meet customers where they are. Tech nonprofits Tarjimly and Raheem built their betas on Facebook Messenger.

  • Chatfuel can be used to customize a Facebook messenger bot.

  • Telegram is a free, heavily encrypted messaging API, wherein messages self-destruct.

Other

There are tons more where these came from, but here are some of our favorites.

  • PagerDuty is a flexible, out-of-the-box solution for critical, real-time response to product issues.

  • Zapier connects multiple apps to automate repetitive tasks without coding.

  • Airtable is functionally similar to a spreadsheet but gives you the power of a database to organize anything. Plus, it looks pretty.

  • Plaid, Stripe, and WePay are payment processing tools that you can integrate into your website.

Pro Tip

Code It, Map It

Emmanuel Klu, friend of Fast Forward and Google SRE: “Require your engineers – volunteer or hired – to document all of their code. It’s imperative to have technical and architectural documentation showing how things work together so other people can help you! And, so you can understand the map of what your product is doing. Having your site architecture clearly mapped is helpful when fundraising, too. Most funders are not technical, and can generally understand a map much more easily than code.”

Tools Requiring More Technical Skill

App Development/Hosting Tools

At a certain point in development, your product will need to be hosted and run through a platform.

  • Google Cloud, AWS, Microsoft Azure, Digital Ocean, and Heroku are public cloud computing platforms that can be used to build, manage, and scale apps. You can use these platforms for a lot of things, including analytics tracking, virtual computing, and data storage.

  • Firebase is an app development platform built on Google infrastructure. Firebase gives you functionality like analytics, databases, messaging and crash reporting.

Databases

Stores data in a flexible fashion, making it easy to pull queries. The database you choose should reflect the needs of the product, so ensure your developer is thoughtful about the choice.

  • SQL and NoSQL are two main types of databases you can choose from. The one you choose depends on your use case. More here. #AskaDeveloper

  • SQL databases are relational, have a predefined scheme, and are best suited for complex queries. Example: PostgreSQL.

  • NoSQL databases are non-relational, dynamic, and less apt for complex queries. Example: MongoDB, DynamoDB.

Frontend Frameworks

Used to build UI (user interface) Components.

  • React and Angular enable you to build anything you’d visually see in your web browser.

Backend Framework

Used to create super lightweight server-side code.

  • Node, Django, and Ruby on Rails use a backend framework if you have a technical background and want flexibility and control over your application.

Version Control System

Version control systems record and keep track of any changes made to code. Using one is critical if you’re going to have more than one person working on the code.

  • GitHub is an open-source version control system, and the standard go-to for most people. On GitHub, developers post their projects in repositories – also known as repos – which include code, any changes or modifications, and new versions of the project. Anyone can view, download, or make revisions to the code.

Miscellaneous Open Source Tools/APIs

  • Bootstrap is an open source toolkit for developing with HTML, CSS, and JS.

  • Google Maps API and Mapbox API are building blocks that support every part of the web and mobile map-making process.

The good news…you have a product! The reality…this is just the beginning. Now it’s time to test and iterate…forever.

Pro Tip

But How Do I Get Support Building?

We said it once, and we’ll say it again: Get a technical co-founder. But, in the off chance that this hasn’t happened just yet and you’re not a technical person, as a social impact startup there are plenty of opportunities to meet technical people who might be willing to help you build your product. You can meet folks through Fast Forward’s Tech Nonprofit Job Board, at Hackathons, or – and this is our favorite – by tapping into the tech nonprofit network and asking your peers for recommendations! This can result in great volunteers, or opportunities to hire a contract developer to support you with your integrations.

Case Study

From Idea to MVP to Pilot to Beta: The Upsolve Story

The Playbook on Building a Tech for Good Product – Fast Forward

Like all good stories, Upsolve’s started with a conflict: low-income Americans were being priced out of their constitutional right to file for Chapter 7 bankruptcy after a crippling financial crisis. From the beginning, co-founders Rohan Pavuluri and Johnathan Petts were laser focused on solving the problem the right way, rather than building the first solution they thought of. So, they started with as analog a solution as possible: by opening a brick-and-mortar legal aid shop in Blue Ridge Labs to help people file for bankruptcy in person. This was, in effect, their user centered design research. 

While they had a space, they needed to reach the low-income New Yorkers they were committed to serving. So they got creative. They began asking other legal aid organizations for their waitlists, and passed out their cards in legal clinics where people were seeking help around debt lawsuits. That summer, they walked every single client through the bankruptcy filing process. While this is not a thing that could scale in and of itself, it was a user research process that helped them become intimately familiar with the inner workings of their users’ experience.

After that summer, the Upsolve co-founders realized that much of what they were helping users with could be automated. They took the existing filing process and automated many of the steps by building on Typeform. This was their MVP – a digital form that, after the user answered a series of questions, populated Chapter 7 bankruptcy forms through a backend python script. Clients would use this in tandem with help from Rohan and Jonathan.

They worked on the Typeform product until, according to Rohan, “the product became good enough that we didn’t need to walk every client through using the product.” That’s when they knew it was time to build the beta – a tech product to help low-income Americans file for bankruptcy on their own. In Upsolve’s case, the beta was built on an open source python library called Docassemble to generate the bankruptcy forms but otherwise, the product is built entirely in-house from a tech stack composed of React, Node, and Postgres.

Definition

Kaizen (改善)

The Sino-Japanese word for “improvement.” In this context, kaizen refers to activities that continuously improve the product for your beneficiaries.

Test and Iterate on Your Tech for Good Product

First Comes the MVP, Then Comes the Beta, then comes the….HARD PART.

And just like that – magic! Your product is out in the world. What does that mean for you? The work has just begun. It’s time to take a kaizen approach to your product by continually testing, refining, and iterating. Now you need to thoughtfully build user feedback – both implicit and explicit – into your product. As a nonprofit tech startup, this is particularly important because greater product adoption leads to greater impact. Implicitly, you can use clues about how your users are – or are not – using your product to inform future iterations. Explicitly, ensure that you have a way for users to give you their feedback so you can incorporate changes as they make sense. This could be in the form of post-use feedback surveys, focus groups, in-app pop-ups, etc.

Once you’ve refined your beta by A/B testing feature sets and incorporating early user-feedback, take a deep breath…you’ve got yourself a product! To maintain the quality of the product you’ve worked so hard to build, iteration must remain integral to your product strategy.

Definition

A/B Testing

The process of testing two variables against one another to determine which one achieves a goal at a higher rate. For an effective test, both elements need to be randomly shown to a small subset of users.

Case Study

A/B Testing at Donors Choose

The Playbook on Building a Tech for Good Product – Fast Forward
Dan Betz, VP of Product & Design at tech nonprofit DonorsChoose, said that after it rolls out a new feature or product, DonorsChoose tries “to A/B test the feature/changes using Optimizely. If a project doesn’t lend itself to A/B testing, we might start with a pilot group and roll it out slowly as we build confidence in our solution. However, when we release it, we measure everything very carefully so we can adjust as needed.”

If you’re not using a product like Optimizely and want to go even simpler, you can use an online A/B Test Calculator that, upon entering the sample sizes and results, will let you know if you have a statistically significant winner.

Build a Tech for Good Product Checklist

  • Lean on user research to co-design a solution with and for your customer.

  • Develop a beta product by duct-taping relevant tech building blocks together.

  • Kaizen (or, be agile). After sufficient observation and A/B testing, thoughtfully incorporate improvements into your product.