Skip to main content

“For tech nonprofits, we do not build features then find people to use them. We commit to outcomes, or the ways things need to be different, and that drives our product roadmap.”

– Josh Nesbit, Founder & CEO, Medic Mobile

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.

Pro tip

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, the housing justice app. Ashley is skilled in user centered design, and offered helpful tips that you can implement:

  1. 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.
  2. 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.
  3. 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.
  4. 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.”
  5. 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.

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.

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

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.

How Empower Work Leveraged Existing Tech Solutions

Jaime-Alexis Fowler, Founder and Executive Director of workplace issue textline Empower Work, has made integrating existing tech solutions core to Empower Work’s strategy from the start. Today, Empower Work’s tech stack includes Twilio and Front, combined with GitHub and AWS, for its primary service. Here are some of her tips when thinking through your strategy: 

  1. Start with the question: What’s the functionality needed? For Empower Work’s target users, the need was SMS.
  2. Don’t start from scratch. Ask other tech nonprofits for advice. In the early days, Fowler asked other tech nonprofits that were using SMS (like Code for America and Planned Parenthood) for 15 minutes of their time. She sought to understand the tech solutions they were already leveraging and what the market looked like around SMS-integration.
  3. Exchange with appreciation. When asking for 15 minutes, Fowler was thoughtful about offering something in return and recommends that all entrepreneurs do the same.
  4. The duct-tape method. “For us, and for most organizations, duct-tape products together until you see if the thing you’re trying to build makes sense for your users,” Fowler said. It’s a good way to keep your focus on user needs, test early and often, and lower costs because you’re buying (and can often negotiate non-profit discounts), rather than building. “Building from scratch would be like reinventing the wheel. A for-profit would say the same thing; no for-profit is creating their own infrastructure if they could buy the same thing for way cheaper.”
  5. “Don’t feel like you have to solve everything for yourself,” she said. “Other people have solved similar problems, so connecting with them through Fast Forward, the NTEN community, etc., will expedite your learnings.”

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.

Pro tip

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.”

Less Technical Skill Required

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 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.


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.

More Technical Skill Required

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. When you’re ready to think about servers, check out this article by Emmanuel Klu, a Google SRE and friend of Fast Forward.
  • Firebase is an app development platform built on Google infrastructure. Firebase gives you functionality like analytics, databases, messaging and crash reporting.


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.

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

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.

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.

A/B Testing

A/B Testing is 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.

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.

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.

Additional Resources:

Was this helpful?