It is often the case that developers test their products amongst the team or among a limited users and miss out on the various perspectives and feedback they could got from a large audience. Even though the product's features, ui, performance may seem fine for the developers and alpha testers, but the actual target users may have a negative and constructive feedback. In these cases, the company's effort and capital goes wasted.
Distribution of Budget: So, one of the challenges was the distribution of the budget allocated by the company for rewarding the reviews. It would have been really hectic for a company to go on sending money for each review. So, what we did was we developed an algorithm which takes in the ratings given to each review and divides the budget accordingly. So, the company only needs to rate each review and just click one button to send money which will automatically divide the budget and send it to the reviewers.
Proper Use of IPFS: We wanted the reviews data to be secured and unchangeable. So, IPFS was perfect for data integrity. So, we stored all the reviews in IPFS which only has add and read operations.The data in IPFS is immutable and the data we wanted to store in it was supposed to be updated in real time. So, we stored the mutable data inside a smart contract so we could update it in real time. Also, storing data in smart contracts is costly, so we decided to store some data in Firebase.
Celo Extension Wallet: We thought about using Celo exchange for rewarding reviewers and deploying solidity smart contracts over the alfajores testnet. But, the support of their libraries and celo extension wallet was limited. So, to get the full flexibility for smart contract we switched over to etherium and deployed our contract over rinkeby testnet.
Choosing the Best Idea: We gathered many ideas like Ride Sharing application where we felt adding a block chain to it would be kind of over engineering it. Another one like NFT Selling Platform was the one where there were some already existing platforms which are already doing great. A mentor-mentee app where mentor gets paid through a smart contract after mentee gets an internship but it had some flaws like the no one can verify if the mentee really has bagged an internship or not.
Discussion