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 non-profits, we sought to generalize the problems we see in order to impact many non-profits, so although you'll see a few called out, we intend for these solutions to be used at scale, globally, at a relatively inexpensive price point.
Concept: This idea has not yet had anyone work on it, we need your help to make this a reality.
Hackathon: Project was worked on in at least one hackathon, top finisher also designated.
Post-hackathon: Coding continued after the hackathon.
Production: Application is using Heroku (or similar) for ease of deployment, data import/export with CSV is supported.
Maintenance: Security patching, feature enhancements.
1. Digitize Paper Forms
Non-profits 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.
You'll be given an YOLOv3 ML model (from our work with ASU)
You'll be given two images of paper forms
Given the bounding boxes output from the ML model, the solution shall create an HTML-based form for each image
The solution shall handle additional images in the future
The solution shall store the data submitted in the form
The solution shall be deployable via 1-button click with a service like Heroku
2018 Proposal for ASU Tempe Digitize Paper Forms with Machine Learning Part 1
2019 Proposal for ASU Tempe Digitize Paper Forms with Machine Learning Part 2
This DevPost submission from 2018 Opportunity Hack
2. Simple Electronic Healthcare Records (EHR)
Some non-profits 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 non-profits to use without dedicated training.
The solution shall allow for clients to register for the system, using Google Single Sign-on or system-based account creation
The solution shall record "treatments": medicine provided, music session, painting
The solution shall allow for role-based access:
The solution shall log an audit record of activity
The solution shall be secure: (1) no security violations for packages, (2) strong authentication
The solution shall use an existing framework (e.g. Django) that offers authentication and role-based access.
The solution shall allow for data to be import via CSV including patient records and schedule
The solution shall be deployable via 1-button click with a service like Heroku
Chandler CARE Center problem statement history from Opportunity Hack
Neurologic Music Therapy Services of Arizona (NMTSA) problem statement history from Opportunity Hack
Sunshine Acres problem statement from Opportunity Hack 2017
2nd Place Opportunity Hack 2019 project for Chandler CARE Center
3. Client Relationship Manager (CRM)
This is the sister to the Lightweight EHR project above. Instead of tracking health and progress of clients, non-profits 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 non-profits for use. Platforms like SuiteCRM or SpiceCRM and various open-source platforms are available, but non-profits 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.
The solution shall cost less than $30 per month to run
The solution shall be deployable using Heroku or any other one-click deployment platform
Ideally you will compare at least 3 different open-source CRM products on the market today and provide this analysis
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.
For the best solution you select, provide documentation and a video walkthrough of how a non-profit would track volunteer hours within the CRM
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
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.
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.
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.
Optionally determine if it would be possible to integrate DonorPerfect with the best solution for a CRM you select.
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.
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.
See our 2018 ASU Poly Senior Capstone proposal for background on our thoughts in this space
4. Risk Scoring
Non-profits 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.
The solution shall collect posts and bio information from Facebook or Twitter
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
The solution shall be deployable via 1-button click with a service like Heroku
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
The solution shall not store data from the person's Facebook or Twitter account that is not private
The solution shall store the risk score along with the URL that was provided to the potential animal adopter
Saving One Life Animal Rescue and Sanctuary problem statement history from Opportunity Hack
5. Volunteer registration and tracking
There are a ton of non-profits that want to allow volunteers to register on their website. Registration and signup is not new, and there is room to standardize how non-profits 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.
Be able to list times available for volunteers along with location and duration of request
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).
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.
Be able to find volunteer opportunities in a region. For example, find all volunteering opportunities for Children's Cancer Network in zip code 85044.
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.
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.
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
Donations are a key resource for non-profits, 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.
Recommend other items to donate: if someone donates a TV, ask if they also have shoes to donate
Cluster similar donors together to determine alternative marketing methods that may be more effective within the cohort
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
Survey your local network to understand if they donate to non-profits, why they donate, and what would get them to donate more
Look at modern methods of donation - could a non-profit use a combination of Twitch and Patreon?
How effective are crowd-funding (e.g. Indiegogo) platforms and raising money for non-profits?
Can you automate signup for a non-profit so that a Kiva.org account is created along with several other fundraising platforms?
Just like with other projects, if you're writing code, store it in GitHub
Create documentation along with a video walk-through (posted on YouTube) of your solution
9 Magic Words that Increase Donations for Nonprofits talks about the wording that is used
7 Simple Ways To Increase Donations For Your Nonprofit talks about various methods including sharing outcomes and marketing
8 Online Donation Tools: Key Software to Help You Raise More talks about different software applications that can help with donations
NeonCRM is apparently awesome, is that something that is easy to use that all non-profits can use?
7. Inventory Management System
A large set of non-profits 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).
Your solution should have proper documentation and a video walkthrough of how to use it posted to YouTube
Your solution may re-use any existing open-source solutions, and can be custom tailored to one of the non-profits listed in the references section
Your solution shall be deployed using a one-click platform like Heroku
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.
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
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 non-profits can benefit from it.
The solution shall re-use the code provided by the Easy Message team's submission from Opportunity Hack 2018
The solution shall be one-click deployable using Heroku
The solution shall prompt for Twilio API information only on first startup
The solution shall implement single sign-on security using Google (or Facebook) single sign-on, so that only specific users are able to login
The solution shall include a demo video walkthrough of how to use the product so that non-profits will be able to use the system
9. Digital Form Optimization
This one is pretty straightforward. We'd like to take an existing winning idea and scale it for other non-profits to use. Some non-profits 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.
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 non-profits, 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
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:
Select either a method of obtaining media documents, in America, since the year 2000, or a mechanism to acquire public social media information
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
Calculate this index on a daily basis for the previous day in an automated fashion
Backfill this calculation ideally since 2000, but at least for the last 10 years
Chart this index as an overall score for the United States of America
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.
Ensure the code you write is available in our public GitHub
Allow for this to be ran by a single click using a platform like Heroku
11. Recommend the best website platform for non-profits to use
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 non-profits to use. Instead of surgically repairing various websites, we would instead like to recommend a platform that non-profits can use. We'd then use Opportunity Hack to work with them to move their content to this platform that you recommend.
A proper solution shall cost less than $20/month
A solution shall allow for SEO to be configured and updated easily (ideally with no user input)
A solution shall allow for non-profits to easily link to their social media accounts
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)
A solution shall allow non-profits to change content easily
A solution shall allow non-profits to easily configure donations
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)
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.
Uncached page load times shall be less than or equal to 3 seconds - ref
You should research at least 8 different alternative platforms, but no more than 20.
12. Virtual fundraisers
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 non-profits. 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.
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.
Most states disallow the concept of a lottery for fundraising, do not create a lottery system as this will likely be illegal.
Provide a demo video that walks people through what you have built.
Ensure that there is documentation and ease of setup for a non-profit to be able to set this up within 10 minutes.
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 non-profits have gamified fundraisers
FundDuel is a platform that uses social media to encourage donations by performing challenges while recording yourself
Analyze trends to recommend areas of STEAM focus
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.
Only use the free API versions of associated websites
This solution shall provide a YouTube walkthrough of how to use this product
This solution shall overlay popular culture with STEAM lessons for high school and specifically target ages 15 and 16, both male and female
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
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.
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.
"Recent" popular culture trends shall be defined as the last 2 years
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).
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.
You'll see that Team 6 (DevPost submission / Code) did some awesome work in this space, including a complete Heroku deployment. Create a free Heroku account and try to deploy this app so you can test it out. Once deployed, enter a STEM-related search term to see the wordcloud output.
Use the power of Google to find STEAM topics for kids ages 15 and 16, here is one example. You'll use this as the core mechanism to relate popular culture references back to STEAM topics
Understand that most girls lose their interest in STEAM at age 15
Read New study suggests STEM education needs a rebrand to understand why we need popular culture references to make STEAM look cool.
Check out Among high school seniors, interest in science varies by race, ethnicity to understand the STEM challenges across demographics
Matthews Crossing 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.