Case Study: OneStep Disaster Relief Platform Built on Algorand
Overview
This article describes the development of a comprehensive disaster relief platform that utilizes the Algorand Blockchain to support crowdfunding, borderless fund distribution, purchasing of supplies, participation rewards, and accreditations.
Introduction
Over 10 million nonprofit and non-governmental organizations operate worldwide, channeling hundreds of billions of dollars each year. But are these organizations cost-effective and impactful? The short answer is that “it varies,” as nonprofits have varying levels of cost-effectiveness and impact. In fact, the average charity often lacks the “public scrutiny, transparency, and competition” needed to maximize its impact potential.
These issues are particularly evident when disasters strike, and organizations scramble to fundraise, often with inadequate information about their target communities or the long-term ramifications of short-term aid. Gaps in transparency and accountability widen in the face of disasters, and many charities effectively “throw money at the problem” for a quick headline rather than developing long-term, community-driven solutions.
For instance, in the aftermath of devastating earthquakes and aftershocks in Nepal in 2015, many organizations poured millions of dollars into purchasing tents for earthquake victims, failing to realize that the upcoming monsoon season would destroy the tents. Even limited-scale community assessments and increased cross-organizational collaboration could have prevented the duplication of efforts and guided organizations towards investing in semi-permanent and permanent housing and schooling solutions. Given the opportunity to weigh in, input from community leaders and advocates could have maximized their impact by purchasing reconstruction supplies like tin or zinc roofing materials and cement. Instead, relief organizations left countless villages with a semblance of aid that could be swept away by the wind at a moment’s notice.
Figure 1: Temporary school established after earthquakes in Nepal, 2015
Key Challenges
Such gaps in understanding can contribute to various challenges that are difficult, if not impossible, to mitigate, particularly in the wake of a disaster. Some of the most common problems and their corresponding implications are as follows.
Failure to transparently define projects based on maximum impact potential
To maximize the effectiveness of donations and volunteer efforts, it is crucial to define a project based on the principles of effective altruism:
- Identifying a cause based on maximum impact potential_ (i.e., scale, neglection, and solvability);_
- Identifying the most effective, well-evidenced solution (i.e., .maximizing the impact of each dollar and volunteer hour spent);
- “Quantifying the desired impact” so that the implemented solution is measurable and replicable (i.e., calculating the number of years of “perfect health” provided by a solution, for instance).
Without adequate support and accountability, organizations commonly fail to address one or more of these principles, thereby reducing their overall impact potential.
Lack of community buy-in, understanding, and support
Communities are “the most effective agents for lasting, positive change.” Although community buy-in and involvement are crucial for the success of a nonprofit project, organizations often lack or miss opportunities to inform and empower community members to (a) share project ownership; (b) understand implemented solutions; and (c) effectively maintain and sustain well-documented solutions beyond the organization’s direct guidance and involvement. Lack of community involvement presents challenges in terms of short-term implementation as well as long-term project sustainability.
Inability to balance project constraints
The success of a project often hinges on balancing competing project constraints, such as scope, quality, budget, resources, and risks. Unbiased assessment and proactive mitigation of potential roadblocks (like securing community buy-in) can heavily influence project effectiveness.
Lack of financial sustainability
Organizations often lack the financial resources to support long-term projects. As Pratik Chhetri, a Global Health Services expert, states, organizations often “play the dance of pleasing the donors rather than doing what’s best for the community.” Allowing donors and grant-givers to dictate success metrics can compromise organizations’ abilities to commence and conclude projects based on neutral project efficacy metrics. “Successes” are often exaggerated, simply for the sake of receiving continual funding.
Losing a significant portion of donations to fees
When measuring impact-per-dollar-amount-donated, it is essential to consider operational costs alongside direct project costs. For a domestic project, this may include transaction fees and credit card fees. For international projects, this may include additional currency conversion and fund transfer fees, as well. Ultimately, organizational and project overhead can significantly reduce the available funds. Additional donations or grants will then be necessary.
Encountering challenges in quickly and efficiently distributing funds
Besides direct fees, there are numerous challenges related to distributing funds, including but not limited to:
- Documentation and transparency, particularly for cross-border payments
- Ensuring the safety of volunteer workers who often need to travel with large amounts of cash, particularly in disaster relief settings
- Significant amounts of time and volunteer effort required to promptly deposit, receive, and distribute funds
Lack of cross-organizational collaboration and grassroots-level community involvement
Relief organizations traditionally orchestrate projects through a top-down approach:
- Identify a problem and prototype a solution
- Build and test the solution
- Identify the communities best-suited to implement the solution
- Test the solution in those communities
However, the initial success and long-term sustainability of a project hinge on community buy-in. Organizations can magnify their impact by collaborating with local community leaders and grassroots partners to:
- Identify a solvable problem
- Develop a sustainable solution with direct community input
- Forge cross-organizational collaborations to minimize the duplication of efforts and maximize fund effectiveness
The OneStep Relief Platform
In an effort to address these disparities, we are actively developing the OneStep Relief Platform: a secure, scalable, open-source platform that enables nonprofit organizations to maximize their efficiency, transparency, collaboration, security, and cost-effectiveness.
The project is a collaborative effort facilitated by One Step Projects, a volunteer-based 501(c)(3) nonprofit organization, and a class of 24 advanced software engineering students pursuing Masters’ degrees in Software Engineering through the Extension School at Harvard University. CSCI E-599 is a capstone course, instructed by Eric Gieseke, to guide emerging software development leaders to gain practical software skills through a real-world project.
The OneStep Solution
Based on a modular architecture powered by the Algorand blockchain, the OneStep Relief Platform aims to address several key challenges:
Challenge | The OneStep Solution |
---|---|
Organizational transparency and efficacy | 1. Enable organizations to effectively: develop community-driven projects, coordinate volunteers, and allocate resources. 2. Increase trust and transparency among organizations and stakeholders through a blockchain-based accreditation system. |
Community buy-in and involvement | 1. Facilitate seamless community assessments via secure surveys that are available online as well as offline. 2. Locate and distribute relief aid supplies by directly connecting organizations with local suppliers and resources. |
Financial sustainability and efficient fund distribution | 1. Empower organizations to crowdfund with a blockchain-based platform that facilitates frictionless, cross-border payments with nominal transaction fees. |
Leveraging expert knowledge to develop customized solutions for target communities | 1. Establish an open-source community of impact-oriented technical experts to promote future development. 2. Incentivize and reward the development of peer-reviewed, open-source designs and solutions. |
Cross-organizational collaboration | 1. Minimize information wastage by fostering collaboration among organizations, community leaders, and subject-matter experts. |
Secure management of health-related data | 1. Enable digital management of health-related data through a HIPAA-compliant interface based on the FHIR (Fast Healthcare Interoperability Resources) standard. |
Incentivizing the engagement of volunteers, experts, and community members | 1. Incentivize participation, engagement, and collaboration with platform-specific, blockchain-based reward tokens that are redeemable. In the future, the OneStep Relief Platform will offer grant opportunities for organizations based on platform-specific metrics like reward token balance, project task completion, cross-organizational collaboration, etc. |
Ultimately, the success of any organization hinges on its ability to: gather accurate information promptly; devise and implement community-supported solutions; and dedicate funding, resources, and personnel transparently and cost-effectively. The OneStep Relief Platform aims to lower common barriers associated with organization management, while empowering community leaders and experts to directly weigh in on developing nonprofit projects and solutions.
OneStep Relief Platform Participants and Use Cases
The OneStep Relief Platform aims to support a wide variety of participants and use cases, including:
Relief Administrators and Relief Workers
- Define and participate in organizations and projects.
Health workers (e.g., doctors, nurses)
- Establish special health projects focused on addressing the health needs of community members.
Community Leaders and Community Members
- Benefit from relief efforts.
- Participate in and help coordinate relief efforts.
- Contribute to the Solutions Library by offering direct feedback on the necessity and efficacy of particular solutions.
Suppliers or Merchants
- Provide resources like food, water, and building materials that relief workers can purchase.
Experts (e.g., engineers, scientists)
- Develop and publish solutions for relief efforts.
- Rate effectiveness of existing solutions and advise nonprofit organizations during the assessment and implementation stages.
- Solutions may include, for instance:
- A modular waste-to-biogas system that can utilize collected animal waste to produce methane gas.
- An earthquake-resistant, solar-powered clinic utilizing cheap, locally-sourced materials like rammed earth and treated bamboo.
Sponsors and Donors
- Donate to a relief fund.
- Financially support organizations for the acquisition of relief resources like food, building materials, etc.
- Offset the transportation and living costs of relief workers in affected areas.
The following use case diagram illustrates all of the participants and use cases supported by the OneStep Relief Platform:
Figure 2: OneStep Relief Platform Use Case Diagram
Decentralized Trust Model
The OneStep Relief Platform is designed to be globally accessible and inclusive. As such, it adopts a decentralized trust model. One of the platform’s goals is to increase trust and collaboration across relief organizations and affected communities. To facilitate trust, individuals and organizations must be accredited before they are allowed to participate in the OneStep platform. Accreditation provides an additional level of transparency and trust when working with other organizations or individuals within or outside your organization.
It is worth noting that the decentralized trust model adopted by the OneStep Relief Platform is also a core tenet of blockchain. Decentralized Finance (DeFi), which blockchain enables, helps relief organizations collect funds through donations and then distribute them to the relief workers and communities who need the funds.
System Architecture
The OneStep Relief Platform follows a modular microservices architecture. Modularity provides flexibility and extensibility, allowing the platform to evolve. The modular architecture also enabled modular development teams; each team focused on a subset of the modules, which helped accelerate the platform’s development. Over a 16-week semester, the teams followed a Design First Agile development process to ensure a high-quality result.
The following component diagram illustrates the modules and services of the OneStep Relief Platform. Modules include Accreditation, Fund, Health, Organization, Project, Resource, and Solutions Library. The platform is powered by various module-specific, platform-specific, and external services.
Figure 3: OneStep Relief Platform Component Diagram showing the modules, services, and dependencies
OneStep Modules
The following diagram illustrates the modular OneStep Relief Platform, which includes the OPP (Organization, Project, and Person), Fund, Resource, Health, Accreditation, and Solutions Library modules.
Figure 4: Modular components of the OneStep Relief Platform
The following table describes each of the modules of the One Step Relief Platform. Each module includes a service API and a user interface that provides access to the service’s functionality.
OneStep Module | Description |
---|---|
Organization, Project, and Person (OPP) | The OPP module manages the hierarchy of organizations, projects, and persons that make up the OneStep Relief Platform. |
Fund | The Fund module manages crowdfunding drives initiated by organizations and projects. Both registered and unregistered users can browse the available crowdfunds and provide donations. |
Resource | The Resource module enables suppliers to list relief-related resources for sale. It also allows relief workers and others to purchase those resources. |
Health | The Health module supports health professionals participating in relief efforts. The Health module utilizes a FHIR server to manage and share health records for individuals. |
Accreditation | The Accreditation service validates the identity of participants of the Relief platform. Identity validation helps platform participants trust each other and ensure the identity of engineers, scientists, and health professionals. For example, before participating in a health project, a health professional must prove their medical certification. |
Solutions Library | The Solutions Library provides a collection of expert solutions that address individual and community needs. Solutions are used by relief workers and community leaders to address the needs of a community. An example of a solution includes plans that describe how to build a water purification system. Solutions are modified and improved upon based on direct feedback from community members and experts. Previous versions of solutions are always accessible for reference, and implemented solutions are rated by users to indicate their overall efficacy and relevance. |
OneStep Services
The OneStep Relief Platform includes reusable services that provide the following functions: authentication, blockchain access, rewards, and surveying. The OneStep modules share these services.
OneStep Service | Description |
---|---|
Authentication | The authentication service manages authentication and access control utilizing OAuth 2.0. The user interface and module APIs require authentication. |
Blockchain | The Blockchain service provides an abstraction layer for the Algorand blockchain. The blockchain service supports the five use cases that involve the blockchain: crowdfunding, purchasing resources, distribution of funds, rewards, and accreditations. |
Rewards | The Rewards service manages the issuing of rewards to platform users to help incentivize participation. The OneStep modules issue rewards to users for actions that help promote relief efforts. For example, the system provides Step tokens for registering, providing accreditation credentials, joining a relief organization or project, completing a task, contributing to a solution, or donating to a fund. All users that complete module-specific actions on the platform may earn rewards, which are visible on a private user dashboard. Using the Algorand blockchain support for assets, the OneStep Relief Platform defines an asset called the OneStep Step Token (OST), or simply the “Step” token. Step tokens are transferred to participants to incentivize positive actions on the platform. |
Survey Service | The Survey service is a tool used to gather information about projects, communities, and the people involved in the relief projects. The Survey service supports defining surveys and utilizing them to collect information. Relief workers will often conduct surveys in remote locations without internet access. For this reason, the survey service supports online and offline use. The survey service stores data collected offline on the mobile device and then uploads it to the server when reconnected. Relief workers can analyze the aggregated survey results via an analytics dashboard. |
Blockchain Use Cases
The OneStep Relief Platform uses the Algorand blockchain to support five different use cases: crowdfunding, fund distribution, purchasing supplies, rewards, and accreditations.
Crowdfunding
The OneStep Platform uses blockchain to implement Crowdfunding. When an administrator creates a new crowdfund, the Crowdfund service establishes an escrow account on the blockchain. In addition, an asset is specified as the currency for contributions, for example, Algos or USDC. When the fund is activated, the service accepts donations as deposits into the escrow account. Using the blockchain to manage the fund makes funding transparent and efficient.
When users navigate to the OneStep Relief Platform, they will see the following screen that lists available relief funds with information about the fund’s objectives, the funding goal, and the current amount raised.
Figure 5: List of active crowdfunds
If the user should decide to learn more about a fund, clicking on the fund card will transfer to the fund detail page. The user can learn more about the fund through detailed information, watch a video, check the fund’s progress, and see who has been donating. The user can contribute to the fund by clicking on the Donate button.
Figure 6: Crowdfund details
When the user selects the “Donate” button, the application transfers to the donate page, where the user can enter their PayString and the amount to donate.
Figure 7: Contribute to the crowdfund
The user can then sign and submit the transaction using their signing wallet.
Figure 8: Signing request for fund donation received, visible on the mobile signing wallet.
The following workflow diagram illustrates the crowdfunding process. The sponsor selects the fund to contribute to, then chooses the amount to donate and submits. The sponsor then signs the transaction using their signing wallet. The transaction is then committed to the blockchain to complete the flow.
Figure 9: Workflow for contributing to a fund
Fund Distribution
Fund distribution allows taking money accumulated in crowdfunds and distributing it to relief projects and relief workers who can use it to purchase supplies and services to help communities affected by a disaster. The system uses the Algorand blockchain for fund distribution. Using the Algorand blockchain, the transfer of funds is fast, secure, borderless, and cost-effective. Funds can be sent to anyone with a cellphone, anywhere in the world, for less than a penny. The blockchain provides fund sponsors the transparency of who received the funds and when.
The distribute funds page allows an administrator to distribute funds from a crowdfunds escrow account.
Figure 10: OneStep Fund distribution page.
The following workflow diagram illustrates the process for distributing funds. The Relief administrator makes a fund distribution request using the OneStep app and then signs the transaction using their signing wallet. Fund distributions are processed and recorded on the Algorand blockchain, which provides an immutable audit record, helping to make the use of funds more efficient and transparent.
Figure 11: Workflow for distributing funds
Purchasing Supplies
The Resource module allows suppliers to publish resources for sale and for relief workers and other participants to purchase resources within the OneStep Relief Platform. To enable borderless, efficient, inclusive, low-cost, and secure payments, the Algorand blockchain is utilized to support digital payments. To purchase supplies, users simply enter their Algorand blockchain account identifier. The system notifies the consumer and supplier once the transaction is signed and committed to the blockchain. Purchasing supplies allows using Algos, USDC, or other types of assets as specified by the Supplier.
The following screenshot shows the resources available for purchase.
Figure 12: Resources available for purchase
Selecting an item shows the resource details, including an option to purchase.
Figure 13: Resource details, including description, price, reviews, and location
Clicking the “Buy now” button takes the user to the checkout page.
Figure 14: Purchase checkout
The user’s mobile wallet receives a signing request. The user reviews the transaction details and clicks “Accept” to sign and submit the transaction.
Figure 15: Mobile wallet with payment request ready to sign
The following diagram describes the workflow for purchasing resources.
Figure 16: Workflow to purchase resources
Rewards
Rewards help incentivize participation on the OneStep Relief Platform to engage users in relief activities on the platform. For example, when a user donates to a relief fund, they are provided a reward in Step tokens. The number of Step tokens earned is visible to users within the UI. Accruing a certain amount of Step tokens will award users with badges, which are also visible in the UI. All modules of the relief platform reward users for completing various actions. Eventually, users can redeem Step tokens for special offers.
The Rewards service uses the Algorand blockchain to define the Step token as an asset. The service distributes Step tokens to the receiver of the reward. The OneStep account registration process captures the Algorand Account identifier and automatically generates an optin transaction for the Step Token and the USDS stable coin.
The following screenshot shows the OneStep Rewards summary screen that shows the total Step Tokens and current reward level for the user.
Figure 17: OneStep Rewards Screen
The following diagram shows the workflow for rewarding users with Step tokens for participating in the OneStep platform; in this case, the relief worker has completed an assigned task.
Figure 18: Workflow for rewarding participation with Step tokens
Accreditations
An essential feature of the OneStep Relief Platform is building trust across organizations and the participants by helping promote collaboration and information sharing. The system uses accreditations to validate the authenticity of organizations and individuals registered on the platform to increase trust across organizations and users. Before a relief organization is allowed to participate on the relief platform, the organization administrator must provide documentation proving the authenticity of the organization. Individuals must also validate their identity with a government-issued id. Individuals who want to participate in roles other than relief workers must provide additional documentation. For example, a health worker must provide a copy of their medical degree or certificate. Once the document is reviewed by an administrator and accepted, then the accreditation is approved. Individuals can apply their approved accreditations to multiple Organizations and Projects.
The Algorand blockchain records the documents provided for accreditations. When an administrator approves an accreditation, the administration must sign an Algorand transaction that includes the hash of the provided accreditation document. This signing step creates an immutable record of the document signed by the administrator. Because the signature is on the Algorand blockchain, an auditor can validate it at any time in the future.
The following screenshot shows the Accreditation submission form.
Figure 19: OneStep accreditation submission form
The following workflow illustrates the accreditation approval process. The relief administrator reviews and approves the applications. The accreditation module generates a document signing transaction routed to the relief administrators signing wallet to confirm the approval. Once the transaction is signed and committed to the blockchain, the approval process is complete.
Figure 20: Signing accreditations with the Algorand blockchain
Advantages of Using Algorand’s Blockchain
As described above, the OneStep Relief Platform consists of various modules that provide comprehensive organizational management and development experience. During the early stages of development, the development team chose Algorand blockchain for several reasons:
- It is a public blockchain, which is crucial for transparency.
- Transaction costs are nominal, approximately one-tenth of a cent.
- The transaction settlement time is fast. Block processing time is 4.5 seconds. For comparison, Bitcoin’s blockchain adds a new block every 10 minutes or so.
- It supports USDC and other stable coins, which simplifies international transactions.
The OneStep code uses the Algorand Java SDK to access the Algorand REST API (via the Purestake API).
USDC is the primary currency used for purchasing supplies, fund donations, and distribution of funds.
The platform applies ASAs (Algorand Standard Assets) to create a reward token, called a “Step” token. The platform uses the Step tokens to incentivize user involvement.
The system encrypts and stores accreditation documents to ‘cloud’ storage. The system computes the document hash and records it to the blockchain, providing an immutable audit record.
The Algorand Indexer V2 is used to quickly retrieve account history, including ALGO payments, opt-in transactions, asset transfers such as USDC, or platform-specific reward assets (i.e., Step Token). Only the relevant information is returned to the UI and is formatted for easy parsing, as shown in the output below:
{
"transactions": [
{
"date": 1620697031,
"sender": {
"address": "B2GCA7S5A5QFUFXD3BJCFPSSQNWTTSUOA57PC42PSD2ZOMH7UCUEOQLY3Q"
},
"receiver": {
"address": "4OKHGLCYS24BYOI4GLIM6DYUBGXNSQAHH42ZPGH7QEQF2YIJQABEIBUW2I"
},
"amount": 1500000,
"note": "Initial new account provisioning",
"type": "pay"
},
{
"date": 1620483869,
"sender": {
"address": "7ULNAA7ZV5HKJHXM7YJQQPPMZWNBT3QEUULBKBFMRZT4X5KANTW25AZFK4"
},
"receiver": {
"address": "B2GCA7S5A5QFUFXD3BJCFPSSQNWTTSUOA57PC42PSD2ZOMH7UCUEOQLY3Q"
},
"amount": 100000000,
"note": "",
"type": "axfer",
"assetID": 10458941,
"name": "USDC"
},
{
"date": 1620751773,
"sender": {
"address": "B2GCA7S5A5QFUFXD3BJCFPSSQNWTTSUOA57PC42PSD2ZOMH7UCUEOQLY3Q"
},
"receiver": {
"address": "B2GCA7S5A5QFUFXD3BJCFPSSQNWTTSUOA57PC42PSD2ZOMH7UCUEOQLY3Q"
},
"amount": 0,
"note": "1384782418",
"type": "pay"
},
{
"date": 1620751074,
"sender": {
"address": "UQPAFC6YH3WNJR4ALTKYLXW3CBVH4L56HO4MZ5YZADG6MU6Y3F3KYSDHAA"
},
"receiver": {
"address": "B2GCA7S5A5QFUFXD3BJCFPSSQNWTTSUOA57PC42PSD2ZOMH7UCUEOQLY3Q"
},
"amount": 100,
"note": "rewards module asset transfer",
"type": "axfer",
"assetID": 15104989,
"name": "Step Token"
},
{
"date": 1617487524,
"type": "acfg",
"assetId": 0,
"name": "Asset1",
"total": 10
}
]
}
Figure 21: Account History retrieved from the OneStep Blockchain Service
To simplify, we connect to the Algorand node API and Indexer V2 using the Purestake API (IaaS).
Future Algorand Development
As of May 2021, a limited release of the OneStep Relief Platform will be available and open-sourced under the GNU Affero General Public License (AGPL) Version 3.0. In collaboration with volunteers from the Harvard community, One Step Projects aims to establish an open-source developer community dedicated to expanding, improving, and maintaining the OneStep Relief Platform.
While there are numerous exciting development opportunities in the future of the OneStep Relief Platform, some blockchain-specific goals include:
-
Enabled the tagging of transactions
Use a notes field prefix to “tag” Transactions. Use the tag to search for matching transactions using the Indexer quickly. The prefix tags would make it easy to locate all transactions for a project or fund, increasing the overall transparency of the system.
-
Facilitate atomic transactions
Like a database transaction that requires all operations to be successful or none are executed, this has potential future use. One such case is the exchange for digital assets within the Resource module. For example, digital assets may include online training.
-
Enable multi-signature accounts
- Multiple people can individually approve a transaction (e.g., any 1 of 3)
- A set quorum of signers can approve transactions (e.g., 3 of 5)
-
Allow smart contracts
Use stateless smart contracts to delegate signature authority. Set up periodic withdrawal of funds for a specific amount. So you could have an ‘escrow’ type account that particular user(s) could withdraw from regularly without any further interaction.
-
Integrate Circle Payments API
Integrating the Circle Payments API will facilitate a seamless influx of funds into the blockchain economy. Supporters can donate in fiat currency converted into USDC or ALGO and moved into the blockchain. Additionally, the Circle Payment API supports transferring money off the blockchain to traditional bank accounts for use in local economies.
Conclusion
Our sincere hope is that this open-source platform will serve as a resource for organizations worldwide to become more effective, transparent, cost-effective, and impactful, particularly when disasters strike. There is no singular, enterprise-quality solution available for the intricacies of nonprofit data management and resource-sharing, and we aim to change that.
Video Demonstration
Demonstration of Fund and Resource modules:
Demonstration of Pago Transaction Gateway and Signing Wallet:
Demonstration of Reward Service:
Demonstration of Accreditation Administration:
Source Code
The complete source code is available here: