On-Chain NFT DNA for Flow

The problem STRANDS solves

Despite the architecture of the Flow blockchain being outstanding at composing resources like NFTs across projects, we still don't have many examples of true composability. Also, more and more of us are accumulating NFTs that don't have use cases beyond their core project. STRANDS unlocks a new and unique use case -- use the NFTs in your wallet, from projects registered to the NFT catalog, to sequence base pairs of NFTs into on-chain DNA. A STRANDS NFT memorializes a part of your NFT identity, and like your DNA a given strand of on-chain DNA can only ever be minted once. Collect STRANDS NFTs that have themes, like only DNA from sports NFTs on Flow, or mixing PFP NFTs with FLOATS to symbolize your history in Web3 and Flow. Future use cases will be to use your STRANDS NFT for token-gated experiences and even for further composing (breeding PFPs for example) of new NFTs and new experiences.

Challenges I ran into

Because the minter's on-chain DNA is 'etched' into the transaction itself, I wanted to save the transaction ID from the minting of a STRANDS NFT onto the NFT, but I couldn't find a way to do this. I have some ideas on how to achieve it via other processes/actions, but for the hackathon I had to table the idea. Also, I made wireframe mockups of the app and still I iterated on the design so much as I built it that that resource was mostly a waste of time. I went through about three different UI schemes while building, which was very time consuming. Even the project name is something I changed, initially starting with Flow DNA, then landing on something more simple ("STRANDS"). Also, I spent a large number of hours in building this and also doing my project with Matheus (for The Beyonders team), which slightly (but I'm sure temporarily) damaged my health. If people love what I made then it'll be worth it!