LIT-Protocol / LitGrants

Apply for a Lit grant and be part of the Lit ecosystem!
25 stars 2 forks source link

Open Grant: Give Protocol - Social Giving Protocol for Donations & Public Goods Funding #34

Open TheAlexYao opened 1 year ago

TheAlexYao commented 1 year ago

Open Grant Proposal: Give Protocol - Social Giving Protocol for Donations & Public Goods Funding

Name of Project: Give Protocol

Proposal Category: app-dev

Proposer: alexkyao

Do you agree to open source all work you do on behalf of this grant and dual-license under MIT, APACHE2, or GPL licenses?: Yes

Project Description

The problem that Give Protocol addresses is the difficulty of making consistent and impactful donations or public goods contributions as an individual or a small group. Currently, there is a lack of a platform that makes it easy for people in the web3 industry to come together in small groups, propose and collectively decide on an organization to contribute their cryptocurrencies to on a weekly basis. There’s no easy way for organizations to communicate with their donors easily and no way for individual donors to come together to form communities around causes they care about.

Give Protocol solves this problem by creating a collective giving protocol that enables individuals and small groups to form “giving circles” and make low-stakes donations to organizations of their choice using cryptocurrencies. This platform allows for a democratic and viral process of giving, as users can propose and vote on organizations, and their on-chain contributions will then appear on social feeds, allowing for other individuals to jump onto those donations and contribute as well with a clear history of the links between referrers and participants to create a graph of contributions. Additionally, Give Protocol helps non-profits and organizations to communicate with donors, improving discoverability and incentivizing consistent giving. With the integration of web2 and web3 identities and the possibility of receiving NFTs and airdrops through web3 wallets further enhances the user experience and strengthens the connections between organizations and donors. Organizations can form donor-only communities or allow for bottom up community building centered around superconnectors in major social networks.

At a more basic level, Give Protocol allows for individuals and groups to come together weekly as a community to discuss the issues that they care about and want to support directly through their contribution of money and provides a communication avenue for engaging at a deeper level by allowing for contributions of talent, non-monetary resources, and collective action through community. We plan on integrating the Gitcoin Grants Protocol in our initial MVP to provide the initial organizations for donors to contribute to, in order to test our hypothesis that people want to engage on a deeper level with the causes and communities they care about.

Value

We will be using LIT Protocol’s Programmable Key Pairs (PKPs) which are public/private key pairs generated by the Lit network in a process called Distributed Key Generation. Each node custodies a share of the underlying private/public key, meaning the key never exists in its entirety. Users can mint a PKP in the form of an ERC-721 NFT. There are multiple ways someone can sign with a PKP through setting a Lit Actions authorization method. For example, Google OAuth becomes the method of authorization for the Lit nodes. The ability to authenticate an account through OAuth and have a web3 wallet abstracted away, will revolutionize the way we interact with decentralized applications and services like Give Protocol. We want to onboard new people to web3 by enabling new ways of organizing and giving to the causes they care about the most.

We want to reduce the complexity of onboarding and wallet management so that users can easily give to the organizations they care about without having to worry about the complexities of interacting on-chain that many web3 platforms currently face today. By providing users with a web3 wallet that is connected to their existing web2 accounts, users can enjoy a seamless onboarding experience while managing their web3 digital assets. Furthermore, the wallet abstraction allows users to manage their wallet without the need to store any pass phrases. We can also enable automated recurring payments that allow a user to fund grants by a specified amount every week.

The success of Give Protocol will enhance the LIT Protocol ecosystem with a prime example of applications that are needed & vital for the Web3 ecosystem - values-first, community-first applications. Being able to effectively organize and coordinate small groups of people on-chain means that we will be able to unlock powerful & much needed use cases that can benefit anyone and everyone, regardless of their backgrounds. The main risk of not succeeding with Give Protocol is the loss of an opportunity for mainstream adoption of peer-to-peer philanthropy and collective giving using crypto. The main risk that will make executing this project difficult are financial constraints & finding more talented developers to work on this project.

Deliverables

Main Goal/Objective

Facilitate funding any organization while providing strong social signals on the quality & impact of organizations.

Main Requirements

Ease of use: App should be really easy to use Gas efficient: Ideally the user actions should not cost that much gas and should not trigger too many transactions to sign, etc. Secure: Funds should always be safe. Mitigate as many attack vectors and exploits.

Deliverables

Development Roadmap

  1. Milestone 1 - Run alpha test ($20,000 USD) [March 1, 2023]
    • 2 developers (Build out smart contract & application)
    • 1 designer (Build out mockups & UX flow, design kits, etc.)
  2. Requirement gathering (1 week) [March 1 - March 7]
  3. Planning & architecture setup (1-2 weeks) [March 8 - March 14]
  4. Frontend mockups & UX flow validation (1-2 weeks) [March 15 - March 25]
  5. Build smart contract (3 weeks) [March 27 - April 14]
    • Some of the development can be done concurrently if we have 2 developers
  6. Build backend (2 weeks) [March 27 - April 7]
    • Priority on Grant Owner & Contributor flow
    • Some of the development can be done concurrently if we have 2 developers
  7. Build frontend (2 weeks) [April 10 - April 21]
    • Some of the development can be done concurrently if we have 2 developers
  8. Write tests & documentation (1 week) [April 17 - April 21]
    • Unit tests & integration tests
    • Tests should be written while developing, but sometimes we might leave something out, so it’s good to look back. There is a strategy to reduce time spent on writing tests, which is to only test failure points/bugs, rather than writing tests for every user action (especially simple tasks)
    • A good point to reconvene and look at what we’ve worked on. What went well? What needs to change?
    • Start documenting at this point to pinpoint anything to improve to avoid any tech debt & backlog
  9. Milestone 1 - Run alpha test (Completed)
    • Basic functionality to create grants, view grants and receive funding should be achieved.
    • Users can also join groups, create proposals & vote on them
  10. Milestone 2 - Run beta test ($10,000)
    • 2 developers (Develop application & add fixes) Develop integrations & additional features (3 weeks) [April 24 - May 12]
    • Additional payment integrations
    • Privacy solutions
    • Rollups, meta transactions
    • Account abstraction
  11. Gather feedback & reiterate/improve (2 weeks) [April 24 - May 5]
  12. Smooth out any CI/CD hiccups. (1 week) [May 15 - May 19]
    • Deployments should be smooth & automatic at this point
    • Basic logging & checks should be in place
  13. Document & test more again (1 week) [May 22 - May 31]
  14. Milestone 2 - Run beta test (Completed)
    • Application should be 90% ready. All deliverables should be achieved at this point, with only minor fixes and features to add into place
    • This means user profiles should be set up, voting proposals and giving groups should be working fully, and grant fundings can be disbursed & withdrawn by the grant owners.
  15. Gather more feedback (2 weeks) [June 1 - June 14]
  16. Setup “knowledge base”/FAQs based on feedbacks for users (1-2 weeks) [June 1 - June 14]
  17. Fix any critical bugs (2 weeks) [June 15 - June 30]
  18. Milestone 3 - Main launch [July 1]
    • All deliverables done
    • Knowledge base is prepared
    • Ready for public launch on mainnet

Total Budget Requested

$30K. Initial funds will be used to fully focus on development. The funds will be used to pay for developers & designers to launch our initial MVP. However, it would take about 4 months of development time.

With $50K, we can onboard another developer which will reduce the development time by 1 month, down to three months in total.

Maintenance and Upgrade Plans

We will add additional functionality, features, and bug fixes as the community feedback is received. We will have a long term commitment to maintain & add new features for this project for at least 1 year.

Team

Team Members

Alex Yao Eason Chai

Team Member LinkedIn Profiles

https://www.linkedin.com/in/alexanderkyao/ https://www.linkedin.com/in/easonchai/

Team Website

https://linktr.ee/giveprotocol

Relevant Experience

GiveFire (Hackathon MVP for Give Protocol)

Our team was the winner of 8 Prizes at ETH Bogota: https://ethglobal.com/showcase/givefire-the-collective-giving-protocol-9n7qf

Alex’s Relevant Experience

Community Strategy & Community Building: I've spent the last 7+ years building communities and community-first businesses as an entrepreneur and community professional in a variety of contexts including education, health, technology and crypto. I started working full time in the crypto industry in 2021 in community roles at The Graph, Hashflow, and most recently as a community lead at SuperLayer, a venture studio in the RLY Ecosystem. Since 2016, I've participated in numerous communities within the crypto space including being a Devcon VI Scholar, Kernel Block 3 Fellow, and Blockchain at Berkeley Alumni.

Prior NGO / Non-Profit Experience: I co-founded United Technologies For Kids while I was at UC Berkeley and built a platform for STEM education from concept to production, implementing 25+ STEM labs and programs in high schools in Peru and Colombia. I also designed a rigorous curriculum to teach 10000+ students how to build social innovation projects that address community problems using technologies and skills like 3D printers, UAVs, Robotics, 3D modeling, electronics hacking, and programming. This experience has shaped my desire to create companies that impact the entire world rather than just the country I was born in.

Eason’s Relevant Experience

Fullstack Developer: I’ve worked as a fullstack developer for the last 5 years. I’m familiar with a wide range of programming utilities & languages. Worked as a freelancer for the first two years and worked full time for the last three years. I’ve led engineering teams and built applications for multiple MNCs & brands such as Coingecko. Currently running my own Web3 development company.

Smart Contract Developer: Started doing smart contract development in 2020. Joined multiple EthGlobal Hackathons & was invited to Gitcoin Kernel’s Apollo Program. I’ve developed many smart contracts ranging from small to large complexity, and actively contribute to OSS such as thirdweb’s SDKs. Attended Devcon VI as a Scholar in 2022. Actively run developer-centric workshops for companies & Web3 fundamental workshops in universities across Malaysia under ELVTD & KopiDAO, funded by Polygon.

Team code repositories

https://github.com/easonchai/givefire-ethbogota

Additional Information

We learned about Lit Open Grants Program through David Sneider

Email to discuss grant agreement and next steps: alex@alexyao.me