Inspiration
The inspiration for WeVideo comes from recent events in India that involved concerted efforts by the government to impose digital censorship and also the prevalence of fake news and misinformation. While from the perspective of the government and the perspective of the content creator respectively, both look correct and hence there was a need to strike a balance. This lead to a solution we now know as WeVideo. Another part of WeVideo, is the use of short form videos. The recent trends of adoption of videos further motivated me to use videos as the medium of communication to achieve this balance. Examples of such adoption can be seen by Twitter, Instagram and of course TikTok (based on video).
What it does
WeVideo gives users the ability to start video based discussions on pressing social issues and political challenges. By creating short form video (upto 60 seconds video duration), the platform is able to provide engaging and informative content to users. Users can watch the content in their specially curated feed and they can perform one of the two actions: like or reshare the video. We are not big believers of disliking content and hence we chose to remove that functionality from WeVideo. Each of the above mentioned actions have a meaning like resharing the video gives creators voice and is a show of support for the specific issue, the video addresses. If the creator/poster of a video gets some amount of engagement like 5 likes or 10 likes then they are able to mint an NFT of that video as an accomplishment of the quality content they posted. It also gives users incentive to keep sharing such content with the community.
How we built it
We have built WeVideo using the following technologies:
React.js: We used React.js for the frontend of our application. React was an obvious choice since it is fast and has a low learning curve, plus it has great resources and documentation for getting started. Also, there were a lot of packages and modules regarding Ethereum and Web3 like web3.js and ethers.js, which gave us confidence and support while building our dApp.
Solidity: Solidity was necessary in order to build a dApp in the first place, since it is the language for building smart contracts and it has good enough resources for getting started. As most of our teammates has no prior experience in Solidity, this Hackathon gave us an opportunity in learning Solidity and building smart contracts for Ethereum and Metis.
Hardhat: Hardhat, like Solidity was necessary. Though there are alternatives to Hardhat like Truffle, we chose to use Hardhat since most resources regarding Metis and Polis were based on Hardhat as the smart contract management tool.
IPFS: IPFS (Interplanetary file system) was our media storage solutions. Being decentralized, IPFS was exactly what we needed as a storage solution. On top of that, using IPFS was a breeze, and of course it cost us nothing to store videos on IPFS.
Chart.js: In the stats page of WeVideo application, we displayed interactive graphs of the statistics showcasing the engagement the user received on their content. This was done very easily using Chart.js, a very popular library for creating graphs and charts with JavaScript.
Openzeppelin: For the NFT minting feature we chose to use Openzeppelin contracts which contained ERC721 compatible tokens. Using these contracts as template, we were able to easily build out the backend for our custom NFTs and easily mint them with a single function, this saved us a ton of time and hassle which we would have spent in making our own tokens from scratch.
Challenges we ran into
While building we ran into several challenges like integrating with Polis and deploying the smart contracts on Polis. When we were deploying the smart contracts on Polis, we made small yet significant mistakes like not updating the ABI after redeploying the smart contracts. Such mistakes were frustrating and reduced our confidence in building the project. But after determination and hard work we were able to pull through and build out the entire application with no errors or major bugs.
Accomplishments that we're proud of
We are proud of the fact that we were able to create an entire dApp within 10 days on the Metis platform, a blockchain we had no experience in, plus most of our teammates had little to no experience in Solidity so it was also a great learning experience along with a great accomplishment. We are specifically proud of building a dApp on Metis layer since we first built it on Ethereum then migrated the entire dApp to Metis in just 3 days.
What we learned
During this hackathon, we learnt several new technologies and frameworks like Hardhat for smart contract management and Metis for deploying smart contracts. Along with that many of our teammates were able to properly learn Solidity and build smart contracts for Ethereum and Metis using Solidity, and none of our teammates knew anything about making NFTs or tokens, so it was a nice experience learning how to make ERC721 tokens using openzepplin contracts.
What's next for WeVideo
In the future, we would like to add many more features like commenting and flagging videos, to create a community-based moderation system for inappropriate content. Furthermore, we would like to extend our statistics to display number of times a video has been reshared, along with the ability to trace the video back to the original poster.

Log in or sign up for Devpost to join the conversation.