deQuiz
deQuiz is an innovative platform for creating and minting generative NFTs based on user interactions with quizzes. Each NFT is unique and procedurally-generated by AI.
Created on 27th June 2024
•
deQuiz
deQuiz is an innovative platform for creating and minting generative NFTs based on user interactions with quizzes. Each NFT is unique and procedurally-generated by AI.
The problem deQuiz solves
deQuiz addresses the challenge of engaging users in a meaningful and interactive way while providing tangible rewards for quiz completion.
Traditional quizzes lack tangible incentives, and existing NFT platforms often fail to incorporate engaging user experiences. With deQuiz, users can see the result of their decisions, which are pre-defined by the algorithm and blended with AI generation.
The resulting NFT is unique and part of the quiz collection and theme.
Quiz results are recorded as NFT traits on the blockchain, allowing for additional price fluctuation based on rarity in the secondary market.
Additionally, we plan to develop the project further to allow anyone to create their own quizzes with a user-friendly and straightforward interface. Creators can monetize their ideas by receiving a percentage of the minting fees and potentially secondary market attribution fees.
Challenges we ran into
NFT Metadata structure & IPFS uploads
- Since we wanted to host NFT data decentralized - we needed to upload both image and metadata to IPFS.
- To upload an image to IPFS with ThirdWeb SDK (we chose them based on the comfortable pricing model) we had to download it from OpenAI servers first. We implemented a module which would handle IPFS uploads, downloading the image to the server fs, and scheduling a task to remove it later.
Writing to smart contract
- We had an issue when initiating write transaction to smart contract for NFT mint using ThirdWeb SDK for react, so we had to find another solution and ended up using wagmi which has more convenient development tools.
- Since it’s out first web3 project we had to get to know how to await the result of the transaction and implement events to reflect successful completion on UI.
Rate limiting
- Since we did not want users to abuse our backend infrastructure to generate a lot of images (each request to OpenAI API is paid) - we had to implement a rate-limiting solution allowing to generate only 4 images per hour.
Anonymity
- We did not want to expose web3 identity on web2 server (server is required for AI image generation with OpenAI API and upload to IPFS), so we invented a mechanism to identify users by their hashed wallet, meaning we do not store any wallet addresses or other identity in centralized database. We store only the hash which cannot be converted back to the original wallet address.
Tracks Applied (1)
Creator Track
CREATOR with Zora
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.