Inspiration

Last year, we watched hundreds of thousands of artists kickstart their careers in the NFT industry. We both tried to get involved, but as writers instead of visual artists, we quickly realized there was no space for text-based NFTs. We did some research and found that although the writing and publishing industries are actually bigger than the art industry, text NFTs made up less than 0.1% of all NFTs, and disappointedly gave up on NFTs as a venue for writers like ourselves.

This year, when the BUIDL IT hackathon began, we realized a solution still didn’t exist for writers interested in NFTs and so we began researching and building a prototype for the text NFT marketplace that would eventually become In Writing. We're hoping to disrupt the publishing and collectibles industries and create better opportunities for writers through Web3 and Polygon.

What it does

In Writing is a fully decentralized text NFT marketplace. Each In Writing NFT is an ERC721 token with a text string field that holds a base64 encoded version of the string. The text in each In Writing NFT is also unique - meaning the same string can only be minted once, and therefore only owned by one user at a time.

In Writing’s web app allows users to connect their wallet and mint, list, buy, sell, transfer, and read text NFTs. On the writing page, users can mint locked NFTs, where the token string is immutable and can never be appended to; or unlocked NFTs, where the token string can be appended to and modified. Users can list and delist their owned NFTs for sale on the ‘account’ page, as well as view all the NFTs they have minted and all the NFTs they own. On the ‘reading’ page, users can explore and sort other text NFTs by trend, price, activity, and more. They can also view the entire item activity and buy/sell history of each NFT. If a user sees an NFT they like, they can also purchase it.

The In Writing marketplace is also built to sustain a healthy ecosystem between creators – writers, journalists, poets, etc. – and NFT investors. Every secondary sale has a modifiable (but currently 20%) royalty that goes to the NFT’s original author, and we also have a centralized verification system on our frontend that allows investors to make informed decisions and prevents plagiarism on our platform.

How we built it

We spent the first week of the hackathon defining the parameters of the project and mapping out what functionalities the smart contract and web application would need to have. Our second week was spent designing, writing, and testing In Writing’s underlying smart contract to make sure it had all the functionality we needed and to prevent any security vulnerabilities. Weeks three, four, and five were spent designing, building, and user testing the web application and setting up our database and server to track and represent activity involved with our smart contract. In week six, we deployed on the Polygon mainnet and debugged issues with transitioning and optimized our SEO, site performance, and server performance. We also wrote a gas-free minting script and affiliate marketing smart contract as marketing tools.

Challenges we ran into

Testing our smart contract was difficult; we know how important quality assurance and catching security exploits is in crypto (and in general!), but didn’t have a lot of experience setting up local testing blockchains and networks. We ended up using Hardhat and Mocha/Chai.

User testing and market research were also difficult; as college students, we hadn’t had a lot of opportunities to conduct user testing and therefore initially didn’t know where to even begin. After hours of cold calling, however, we were able to user test and interview with over 30 prospective users, and used that data to optimize our user flows and value proposition.

Accomplishments that we're proud of

We had absolutely no experience with solidity when we started this project. After learning on our own through articles and tutorials, we had our first draft of the smart contract. Although it wasn't perfect, it was a great starting point. From there, we experimented with gas optimization methods and proxy contracts to make our platform more robust. We're proud of the fact that we learned Solidity on the fly and are very proud of the code we wrote for In Writing.

We also experimented with writing articles on Medium, where we were spreading the word of what we were doing with In Writing. Eventually, using some SEO optimization techniques, we were able to get a number of our articles to the top of Google, which was really cool to see. To boost our marketing strategy, we're also proud of the gas-free minting script we were able to implement into the website, as well as the affiliate marketing promotional-code smart contract that we talk about in our video.

We’re also proud to have accumulated over 100 users (at the time of writing) with no advertising budget and having launched for only a couple of weeks and ultimately, we’re proud of how much we built and accomplished within just 6 weeks.

What we learned

Neither of us had any experience in blockchain development before, so we learned about every step of the process: smart contract creation, testing, deployment, and building Web3 backends.

As college students, it was also our first time working with documentation and APIs that weren’t perfect. The Polygonscan wrapper for our scripting language of choice, Python, for example, was buggy and didn’t work for the Mumbai testnet and so we had to rewrite parts of several modules to achieve In Writing’s testnet compatibility.

We also learned a lot about the importance of time management and task distribution from working under the constraint of the hackathon’s 6 week deadline.

What's next for In Writing

We want to start looking for investors and NFT collectors to further prove the viability of our business model. With Polygon’s hackathon prize money, we’d start marketing campaigns alongside influencers and content creators and start advertising to both authors and NFT investors, and hopefully begin creating a space for text NFTs and writers in Web3.

Eventually, we’d like to see In Writing become a hub not only for writers, but also for other use cases such as decentralized universal usernames, where users can create their username and link it to their profile across all social platforms. We see this project going far, and the possibilities are nearly endless.

Share this project:

Updates