We would like to build a Quadratic Funding Social Network in Q1 2023. Such a system would upregulate posts based upon what is micro-tipped the most, not what is liked the most, which would create
a more regenerative social network
an earning opportunity for people trying to do good
a compelling 10x-better usecase for web3 social
What should we build it on?
Web3 - Lenster
We could build QF Social Network on Lense Protocol. Picture https://lenster.xyz/ but with Quadratic Funding - powered microtips as the main engagement mechanism for users (and sorting mechanism for the feed) instead of likes.
Web2.5 - Discord
We could build QF Social Network on Discord. We’d build a discord bot that you could use to give out micro-tips on your favorite discord server, a QF social network seamlessly integrated to where your community already is
Web2.5 - Twitter
We could build QF Social Network on Twitter. We’d build a twitter bot that you could use to give out micro-tips on in twitter, a QF social network seamlessly integrated where your community already exists.
Sounds like a perfect match for DeSo (https://deso.com). They have micro-tipping built-in with diamonds (https://diamondapp.com) and super low transaction costs.
One of the community members also created Discord bot for micro-tipping inside of a Discord server.
They are not EVM (no smart contracts), but they have Metamask login option. Their public keys are compatible with Ethereum which means they could use Gitcoin passport. Gitcoin passport could run a script that check profiles based on Ethereum addresses and use associations primitive to label users with Gitcoin passports.
But I’m not sure how gitcoin grants protocol works. I would need look into it.
I guess Lens could be used for it too. Microtip could be a paid collect (which is better that simple transfer because it’s automatically associated with the post) with different icon and UI and perhaps variable pricing.
It would probably need own indexer to index posts, because Lens indexer uses it’s own “algorithms” for a discovery feeds.
grantowner.eth (anyone) can setup a new QF round (attributes: start date, end date, amount in GTC)
grantowner.eth can define requirements for matched lens publications (whitelisted profiles, passport, PoH, nft holder, max publications per profile, post content limitations)
when the round is over, grantowner.eth can start the payout to matched publications. Each publication donation will be matched with GTC from the round based on the amount and the quantity of the donations received. (would be nice to include other factors)
user.lens can create a new QF publication (attributes: referralFee, referralFeeLimitations, collectLimitations, receiver address)
user.lens can apply for a round with a QF publication
donation sent to user.lens publication will be transfered to user.lens wallet immediately. Matched GTC amount will be received by the user when the round is over.
donor.lens can see all active QF publications with likes and comments like on lenster.xyz
donor.lens can donate to active QF publications
donations (minus referral fees) are directly sent to the publication owner
Anyone on any Lens platform can potentially donate to an active QF publication by collecting its post!
On the smart contract side this logic can be encapsulated in a QFCollectModule that can be built on top of the SimpleFeeCollectModule.
It could be a very generic implementation that can be used by anybody and allows for future iteration that might be more specific to gitcoin or supermodular modules.
Using this module, if we post with gitcoin.lens profile like KoruDAO we could potentially allow anyone to create QF Publications even if they don’t have a lens profile
@owocki Happy to work on this if you like the idea
I’ve playing a bit with the above ideas and here is what I’ve got.
This is a first release of my Gitcoin Collect Module for Lens protocol.
This repo contains basically two components:
a custom Voting Strategy that process votes coming from both the grant explorer and lens protocol. If a vote comes from Lens protocol it will check if it wasn’t already casted and emit a Voted event with data (amount, voter) coming from the Lens collect NFT. Otherwise it will use the standard Gitcoin way of processing votes.
a Gitcoin Collect Module for Lens protocol which allow lens users to apply to a gitcoin round using their publication. This module will cast a vote by calling the round implementation whenever a user collets a post submitted with this module. Using this module publisher can also set a referral incentive.
Add deploy scripts for mumbai testnet and polygon mainnet
Allow publisher to set min_amount for collectors or to activate referral incentives
Anyways I enjoy a lot working on it and, at the end, I have a proof of concept that can easily become a working prototype for a dapp. So maybe it makes sense for me to apply to few grants with this (gitcoin? lens?) in the hope to receive some donations to keep working on it.
Next step: UI for publishers!
I still haven’t put my hands on grant explorer code but I’m confident this could be integrated into it with a simple “share with lens” button and a modal to specify settings but I’ll probably make a small independent react app just for fun!
We’ve been working on a similar but slightly different implementation with Raid Guild and am posting here to move our conversation to public
It would probably be valuable to roll out some Grants infra since they’re not on Polygon and probably won’t be in the near future. So @izziaraffaele and I agreed on aiming to share the Grants infra (contracts, payout APIs, etc…) that all off our applications could use.