When content creators don't want to use Google AdSense and they instead want to partner directly with the brand, they rely on static contracts that pay them based on their historical average content engagement numbers. However, this poses a problem. Let's say that a YouTuber partnered with Squarespace to mention their brand in a video, and the YouTuber had only 15,000 subscribers at the time of the partnership and was averaging 10k views per video. But then, three years later, that YouTuber's channel blew up and that video with the Squarespace mention now has millions of views. Yet, Squarespace paid the Youtuber a lump sum three years ago so the YouTuber will miss out on tons of well deserved ad revenue. This problem presents itself anywhere that sponsored content is used (think — tv shows, news articles, TikTok videos, Instagram posts, YouTube videos, Spotify podcasts, movies, etc). Brands also sometimes get the short end of the stick if the content creator they partnered with published a dud piece of media. If only sponsored content contracts could be more dynamic and brands could pay influencers or content creators in a smarter way.
What it does
Dapplu lets brands make smart contracts with content creators. Only YouTube videos are supported at the moment. Brands set a deadline, pay per view amount, budget, and can upload an optional legally binding written agreement. Content creators respond by uploading their YouTube video tag. The smart contracts automatically pay the creator for their YouTube video views. The creator can't earn more than the contracts budget amount. When the contract's deadline comes, it stops automatically updating itself and stops paying the content creator for new video views. The creator can withdraw their payments anytime. By default, the contracts store its funds in ethereum, however, if the brand and/or content creator are worried about volatile ethereum prices, then they can choose to convert and store the contract's funds in a stablecoin like Dai, Tether, or USDC (which are pegged to the U.S. dollar).
How we built it
React front end. Bootstrap UI. Web3 to communicate with solidity smart contracts. ENS + The Graph API to resolve addresses and ens names. Infura IPFS API for written agreement upload and storage. Uniswap for on-chain currency conversions. Chainlink for calls to YouTube's API and scheduled contract termination at the deadline. Truffle development environment. Firebase website hosting
Challenges we ran into
I was so close to getting my YouTube external adapter hosted and working but on the day of submission, all it was returning was 403 errors so I couldn't test it. The hackathon video took a few full days. I had a hard time figuring out how to work with audio, make animations, and make it concise. Adding an external adapter was tricky. Debugging solidity smart contracts was never ending. I gave up trying to test the smart contracts using Truffle tests. Too tricky with Chainlink involved and there wasn't good enough documentation on how to do it easily. I also had a hard time understanding what the hackathon sponsors did and how I could integrate their technologies. There were lots of different blockchains and it wasn't clear what their benefits were. I ended up sticking with ethereum because that's what Dapp University recommended. I was also kind of stuck using Kovan because that's where the chainlink price feeds and working alarm clock oracle were, but I wish I could have gotten some of the other testnets to work because ENS didn't support Kovan.
Accomplishments that we're proud of
My dApp has completely decentralized data storage (using IPFS and the ethereum blockchain). My dApp is useful and the first of its kind I think. It has a pleasant UI, it's functional, and it has a cool video to go along with it.
Also, this was my first dApp and hackathon project and I'm pretty proud of all that I have learned. I started learning about cryptocurrencies and blockchain last November. Shoutout to Dapp University and Mastering Bitcoin by Andreas Antonopoulos.
What we learned
I learned so many technologies and tools (Metamask, Web3, Truffle, Chainlink, Uniswap, ENS, The Graph, IPFS, Infura, Firebase, Solidity, Markdown). I learned about all these different blockchains (Aave, Polkadot, Matic) and how they're trying to be better than Ethereum. I learned how to make videos and use iMovie. I got better at using React and bootstrap. Finally, I learned about the huge blockchain community and all the resources and helpful people out there.
What's next for Dapplu
- Get some users!
- Make it easier for users to pay (let them use credit cards, don't require Metamask).
- Get product feedback.
- Deploy to the mainnet.
- Add support for Spotify, Instagram, Facebook, TikTok, and news articles.
- Add different content engagement metrics that brands could use to pay creators
- Improve ENS integration (store ENS names rather than the resolved addresses).
- Find cheaper ways to deploy and run the smart contracts (less gas fees).
- Check out security and definitely improve it.
- Fix never ending bugs.
- Get the external adapter working
- Add a platform fee
- Improve the user experience and education.