S

Spindle

A publishing platform that doubles up as an NFT marketplace and lets the buyers/readers treasure visual memoirs or unlock additional chapters regarding the NFT they bought.

The problem Spindle solves

Writers can use Spindle to publish their work, and also mint NFTs which contain some memoirs regarding the article or book that they published. Readers can also support the writers by streaming money to them. Spindle aims to combat censorship and unjustifiably low royal fees that writers get because they do not get paid every time their book is resold.
Spindle can be related to the movie "Black Mirror: Bandersnatch", which has multiple story-lines according to the viewer's choices.

Advantages of NFTs for a writer:

  • Special and Limited Editions
  • Writer can create special or limited editions of the books.

Signed Copies

An author could also create copies with a limited number of digitally signed copies of a work.

Bonuses

Making the owner special and providing him with special and alternative storylines when he buys the book.

Spindle also offers:

  • Lightning-fast transactions powered Polygon (Matic Network).

  • Seamless streaming of the price for the book to author powered by Superfluid SuperApp contracts and streams.

  • Indexing the CIDs using The Graph protocol.

  • Buy and Sell NFTs using any approved token with external API calls used to validate prices powered by Chainlink Oracles.

  • Seamless logins without any additional extensions powered by Portis.

  • Dynamic Access Control by NuCypher for ensuring only the buyers have access to the complete article/book.

  • Filecoin for storage and to avoid censorship

Challenges we ran into

  • Basically, everything wasn't nodejs or react because our team was at a beginner level when it comes to web3 development. Web3 development isn't as well documented as Web2 development but that was okay to some extent since we had access to the discord servers of the protocols and technologies that we are using.
  • Portis assume that you connect to only one chain at the time so I have to write a special logic to pass different chain info as people navigate into different chains.
  • Had difficulty while integrating superfluid in our smart contract due to minimal info on the superfluid documentation and had to researched and read various SuperApp examples. We also faced challenge in the Oracle part for connecting GitHub API with the contract

Discussion