I believe in the future of blockchain technology and web3. However, i see the adoption to be a bit slow, especially for the non-technologists. This application will help us get one step closer to have the laymen excited. Since this is around the make up concept, it should excite women and men alike.
What it does
MakeAp provides a platform for professionals and amateurs to show case their make-up talent and earn while they do that. The app allows the customer to own a NFT and also participate in compete-to-earn contests. Since this is around the concept of make up, it would encourage "non-crypto" savvy and women to get interested.
How it works - Simple Workflow (This is also covered in the video presentation)
- To start off with, the MakeAp application provides a MakeAp NFT marketplace where the customer can buy the NFT.
- Once the customer buys the NFT, he/she is now eligible to participate in the list of contests. along with the eligibility, the customer also gets 50 MUT token that is minted by the project. A MUT is an ERC20 Token, native to the project.
- The NFT owner can go ahead and participate in the contest.
- Each contest will be based on make-up but will have some unique criteria, like, max participates, participation fees and winning price. Let's take an example of contest C1, with max participates as 3, participation fee as 5 MUT and the winning prize as 10MUT.
- When the contestant participates in C1, 5MUT (fees) is transferred to the project (contract).
- Similarly, 2 other participates also enrol by paying 5 MUT each.
- The contestants can then go ahead and submit the make up video based on the contest criteria.
- Meanwhile, other app users can join the voter pool by depositing 1 MUT token. This token is held in the project and returned back to the voter, along with the "reward" once the winner is announced. The voter is incentivised to join the pool as they are rewarded with MUT token once they cast their vote.
- The voters from the pool are randomly selected using Chainlink VRF V2 and are assigned to the contest.
- Once the voters are assigned to the contest, they can evaluate the video submitted by the contestants and cast their votes.
- Based on the votes, the winner is announced. In the example contest, the winner now gets 10MUT and the voters, for their service get 1.5MUT, which is 1 MUT that was deposited, and 0.5 as reward
Keep in mind, that these rewards/fees/contest price/max participates/etc can be customised. The examples above are just to give an idea of how things work.
How we built it
- It's built on polygon network. I used the mumbai testnet along with alchemy to build the application.
- Solidity as smakrt contract language and hardhat for the development environment
- The project mints ERC-721 NFT and ERC-20 Token.
- Chai (and hardhat) for testing.
- Chainlink VRF V2
- ipfs for image storage
- npm and node
- ethers.js library to interact with the chain
- Web UI using react, next.js and tailwind css
- To deploy and run, please refer to README.md in the git repo
Challenges we ran into
- Minting a native ERC-20 and ERC-721 token as part of one project.
- Figuring out the tokenomics for the project
- Chainlink VRF V2 integration
- Getting MATIC tokens from mumbai faucet was little bit of a challenge. But with Alchemy, I was able to get 5 MATIC every 24hrs which was good enough.
- Making a presentation and demo ~5 mins to explain all the concepts. :)
Accomplishments that we're proud of
- Building the solution in time.
- Feels good to bring NFT, native token, play-to-earn, randomisation, all into a single project and provide a complete picture.
What we learned
I am sort of new to the blockchain development. This helped me learn to build a full-stack project using polygon network.
What's next for MakeAp
I believe there is a huge potential for the project to be enhanced to the next level. Some of the things that comes to mind are,
- NFTs can be sponsored by well-known make up companies which would add value to the NFT owner to hold or even to trade in future.
- The competition can have specific themes and also be sponsored by the make up companies.
- The custom ERC20 token (MUT) can be backed (not pegged) by MATIC obtained from the sale.
- More features and “usage” can be added to the MUT token.
- MUT token can also be burnt on certain actions.
- The concept itself can be extended beyond make up.
- An effective way to make sure the participates submit a "valid" video for the contest using image processing and AI
- Figure out a way to promote the project once we get it live, probably with some airdrops and NFT sponsorship