Each hackathon is a chance to learn something new about a nonprofit. A new problem, a new solution. While we don't have prize money to incentivize completion of every problem, we track the projects that we still need to solve for humanity here.

If you are looking to build your portfolio, help your community, work on something challenging, or leverage your skills for social good, join us via GitHub and Slack to help us complete these projects.

These projects come from our years of experience working with nonprofits, we sought to generalize the problems we see in order to impact many nonprofits, so although you'll see a few called out, we intend for these solutions to be used at scale, open-sourced, globally, at a relatively inexpensive price point.

We are moving these projects over to our Hacker Portal on in order to create a more collaborative environment.

Project Status

  1. Concept: This idea has not yet had anyone work on it, we need your help to make this a reality.

  2. Hackathon: Project was worked on in at least one hackathon, top finisher also designated.

  3. Post-hackathon: Coding continued after the hackathon. We don't have anything available for public in a production-ready system yet.

  4. Post-capstone: We work with university senior capstone (ASU, ASU Poly, UArizona, GCU) teams to advance our mission. These teams have completed their capstone work.

  5. Production: Application is using Heroku (or similar) for ease of deployment, data import/export with CSV is supported. This is the ultimate goal of any Opportunity Hack project.

  6. Maintenance: Post-production security patching, feature enhancements.

1. Digitize Paper Forms


Status: Post-hackathon: need help

Nonprofits are using paper forms. The cost to digitize these forms to an HTML form in order to integrate it into their existing systems is difficult. Google Forms is great, yes, but it still requires some effort and knowledge without allowing integration with existing software applications. We have been working with ASU on two senior capstones around this problem that we can leverage as a head start.


  1. You'll be given an YOLOv3 ML model (from our work with ASU)

  2. You'll be given two images of paper forms

  3. Given the bounding boxes output from the ML model, the solution shall create an HTML-based form for each image

  4. The solution shall handle additional images in the future

  5. The solution shall store the data submitted in the form

  6. The solution shall be deployable via 1-button click with a service like Heroku


Non-Profit Examples

Suzanne OliverNMTSA

2. Simple Electronic Healthcare Records (EHR)


Status: Post-hackathon: need help

Some nonprofits have "clients" that require demographics and treatment to be tracked easily. This usually requires some scheduling component as well as a historical record of visits with services provided, then reports follow. There are open-source EHR solutions on the internet, but none are simple enough for nonprofits to use without dedicated training.


  1. The solution shall allow for clients to register for the system, using Google Single Sign-on or system-based account creation

  2. The solution shall record "treatments": medicine provided, music session, painting

  3. The solution shall allow for role-based access:

  4. The solution shall log an audit record of activity

  5. The solution shall be secure: (1) no security violations for packages, (2) strong authentication

  6. The solution shall use an existing framework (e.g. Django) that offers authentication and role-based access.

  7. The solution shall allow for data to be import via CSV including patient records and schedule

  8. The solution shall be deployable via 1-button click with a service like Heroku


Non-Profit Examples

3. Client Relationship Manager (CRM)

No GitHub exists

Status: Post-hackathon: need help

This is the sister to the Lightweight EHR project above. Instead of tracking health and progress of clients, nonprofits typically do this with Excel or Google Forms and also manually integrate into DonorPerfect and other non-profit platforms. SalesForce is the obvious leading solution here, but still charges nonprofits for use. Platforms like SuiteCRM or SpiceCRM and various open-source platforms are available, but nonprofits don't have IT support right next to them, they need something simple and cost-effective. A big part of this is making different external systems integrate with this CRM (e.g. DonorPerfect + SpiceCRM), but this work will be optional for this summer project.


  1. The solution shall cost less than $30 per month to run

  2. The solution shall be deployable using Heroku or any other one-click deployment platform

  3. Ideally you will compare at least 3 different open-source CRM products on the market today and provide this analysis

  4. For the best solution you select, provide documentation and a video walkthrough (on YouTube) of how a non-profit would add/remove donors, volunteers, clients.

  5. For the best solution you select, provide documentation and a video walkthrough of how a non-profit would track volunteer hours within the CRM

  6. For the best solution you select, provide documentation and a video walkthrough of how a non-profit would report on volunteer hours on a weekly, monthly, quarterly, yearly basis. Ideally a non-profit would be able to see data that shows the engagement (in terms of hours volunteered) from their volunteers

  7. For the best solution you select, provide documentation and a video walkthrough of how a non-profit would report on money donated on a weekly, monthly, quarterly, yearly basis. Ideally a non-profit would be able to see data that shows the donation amounts from their donors. It would be ideal if you could also report on the amount of donations from all zip codes within the CRM.

  8. For the best solution you select, provide documentation and a video walkthrough of how a non-profit would report on the number of animals adopted each month.

  9. For the best solution you select, provide documentation and a video walkthrough of how a non-profit would import a CSV of customers/clients/donors into the platform.

  10. Optionally determine if it would be possible to integrate DonorPerfect with the best solution for a CRM you select.

  11. Optionally determine if it would be possible to integrate the best CRM you select with any donation/payments (e.g. Square, PayPal, etc.) platform so that donor data could be synchronized or imported from that platform.

  12. Optionally determine how a non-profit could update their website to interact with your selection for the best CRM, where the non-profit could have a new-user registration form on their website that would store new registration data within the CRM.


Non-Profit Examples

4. Risk Scoring


Status: Post-hackathon: need help

Started: 2019 (Team 2 & Team 19)

Additional Work: 2020 Summer Volunteer Internship

Nonprofits need a way to vet the standing of people, specifically for pets, as they want to be sure they are going to a nice home. Given a social media profile (and potentially their network) that someone has granted access to, analyze the content of their posts to create a risk score to understand if there are any red flags for pet adoption.


  1. The solution shall collect posts and bio information from Facebook or Twitter

  2. The solution shall provide a high risk score for accounts that use terms that indicate violence, hate, animal cruelty, and malice - this likely means that you will be looking for accounts that already exhibit this, or you can create mock accounts to validate and test the scoring methodology

  3. The solution shall be deployable via 1-button click with a service like Heroku

  4. The solution shall provide a URL that a non-profit can send to a potential animal adopter. This potential animal adopter will use this URL to sign into either Facebook and Twitter to allow this application to collect data as stated above in order to collect data that may not be publically available per privacy settings the user has provided

  5. The solution shall not store data from the person's Facebook or Twitter account that is not private

  6. The solution shall store the risk score along with the URL that was provided to the potential animal adopter


5. Volunteer registration and tracking


Status: Post-hackathon: need help

There are a ton of nonprofits that want to allow volunteers to register on their website. Registration and signup is not new, and there is room to standardize how nonprofits collect registrant data. Volunteers and clients have a need to create an account in order to allow the non-profit to offer services or ask for help from them. Once a volunteer is registered, they help the non-profit and their efforts need to be tracked so that the non-profit and the person can understand their contributions, for personal benefit, but also for tax reasons.


Instead of trying to build a system to do this, we want to perform market research to recommend a system for all non-profts to use. We think that a platform should already exist, but we are counting on you to weigh all of these requirements and perform a gap analysis to tell us if we should build a system to do this, or if one (or maybe two systems that are well integrated) already exist.

  1. Be able to list times available for volunteers along with location and duration of request

  2. Be able to specify skill that is needed (e.g. painting, drywall, electrical, math tutor, etc.). Consider this to be a preference that the volunteer specifies when they sign up. This may also include the opposite (volunteers specifically do not want to volunteer for certain things).

  3. Increase communication between NPO and volunteers to increase engagement. This might be to remind a volunteer of an upcoming event, or to thank a volunteer for helping. Ideally this would be over text, email, or Facebook Messenger.

  4. Be able to find volunteer opportunities in a region. For example, find all volunteering opportunities for Children's Cancer Network in zip code 85044.

  5. Be able to find opportunities that are good for families. For example, if a family wants to bring their 10 year-old and their 15-year old - ensure that the event indicates that this is okay or even recommended.

  6. Recommend volunteer opportunities based on previous experience. For example, if someone has previously volunteered to help paint a home, and a new opportunity for painting a home is entered, recommend the same people for this volunteering opportunity and notify them that it is available.

  7. Provide written documentation (either in GitHub or a public Google Doc) as well as a video (on YouTube) walkthrough of your findings.


6. Intelligent Donation Platform

No GitHub exists

Status: Concept: need help

Donations are a key resource for nonprofits, the more funds that can be raised, the better. We need to dig deep with this one and look for engineering methods to increase recurring donations or volume of donations. This project is very open-ended and will require some research into human behavior as well as prototyping some software that may not exist yet. After spending some time researching what is out there, see if you see a gap and either prototype it, write code, or write out your thoughts.

Some ideas:

  1. Recommend other items to donate: if someone donates a TV, ask if they also have shoes to donate

  2. Cluster similar donors together to determine alternative marketing methods that may be more effective within the cohort

  3. Automate marketing to automatically share, on a monthly basis, a photo posted to social media overlayed with the number of people helped or the number of animals saved over the previous month

  4. Survey your local network to understand if they donate to nonprofits, why they donate, and what would get them to donate more

  5. Look at modern methods of donation - could a non-profit use a combination of Twitch and Patreon?

  6. How effective are crowd funding (e.g. Indiegogo) platforms and raising money for nonprofits?

  7. Can you automate signup for a non-profit so that a account is created along with several other fundraising platforms?


  1. Just like with other projects, if you're writing code, store it in GitHub

  2. Create documentation along with a video walk-through (posted on YouTube) of your solution


  1. 9 Magic Words that Increase Donations for Nonprofits talks about the wording that is used

  2. 7 Simple Ways To Increase Donations For Your Nonprofit talks about various methods including sharing outcomes and marketing

  3. 8 Online Donation Tools: Key Software to Help You Raise More talks about different software applications that can help with donations

  4. NeonCRM is apparently awesome, is that something that is easy to use that all nonprofits can use?

7. Inventory Management System

No GitHub exists

Status: Hackathon: need help

A large set of nonprofits that would benefit from a solution here are food pantries (note the difference between a food bank and a food pantry). There are large food pantries who likely have all of the software they need (including an integration with Link2Feed), but most of the smaller food pantries won't have everything they need, but still need to provide food for their client base. An effective, free, solution here will benefit many food pantries.

The general solution you are solving is: given a certain inventory that could be spread across many different buildings, how can a non-profit know what inventory is available in near-real-time (within 2 minutes of an item being added or removed).


  1. Your solution should have proper documentation and a video walkthrough of how to use it posted to YouTube

  2. Your solution may re-use any existing open-source solutions, and can be custom tailored to one of the nonprofits listed in the references section

  3. Your solution shall be deployed using a one-click platform like Heroku

  4. Your solution may or may not require a mobile app, if you go down the barcode route, remember that most computers have a webcam these days. By not having a website + mobile app, you reduce the complexity in your solution.

  5. If you want to go down the food pantry route, we'd recommend you look at Pantry for Good. Even though no pull requests have been accepted in over a year, there are many forks that may have newer content. Fixing a few bugs or improving this code-base alone would be great.


  • Matthew's Crossing Food Bank received many Opportunity Hack solutions over the years to the point where they likely don't have any more problems to solve. Unfortunately, these custom solutions cannot be generally applied to other food pantries. If you review these solutions and can integrate one or all into Pantry for Good, that would be a win.

  • Child Crisis AZ problem statement form 2016 Opportunity Hack using QR codes to track inventory. We'd hope that a product that does this already exist in the market, if so, we'd love for you to find it, make it better, document it, and tell us about it!

  • Joshua Tree also hoped to use barcodes to track inventory from 2017 Opportunity Hack.

  • Our senior capstone proposal worked on by University of Arizona students in 2018. The output of this was a pull request made to Pantry for Good.

8. Notification System

Status: Hackathon

For Opportunity Hack 2018, Children's Cancer Network used Constant Contact, but was missing a mechanism to text clients to ask for them to RSVP, gather how many people responded to a given survey, and wanted to have a simple method to reach out. A great solution Easy Message and we would love to see this push into production so that more nonprofits can benefit from it.


  1. The solution shall re-use the code provided by the Easy Message team's submission from Opportunity Hack 2018

  2. The solution shall be one-click deployable using Heroku

  3. The solution shall prompt for Twilio API information only on first startup

  4. The solution shall implement single sign-on security using Google (or Facebook) single sign-on, so that only specific users are able to login

  5. The solution shall include a demo video walkthrough of how to use the product so that nonprofits will be able to use the system


  • The team's DevPost submission is here

  • Although the main code is in GitHub here you'll need to check the forks as some code there looks to be more updated in the forks.

  • Another solution from Team 9 in 2018 is here for reference as well.

9. Digital Form Optimization

Status: Hackathon

This one is pretty straightforward. We'd like to take an existing winning idea and scale it for other nonprofits to use. Some nonprofits cannot afford tablets or don't want to go through the trouble of emailing/texting forms, they would still rather use a combination of paper and digital forms. This solution hopefully bridges this gap a little more effectively than requiring a human to review paper forms.


  • Productionalize Survey Stack from Opportunity Hack 2018 (GitHub code | PowerPoint Presentation) for Animals and Humans in Disaster Inc., RealTimeSTEAM, and NMTSA

  • The solution shall use Heroku and shall be deployable in a single click from the project's GitHub

  • The solution shall be usable by at least 3 different nonprofits, but the data shall not be co-mingled. Each non-profit will spin up their own Heroku instance

  • The solution shall email a provided email address provided during Heroku spin-up when a new form is submitted

  • The documentation provided for this solution shall include a video demo walkthrough of how to use the solution

  • The documentation provided for this solution shall include the forms used as part of the demo

10. Social Injustice Index

GitHub: Frontend | Backend

Status: Post-capstone

Technical debt is a concept in software development that reflects the implied cost of additional rework caused by choosing an easy solution now that may only mitigate a portion of the problem instead of using a strategic long-term approach that would take longer and endure the test of time. Larger corporations accumulate technical debt in various ways. Over time, tech debt becomes known through fail points in the system: latency goes up, reliability goes down, or changes and deployments take longer to complete. Companies must address tech debt with a focused group of people to resolve latency. This typically works well, but as time passes, the same issue can surface again.

With social injustice, we see the same pattern. In the case of latency, a mature organization will put measurement and attribution in place to ensure that any skew in latency is quickly discovered and resolved. With social injustice, the solution is more abstract and less concrete. One goal would be to develop and maintain a social injustice index based on data surrounding social issues by leveraging current events from multiple media outlets, Twitter, Facebook, and Instagram, along with Google Trends. This would allow for some measurement to be performed at the state and national level so that trends and magnitudes across localities could be examined objectively through a data driven lens.

Update: May 2022

We have been working with students as part of ASU's Senior Capstone program over the last two semesters to prototype what a solution might look like.

The team has written the following open-source code:

They have also prepared this short demo video as part of their capstone showcase:


  1. Select either a method of obtaining media documents, in America, since the year 2000, or a mechanism to acquire public social media information

  2. Provide a social injustice index that ranges from 0 to 100 where 100 is extreme social injustice and 0 is no record of social injustice

  3. Calculate this index on a daily basis for the previous day in an automated fashion

  4. Backfill this calculation ideally since 2000, but at least for the last 10 years

  5. Chart this index as an overall score for the United States of America

  6. Chart this index as a score at the state level, ideally you collect enough information from each state to be able to do this, but to make things easier as an MVP, try to do this for at least 5 randomly-selected states.

  7. Ensure the code you write is available in our public GitHub

  8. Allow for this to be ran by a single click using a platform like Heroku


11. Recommend the best website platform for nonprofits to use

Status: Concept

This project only requires significant research in this space, you'lll need to create (free/trial) accounts, Google your heart out, and document your analysis of the various options available for nonprofits to use. Instead of surgically repairing various websites, we would instead like to recommend a platform that nonprofits can use. We'd then use Opportunity Hack to work with them to move their content to this platform that you recommend.


  1. A proper solution shall cost less than $20/month

  2. A solution shall allow for SEO to be configured and updated easily (ideally with no user input)

  3. A solution shall allow for nonprofits to easily link to their social media accounts

  4. A solution shall allow for their social media accounts to easily link to specific posts on their website (e.g. you press "share" on the website and are able to make a Facebook/Twitter/LinkedIn post)

  5. A solution shall allow nonprofits to change content easily

  6. A solution shall allow nonprofits to easily configure donations

  7. A solution shall allow for proper security (e.g. using Google SSO or Facebook SSO for ease of use and increased security instead of maintaining security within the website)

  8. A solution shall provide significant documentation and various platforms and a cost/benefit analysis and comparison between products. It may be useful to develop a scoring system in various categories so that you can clearly show the winner in this manner.

  9. Uncached page load times shall be less than or equal to 3 seconds - ref

  10. You should research at least 8 different alternative platforms, but no more than 20.


12. Virtual fundraisers

Status: Concept

COVID-19 has people staying home and away from groups of people, so avenues like fundraisers are unable to be a stream of income for nonprofits. We need innovative ideas that will get people to donate virtually and online that hopefully also have a viral or gamification element to get people engaged.


  1. Like all of the other projects, your code needs to be publically available in GitHub with your project deployed using Heroku (or similar) so that people can use what you have built.

  2. Most states disallow the concept of a lottery for fundraising, do not create a lottery system as this will likely be illegal.

  3. Provide a demo video that walks people through what you have built.

  4. Ensure that there is documentation and ease of setup for a non-profit to be able to set this up within 10 minutes.

  5. Create the ability for your application to be use with both a test/sandbox account and a live account for the payments system (e.g. PayPal, Venmo) you select


  • CauseVox discusses the reasons for gamification that include progress bars, badges, sharing on social media, , and team-based donations

  • Non-Profit Hub has some examples of how nonprofits have gamified fundraisers

  • FundDuel is a platform that uses social media to encourage donations by performing challenges while recording yourself

Completed projects

Rebekah Brubaker RealTimeSteam

Analyze trends to recommend areas of STEAM focus

Status: Maintenance


This was originally put together in our 2019 hackathon and productionalized during the Summer 2020 volunteer internship.

For Opportunity Hack 2019, RealTimeSTEAM was looking for a way to analyze data on the web in order to provide their own staff, along with teachers and parents a better way to introduce STEAM concepts to children. If there was a way to intersect popular culture with science and technology, as these things evolve, it would provide new educational ideas.


  1. Only use the free API versions of associated websites

  2. This solution shall provide a YouTube walkthrough of how to use this product

  3. This solution shall overlay popular culture with STEAM lessons for high school and specifically target ages 15 and 16, both male and female

  4. This solution shall understand current popular culture using IMDB, Twitter, Twitch, Google Trends, YouTube, Steam, Reddit, and Wikipedia. This is a giant list, so start with one area before trying to add another data source

  5. Given a STEAM-related search word (e.g. gravity), the system shall output popular culture trends (e.g. movies, wikipedia pages, popular Tweets/Twitch streams/YouTube videos) that relate to the given STEAM-related word.

  6. When the application first loads, it should provide a list of STEAM-curriculum filtered by age (either 15 or 16 with the default filter set to both ages 15 and 16). Next to each STEAM-curriculum item the application shall provide any recent popular culture references that relate to that STEAM-curriculum item.

  7. We'd expect to see some relationship to STEAM topics on physics (e.g. gravity) to the movie Up or fluid dynamics related to The Little Mermaid

  8. "Recent" popular culture trends shall be defined as the last 2 years

  9. This solution could also use historical popular culture as a dataset. These would need to be racially and gender diverse (e.g. topics for "space" include both Sally Ride and Neil Armstrong, concepts around food and agriculture would include George Washington Carver and Cyrus McCormick).

  10. This solution shall consider all genders and demographics as best as possible, we want all types of children 15 and 16 years old to have something they can relate to, so we don't want this to be built for specific groups.


Matthews Crossing Food Bank Data Manager


Our solution, Matthew's Crossing Data Manager (MCDM), works in conjunction with their main system, Food Bank Manager, in order to ingest the donation and guest data, automatically classify it, and generate meaningful reports that Matthew's Crossing can make use of to directly improve their service.

2018 Opportunity Hack Matthews Crossing.pdf