Reward your fans for spreading your content! Decentralized AdSense lets you create advertisement campaigns where anyone can become your advertiser; rewarding each referred with a portion of the campaign funds dependent on how many people they referred to your content.
As a content creator, when advertising your content, you can go with the tried and true, but boring and inefficient methods of advertisement (e.g. google AdSense, Facebook ads etc...) Or you can try to do more interesting and creative forms of advertisement, like posting links in potentially interested discords. Decentralized AdSense lets you pay to offload that creative process of advertisement to your fans. When you create a campaign you lock up a certain amount of money into it, and when the campaign ends the money is distributed to everyone who referred people to your link, proportionally based on how many people they refereed. This way you incentivize clicks, and make sure your campaign funds go towards the most worthy advertiser.
This project primarily uses the SuperFluid Instant Distribution Agreement to do its work. It's ability to distribute funds according to some changing index is very useful. The smart contract that secures the fund and distributes it using Superfluid's IDA was built on a standard smart contract toolchain (hardhat, alchemy, typechain, ethers). Our frontend was built using Next JS/React and we used WalletConnect to connect to the users wallet. We have three modules on the frontend, one which lets a user create a campaign, one which lets them edit the campaign/join the campaign as a referrer, and a final one which is the referrer link, which redirects to the campaign's content, and keeps track of which referrer link was used. As far as storing the counts of the uses of the referrer link, we knew we had to store it off-chain, since we couldn't have the user accessing the referral links content pay for gas fees to record their interaction. We originally wanted to use Orbit-DB (built on top of IPFS) to keep track of these counts in a distributed manner; but problems with permissions and other implementation problems forced us to compromise, and instead we keep track of use counts with Firebase. We deployed the dApp/Smartcontract to Polygon PoS in order to minimize Gas fees.