Marketplaces serve a meaningful purpose in our lives where buyers can choose from a wide variety of products and services in a few taps. Sellers have a universe of customers they can reach and be available where their customers are. However, for both parties, this comes at a cost that is more than just financial. Shoppers lose their privacy when they transact on a marketplace; the marketplace operators can see a customer's purchase/search history and use this information to recommend useful products, which is useful for shoppers, but trust needs to be placed in these operators. Trust that they won't abuse this information or share with other partners for monetization. Merchants share their sales, inventory, and other data that seems obvious to share with a marketplace that is providing them with revenue but here too trust must be placed in the marketplace operator. Trust that they won't use this data and monetize it some way and more importantly that it won't be used to build competing products. Masket aims to provide a privacy-first marketplace that puts shoppers and sellers back in control of their data. As a marketplace, we simply want to provide a gateway for these two parties to connect and will not see any personal data from shoppers and while we may collect personal information from sellers (for basic verification), we also won't have visibility over their sales data.

Masket showcase

How it's made

We started out developing the contracts with hard hat and remix. Next we deployed the contract to the matic network which was very simple to do since it is identical to the mainnet EVM. After that we built out a subgraph and checked to make sure data was being synced properly. Then the fronted was built with NextJS and tailwind. MetaMask integration used the react web3 package and IPFS was used to store metadata. Nothing in particular was very hacky but the contract could be more robust. Admins have to manage the products and we think we could do this in a more decentralized way moving forward. Overall, we're glad that we could put together a full stack application even though our frontend developer was unavailable mid-project due to unfortunate circumstances related to COVID-19.

Technologies used

IPFSMatic/PolygonThe Graph