Back to All Episodes
Season 1Episode 38

PostThread

September 30, 2022
27m
2 Guests

Listen Now

About This Episode

In this episode of DevNTell, Narb welcomes guest Ian McCann to discuss PostThread, a decentralized social media platform. McCann, a data scientist, explains how his interest in NFTs and the desire to meet other developers led him to join Developer DAO and ultimately create PostThread with his partner, Paolo Grignafinni. PostThread aims to address the misaligned incentives of Web2 social media by using crypto innovations and sound economics to reward users for the value they create. The platform, currently built on Polygon but with roots in Polkadot, features an open-source, decentralized version of Reddit. McCann demonstrates the user interface, including profile leveling, social score calculation, and a unique reward system that allows users to earn tokens through interactions. He highlights the platform's focus on abstracting the complexities of Web3 for the average user, allowing them to enjoy the benefits of decentralization without needing extensive crypto knowledge. The presentation concludes with McCann's vision for the future of PostThread, which includes moving away from the Reddit API to a more organic community and fostering innovation through an open database protocol.

Key Takeaways

1

PostThread is a decentralized social media platform that aims to solve the problem of misaligned incentives in Web2 social media by using crypto innovations to reward users for the value they create.

2

The platform is built on Polygon and uses an open-source, decentralized version of Reddit as its base.

3

PostThread focuses on user experience by abstracting the complexities of Web3, allowing users to earn tokens and interact with the blockchain without needing extensive crypto knowledge.

4

The platform features a profile leveling system and a social score based on centrality in the social graph, which determines the daily token rewards for each user.

5

PostThread's future goals include building a more organic community and using an open database protocol to foster innovation in social media applications.

Featured Guests

IM

Ian McCann

Co-Founder @ PostThread

PostThread
PG

Paolo Grignafinni

Co-Founder @ PostThread

PostThread

Episode Transcript

Narb

GM, GA, GE everybody. Welcome to what's going to be another great DevNTell. So if you didn't know, DevNTell is a 30-minute window for members of the DAO to showcase something they're passionate about or have been working on. This could be an awesome project they've been working on, demonstrating unit testing best practices, automation goodies, smart contracts, how to structure a project, etc. Basically, if you've got a passion for something, this is your opportunity to share it with the community. And today I am happy to have on Ian McCann, who is going to be showing us his project called PostThread. Take it away, Ian.

Ian McCann

All right, thank you. Good morning. So yeah, we are PostThread. It's me and my partner. And we are a decentralized social media app. We're currently built on Polygon. We've been in a couple hackathons. We started off on Polkadot, which I actually believe we belong there the best. But you know, just so that we could get our name out there and potentially make money, we've applied it to four blockchains so far. So currently we're on Polygon. And I'm going to show a video where I kind of spliced together the videos I made from the hackathons. So the demo will be from Polygon, and the explanation of how everything works will be from Polkadot. So I'd like to talk about that more afterwards, but I figured this video would give a good idea of what we're going for and how it all works.

Narb

Yeah, for sure. That'll be awesome. Now I guess before we get into the video, do you want to kind of give a brief history of like how you found yourself in Developer DAO and what kind of inspired you to come here? Or to join the community rather?

Ian McCann

Yeah, so Developer DAO actually played a pretty big part in this because I mean, I got really big into NFTs during the hype. And then I started building on my own kind of to learn the technology. I'm a data scientist, so I work in Python. So I kind of learned Solidity and how to interact with contracts and everything. And then I got kind of lonely, I guess. I wanted to meet other people that were developing. And you know, I heard about DAOs. So this, you know, this is the first DAO, only DAO I've been in. And the fact that you had an NFT, I was just like, you know, it kind of combined all of my interests. So I joined. I'm kind of a lurker. I mean, it's funny I made a social media app, but I mainly lurk on social media. So I didn't post much, but you guys had an announcement that the ETHGlobal hackathon was coming up back in May. So I decided to join to meet other developers, and that's how I met my partner. And I had the idea for like kind of cloning a Reddit-type app on the blockchain. So yeah, that's what we ended up building.

Narb

Excellent, excellent. Yeah, I'm sure that sounds very familiar to my travels and finding Developer DAO as well. Just doing your own thing, and then the NFT craze hit. And then Narber was saying the NFTs are free to mint, and I'm like, okay, cool. And then I just took off from there, yeah. Awesome.

Ian McCann

All right, so I'll go ahead and throw up the video. You should be able to see that?

Narb

Yep.

Ian McCann

Okay. And then let me know if the sound doesn't work, but I'm pretty sure it should. Here we go.

Ian McCann

Hello, and welcome to the PostThread presentation. My name is Ian, my partner is Paolo, let's jump into this. What's the problem? Social media is NOT in our best interest. Web2 social media has misaligned incentives due to its "free" nature. We are the product. Our data is sold to advertisers, so these sites are incentivized to keep us there as long as possible at any cost. We are also the service. Other users are providing the content, and they're not paid appropriately. And we do not know how this works. The algorithm runs and gives us content, we don't know how or why it got there.

Ian McCann

So what is the solution? We've got three easy steps. One: become the richest man on the planet. Two: buy the biggest social media platform you can. Three: profit. Wait, that wasn't the plan. So, problem solved! But I got stuck at step one, so let's try plan B.

Ian McCann

What is plan B? An open-source decentralized version of Reddit built using crypto innovations and sound economics to pay users for the value they create. Now you're thinking: this all sounds great, but it's impossible. Well let me show you what we were able to accomplish in this hackathon.

Ian McCann

So here we are at the PostThread front page. Most of what you're seeing are Reddit posts taken from their API and used to bootstrap our site to show that it's ready for mainstream use. Posts that don't come from Reddit, and instead from our users, are uploaded to IPFS, with their hash stored on-chain. We've implemented a nightly service that performs all the blockchain functionalities for the user. We've done this so that users don't have to know anything or care at all about crypto in order to use PostThread. They can interact with the site and earn tokens without ever signing a single transaction and may not even know there's any crypto going on in the background. We think it's important to hide these crypto aspects because the average social media user is not interested in crypto or blockchain, and even sometimes has a negative view of it. Under this system, we can adopt users into Web3 without them even knowing, and therefore begin to adopt users into our crypto values. Something we at PostThread find very important. PostThread will always be a place for open-source code and a freely available database stored on the blockchain via IPFS.

Ian McCann

Now let me show you how easy it is for a new user to sign up. By simply providing a username and password, PostThread will create a wallet for me and mint a user on the blockchain. We've created a special kind of contract that allows for delegation of minting duties to another user. We automatically give this to the PostThread wallet during sign-up. Of course, users can revoke this delegation at any time or give it to any other user. We believe this helps reduce crypto barriers as well as promotes the decentralized nature of the site. At any point, users can take custody of the assets they accumulate on PostThread.

Ian McCann

So now that I have an account, why don't I make my first post. Here, when I create a new post, all the data I submit will be uploaded to IPFS and the hash will be stored on the blockchain. Now this post is on the PostThread site, but not quite on the blockchain yet. Each night an automated process runs and mints the top posts, comments, follows, and users, as well as calculates how much each user has earned for the day. This automated process signs all the required transactions and pays for the associated gas fees using the tokens that were earned. However, if I'd like to, I can mint this post to the blockchain myself. If I'd like, I can also make a post by visiting the contract and minting my post directly to the blockchain. First I'll need to upload the required file to IPFS, which I've done on a local node. Then I just grab the hash and it's posted to the blockchain. PostThread will detect this and automatically add it to the site as if it were created there. We've done this to promote the decentralized nature of the site.

Ian McCann

Now we'll go check out one of the top posts. Here, I'll go ahead and upvote it and make a comment on how much I appreciate their post.

Ian McCann

Sorry Ian, is it possible to up the volume on your end? Oh yeah. A little bit better? A little bit, yeah.

Ian McCann

Now let's go check out my user page. Here I can see all the posts and comments I've created, as well as the experience that they've given me. Every interaction on PostThread will level up my profile. I can also level it up by linking my profile to other accounts, like my email, Discord, or my wallet, which I'll show here. Over here you can see my level and social score. A social graph is made from the follows each user creates with one another. The score comes from calculating the centralities of my user node in that graph. This means the more central I am to the network, the higher my score will be. We've implemented a simple economic system to pay each user every day from a combination of their social score and level. Here you can see I've earned some daily tokens and can claim them easily. At any point I can transfer these tokens to my personal wallet or I can continue to use them to interact with the site. It costs a small amount of Thread tokens to post, comment, upvote, etc., so it's always a good idea to leave the tokens on PostThread so my interactions can automatically be minted to the blockchain. Otherwise, it will still be recorded on the site but won't earn any experience.

Ian McCann

Here I am following several users to expand my social graph. If I now go to my profile page, I can see a basic rendering of my local social node. This was done using sigma.js. In the future we will expand this to show the full PostThread social graph. Here is an example of what it could look like. I can navigate through the graph, seeing the connections each user has made, as well as search for specific users. We think this will be a powerful addition to the social media experience, allowing users to discover others in their social circle or allow them to expand their interests by finding clusters they aren't currently associated with. Social score is a very important measurement in earning Thread tokens, so some content creators may find it lucrative to target specific clusters they aren't currently engaging with.

Ian McCann

In an attempt to attract content creators, we have designed an airdrop that rewards users with a number of tokens determined by their existing Reddit karma. I can check out how much my airdrop is worth by inputting my Reddit username. I then receive a message that I must post on the PostThread subreddit. Now that I've confirmed my username and helped to promote the site, I can receive my experience and tokens.

Ian McCann

Now that you've seen the website, let's talk about how it actually works.

Ian McCann

First up is the decentralized social networking protocol layer. This was created by the developers at Project Liberty, which was founded by Frank McCourt, who's teamed up with Gavin Wood to try to create this new social media protocol. And all the posts you saw on PostThread were minted to this blockchain. We're looking forward to working with them in the future as our site progresses. As you can see, Frank McCourt's invested a large amount of his personal fortune to make this happen, because he believes that this is the future of social media.

Ian McCann

So let's talk about the MRC parachain. Their stated goals are to try to reclaim our social networks from corporate control. They think the key to this success is to open source the user's social graph. That's why we made it such an integral part of the PostThread economy, as you saw in the demo. A benefit of working with them is they've standardized the way for all social media data to be stored in an open source and public database, which is the blockchain, so other builders can build alongside us, and we can all reap the rewards of the value that we're bringing to the chain.

Ian McCann

Next up is the economic layer. This is a capitalistic attempt to capture social value, which has been notoriously difficult to quantify. This is done with the PostThread parachain. So why do we need our own chain? We need control over the money supply. Strong economic design is the key to success in this system. If we can bring the content creators over, I believe the users will follow. Only 1% of users create all the content, so this is a pretty small minority that we can focus on. And we can pay the users much more efficiently and effectively than they're paid currently in Web2. In the current system, they're beholden to advertisers who want them to extract as much value as they can from the users they're trying to entertain or inform. This can lead to misaligned incentives. In the new system, they'll be beholden to the economics, which are determined by the users or the content creators themselves, and we hope that this will promote higher quality content that isn't designed to feed on your emotions to keep you on the site as long as possible.

Ian McCann

Another reason why having our own parachain can be powerful is we can build more advanced applications on top of the social layer. One example is NFTs, which we've seen over the past year have led to giant communities which were able to build some really cool projects. I think we can utilize this to curate a strong and devoted community behind the PostThread social network.

Ian McCann

Yeah, I just wanted to clarify at the end there, I was talking about the Polkadot chain. We had booted up our own parachain for the site and then we used other developers who were creating their own parachain as like a protocol layer.

Narb

Gotcha, gotcha. Interesting. And the Liberty chain, is that something that's on the Polkadot network itself, or?

Ian McCann

Yeah, they... sorry, I've talked to them afterwards because we did end up winning that, we came in first place for our category. Congrats. Thanks. And so we had talked to them afterwards and they're trying to boot up their testnet pretty soon. So I had to run it on my local machine, which was, you know, pretty rough on it. So whenever they fully deploy the testnet we wanted to potentially come back to Polkadot because I do think that, you know, something like a social network that has that many transactions and everything kind of belongs there. And you also have your own token, and you just have a lot more control.

Narb

Gotcha, gotcha. Makes sense. And have you done like a compare and contrast against like Lens Protocol on the Ethereum side of things? Or did it even exist back then? Everything moves so fast, right? Maybe it wasn't in existence yet.

Ian McCann

Yeah, it's funny, in May was the first time we made like a PostThread hackathon, and Lens had just come out, but they weren't a part of that hackathon, unfortunately. I did look into them. The biggest problem that I can see is I think in the future for social media, like 99+ percent of people aren't in crypto, and a lot of them have no desires to be. I think the crypto has to be completely invisible to the average user. Like the tech can be underneath and the people who want it should be able to use it, but basically we have it set up where you delegate, whenever you sign up an account, you delegate all the responsibilities to us, like PostThread. So we pay for the transactions and we do everything in the background. And then you can take that responsibility if you want, like you can undelegate. But I think that's like one of the most important parts of social media, and as far as I know Lens didn't have that built in yet, so that was the hardest part of integrating with them.

Narb

Ah, I see. I see. And yeah, I agree with your sentiment there. If we're looking for mass adoption, we have to abstract as much of the Web3 layer from the user to make it easier for them, basically just like how we abstract all the APIs and databases and whatnot today in today's Web2 world. Nobody really, the average person doesn't really know what's going on underneath, they just want to use the app. Yeah, exactly. Yeah.

Narb

Excellent, excellent. Sorry if I interrupted your presentation, did you have more content or was that all? No, that was all. Cool, cool. Yeah, that was awesome to see. And could you speak to, so you spoke on the challenges of using the Liberty chain on your local machine, but what other kinds of challenges did you face during development? I know you said you and your partner created this during the ETHGlobal hackathon, so time was a constraint. But is there anything else you kind of faced a challenge with?

Ian McCann

Yeah, I mean we've been in four hackathons now, so like the evolution of the site we can actually see as we went through. The first one, you know, he was kind of brand new to like the frontend. So, and I kind of had a million ideas on what I wanted, and so I made like this incredibly complex like Solidity contract, and then he wasn't able to like keep up with the frontend, like to call everything. So it was kind of very delicate, you know, demo that we were able to put out. So then Polkadot came next, and we had like a month and a half. So I learned a lot about like we started like a REST API, so he could call like my functions as I made them, which worked out really well. I basically just made the backend and then he called that. And that allowed us to like separate the frontend from the backend. So then the next one that we did, which was Tron, I was able to just completely change how the backend worked, and he would just call the same exact functions. So it allowed us to apply to like multiple hackathons on different blockchains without having to change much of the frontend. And then the next one we went to using a database instead of REST. So I would just update values in the database and then he would see them. And you know, change like if someone claimed tokens, then you know we'd set something to true and then I'd see it, so I'd do something in the backend and then it'd set it to false. You know, we were just kind of learning like better techniques of building throughout the hackathons.

Narb

Ah, awesome. Yeah, just iterating, iterating, right? That's the way. That's the way. Excellent. And could you speak kind of on like what's next for PostThread? Like what do you, have you, do you have a project roadmap or what are your visions for it long-term?

Ian McCann

Yeah, so I mean we're pretty proud we got the site up, you know it's running right now, anyone can use it. That Thread token that is currently out there, I'd say it's like a beta token, you shouldn't think that there's any value. But so in the future we'd like to do like a real release and try to attract people to make content on it. You know, we were using the Reddit API to bootstrap the site, so you know, artificial community that was there. I'd probably like to move away from the Reddit thing at some point, but I think it's much more attractive to people when they go on the site and there's actually like content there. And I think, you know, we came up with the airdrop idea as a way to like attract content creators, and I think that's really the point. Like they're not getting paid well and we can offer them a better and easier way to get paid. And you know, they can always continue to post on Web2. I mean, a lot of them have, you know, an Instagram, Twitter, TikTok account, you know, and they have to post in all of them at the same time. So here, you know, other PostThreads could come around. Like we're just building on a protocol, which is basically an open database, which would allow anyone to build their own social media app. And I think that's the future of how things are going to go. Basically these giant companies are holding their database hostage and then they're selling access to advertisers. And it's not like they're innovating much, they're just making a UI where they change little things around occasionally or add updates or steal from each other. If there was an open database, the innovations would be like exponential. So I think that's the future of how things are going to go.

Narb

Yeah, 100%. 100%. It's going to be very interesting next couple years to see how exponentially all of this kind of grows out. Social is very, is a very hot topic this year. So you're right on the ball here. Good stuff. Yeah. And I may have missed it, but is the project open source?

Ian McCann

Yeah, so you know, our GitHub is linked. Yeah, I mean we want kind of my idea was like community building upon the site, I think, because this whole thing like having more people involved, open source, like it makes innovation exponential. So my idea was kind of like extensions could be added to the site and like functionality that could change the look. My idea is like it doesn't need to, I think all social medias are somewhat the same, with a slightly different UI. So my idea was like we could actually make a Reddit UI and like a Twitter UI and allow them to move in between the two. You know, it'd be all the same posts, but it'd be in the format that people are, you know, more comfortable with or whatever. So I do think like open sourcing and like building with the community is the best way for us to tackle like the behemoths of Web2 right now. Because you know, it's just me and another guy, we'd love other people to work on it. So yeah, we'll always be open source.

Narb

Excellent, love to hear it. And on that topic of trying to get contributors, is there anything, any particular roles you're looking for, or does your GitHub have a list of open issues people can go and play around with?

Ian McCann

No, we... you know, we're still kind of in the hackathon mode, I guess. The site's up, you know, live, it works, probably a couple bugs. But I'd say our biggest issue is like, yeah, like community outreach and like marketing, stuff like that. I mean, that's why we came on here. We're hoping to get our name out there more, get users as well as like get people who could help. I mean, obviously like there's security concerns since we're working with like people's wallets and keys and everything. That's not something that we're experts at. I had to learn a lot about like networking to get a lot of these things up. I mean, we've learned a lot, but there's definitely like some holes in our knowledge. So any help, you know, would really be welcomed.

Narb

Awesome. Yeah, for sure. You've come to the right place, and there's a lot of folks here who are chomping at the bit to help out and start developing. And I recall that you also, in terms of following the project's progress, sorry, there is a Twitter handle now, right?

Ian McCann

Yeah, we are trying to build a Web2 presence. So yeah, we're at never_fungible on Twitter.

Narb

Beauty. Love it. We are almost at time here. Is there any questions from the crowd?

Ian McCann

I have a question. Yeah, go for it. Hey. Yeah, I don't know if you are familiarized with Moons in the cryptocurrency subreddit, that people try to earn money just spamming content, and that decreases the quality of the posts. Yeah, you're referring to like the Reddit coins. Yeah, like within that subreddit you can literally change a token for money if you want, and you earn those tokens posting content.

Ian McCann

Yeah, that's definitely a concern that I've had. And that's why we developed the economics behind it. So our idea was like the economics will change the way that people are paid. But we already have like a somewhat complex economic scheme that we set up, and basically there's a social graph that's created from the follows that each user is creating with one another. And we calculate the centrality of the node of the user to score them. So it's not actually dependent upon what they're posting, how much they're posting. There's another score that they have, which is like their experience level. So the more they post and the more upvotes they get and whatnot, will level them up, and that's like a weighted average between the two. And that was kind of our attempt to discourage like botting and whatnot, because if you're a bot, you're probably not going to have a large following. And if you're just following one another as bots, then you're going to segment from the graph, and your centrality will still be lower. But obviously there's definitely ways that people can take advantage of it, but this was our attempt to prevent that.

Narb

So to understand this correctly, you are trying to weigh the votes based on this reputation system? Well, every user gets an airdrop every day of tokens. So the airdrop is dependent upon these scores. Okay. Thank you. No problem.

Narb

Awesome. Yeah, great question. Any last couple questions from the crowd? Well that was all. I'd love to just plug something real quick. Yeah, yeah. Actually I wanted to giveaway a couple NFTs to the DevNTell or Developer DAO community. We created, we just finished a hackathon and just share this real quick. We created an NFT to NFT trading marketplace, which I feel like that's the way NFTs really should be traded.

Ian McCann

But we also created some Pokemon-style cards called Diffemon because they were created by the Stable Diffusion AI. Nice. I don't know if everyone's heard of it, but it's basically you put in a text and it'll create an image for you. So we created these images from it and then I used GPT-3 to create the personalities and the names. So basically the idea was these are some cards, you get six from a pack, and then you can go on bazaarmarket.xyz to trade them with one another. So if you put in the phrase PostThreadDevNTell, you can claim your six NFTs.

Narb

Yo, awesome. Yeah, if you want, you can post that in the discussions thread in the developer's voice. And I'll also post it again in the general channel when I'm sharing the POAPs for this session as well. That's dope. Great, thank you. Awesome. Yeah, so thank you so much for coming on, Ian, and really looking forward to seeing PostThread develop here with further iterations and whatnot, and we'll be following closely. Because social is the hot buzz term of this year and beyond probably. So I will be dropping, as I mentioned before, I'll be dropping a link to claim the POAPs for this DevNTell session, and I'll also include this NFT claim site that Ian has just showed with us. And yeah, I want to wish everybody a very happy Friday and weekend, and we'll catch you back here next week. All right, thank you. My pleasure. And with that, I'll stop the recording.

Listen On

Share This Episode

Share on X

Watch Episodes Live!

Subscribe to our event calendar and never miss a live episode.

View Event Calendar