Cartum social network

Hello, Cartesi community!

My name is German, and I have been involved in the blockchain field as a developer (project, business and software), manager (teams, promotion and advertising), and simply as an enthusiast since around 2016-2017. Over the years, I have collaborated with different teams on different networks like Ethereum, IOTA, Polkadot and Tezos. I discovered Cartesi quite recently, and, as a fan of cypherpunk and a Linus Torvalds follower, the concept of blending a rollup with Linux infrastructure and incorporating Linux into smart contracts, obviously got me hooked.

To cut the story short.

I want to build a social network called Cartum on Cartesi. I had a conference call regarding this topic with Shaheen, Gabriel, Jathin, Joao and Marcus two weeks ago, and it looks like the team is positive. What took me so long with this post? - development docs, discussions with the team (we are a team of two at the moment, but will hire 1-2 dev-designers as a freelance). I will apply with Cartum for a Cartesi grant. Before I do so, I would like to present the project to the community.

So, Cartum is a social media platform that empowers users with control over their data and interactions. The protocol will be distinguished from other platforms by its foundation of decentralised data access, data ownership, and censorship resistance. What we see to be our biggest “positional difference” is enriched tooling for developers and advanced monetisation tools for content creators. How?

The platform is being developed as a set of plug-and-play Smart Services* or SmartSOA (smart service-oriented architecture), providing users with the ability to interact with other users, as well as interact with other services in the blockchain ecosystem based on an open API: marketplaces (showcasing, buying, and selling NFTs), DeFi services (buying and exchanging tokens), games (authorisation, messaging), and so on.

I’ll give some examples of Smart Services we are currently working on and the actual network structure:

Registration Service

Registers new users and sets up their personalised Smart Services. What’s so special about it? Well, as we see the registration of new users as an SBT or NFT (as if an avatar), it would be cool to allow other developers to use it for their services. Surprise–surprise, that is exactly what we are planning to do - to create a standalone service. We will call it the Avatar and make it the first milestone of social network development :slight_smile:

User Smart Services

Store, manage and enable user data interaction. We believe that User and Registration Smart Services will allow the community to work towards on-chain reputation solutions in the future (in addition to the existing tools).

Message Service

Messaging as a standalone service will allow to use it in games and any other protocol in the network. Potentially, it will shift the Web2 / Web3 comparison by allowing tagging users from different services.

Advertising Service

Enables advertisers to create and run promotion campaigns, rewarding content creators who share their content directly, according to rules set in the Advertising Service. That correlates with the famous Onchain Ads from Coinbase 10 builders’ ideas.

Donation Service

Allows users to support content creators they find interesting. Directly and avoiding the “Google-Apple”-service fee.

NFT Marketplace Service

Facilitates the direct sale of NFTs created by authors. Together with the token transferring functionality, the NFT marketplace service will turn into the on-chain capital formation service. Hopefully, with the development power of the community and the open API.

Voting Service

Allows users to participate in voting. Wut voting??

You see, we split the functionality of the system into three logical user roles:

  • Author functionality
  • Reader functionality
  • System administrator functionality

So, if author and reader roles are a no-brainer, the administrating function goes against the idea of the decentralised social network. With the possibility of spreading forbidden content on one hand and the love of suing teenagers on the other, it is obvious, that some sort of moderation is necessary. We perceive the solution as incorporating a DAO-like functionality, enabling the community to determine what is deemed appropriate and what is not. In the beginning, however, before we will grow the critical mass of users, we will have to do the moderation manually. Let’s discuss how to make it as open and decentralised as possible.


There are many good things to add, I can do it the whole day (c), so please, lads, let’s talk about it if you, as a community, want to see a social network on Cartesi and will use it. Let’s talk about it here or on Discord (I’m antsuwale or antsuwale#0337).

3 Likes

Hello, Antsu. Welcome to our community!

I really like that you’re building a social media project using Cartesi - it’s one of those verticals that can really benefit from the features of censorship-resistance, decentralization and so on. I like the idea of plug and play too.

Seems like quite a challenge. Congratulations for facing it.

ps: had never heard of onchain ads, from coinbase. Quite interesting!

1 Like

Hey!

Thanks for the answer and your positive feedback,

Quite recently I have discovered a project Peeps, which is currently being built on Cartesi. It is similar to what we are doing (as any social network is similar to another) but with a more traditional reader-oriented approach. It made me realise the potential cooperation possibilities in the future - Peeps building the feed and UI, Cartum - smart services, monetisation for creators and businesses, doing it together.

But we obviously need to start from somewhere :slight_smile:

Regarding Onchain Ads and ten ideas - it was a big thing all over the crypto-Twitter almost a year ago, here is the link to that Brian Armstrong’s tweet

2 Likes

Hi German, great to read about your idea. Indeed the Peeps team is working on their project through the DevAd Seed Grants and I love the idea of exploring a collaborative approach. I am sure you might have seen the details, but sharing here just in case Discord. Perhaps a good idea to connect with the Peeps team once you have some sort of a overarching proposal? The DevAd team is also here to help :rocket:

1 Like

Great to hear from you!

The idea I have at the moment is to go for the big grant but divide it into 3 or even 4 milestones. These milestones would include the launch of a User Profile smart Service (which would include a Plug-and-play API system and a dedicated webpage), as a standalone solution. With a remark, that Cartesi has the right to cancel the agreement for funding if we won’t do what promised as well and our team will be receiving the milestone payment only if the milestone is accepted and validated by Cartesi and maybe the community as well (obviously if the community is active with such kind of things).

Why?

Decentralised, modular or smart-service-alike social networks may exist somewhere, but I haven’t seen any. So, it is difficult to show the team’s dedication, skill and experience since there are no other projects to compare with or copy from. It is hard to say if that thing will ever even work.

So, for that reason, we want to demonstrate the potential of the SmartSOA architecture on the first milestone already, but keeping it as just one (milestone) of several.

Now, why several milestones instead of just one DevAd Seed for one dedicated service?

That is a good question (however, which nobody has asked me :nerd_face:). The main reason is that I would like Cartum to be accepted by Cartesi as a whole. We need it as developers - to see the interest in something we have been already working on for a year or so. Once again, I think it will be fair to counteraction the potential scam from our side by simply not accepting our work on a milestone-by-milestone basis, so Cartesi is covered here.

The other reason is even simpler - by accepting our vision, we concentrate on product development, without stressing about the need to apply for another grant and to work on another application. I think it will be more obvious when you see the proposal + I don’t think we can offer anything to Peeps until we have something to show. I mean, in my head, I see a perfect synergy, but there aren’t many of those who can actually see my head :stuck_out_tongue:.

Ofc there are other reasons as well, but these are currently among the most important ones.

So, yeah… If you could share your opinion regarding these statements, I’d be glad to continue our lovely chat :slight_smile:

1 Like

Hey German, good to see you here,

I do think the first step in the whole process here would be to identify exactly what are the uses of Cartesi behind this social network. For example, peeps run the recommendation algorithm inside the Cartesi Machine for verifiability. I know you mentioned it’s a very long list of features, but this should be definitive on any type of grant proposal you will be applying for, be it DevAd Seed Grants(DSG) or Cartesi Grants Program (CGP).

Once these are identified you could work prioritizing the specific features. After all, this is what makes or breaks the solution. There is no reason to fear the next milestone working if the ones that make something unviable are the first ones to be taken care of.

When you talk about milestones do you mean just one grant divided in milestones (which can be done for DSG and is the default for CGP) or applying for multiple DSGs?

If it is a solution of very large size, that you know will be the equivalent to many DSGs to complete, CGP is probably a better target for you.

I would like to understand better what do you mean by the “Plug and play API”. The term in the way you cited is a little blurry to me. Can you enlighten this?

3 Likes

Hey Joao!

Sorry it took so long with the answer - last week was hectic, just getting back to normal :unamused:

I see several uses for Cartesi within this social network.

We aim to implement a data storage mechanism across various decentralised sources on Cartesi: Đ° request is received, processed, and stored (for example, on IPFS).

Another use case - is the service we call Avatar. There is a common task for all applications that directly interact with end-users, and that is the storage of user profile data (username, profile image, description, website link, Twitter, etc). The Avatar service solves this task by providing storage and an API for interacting with user profile data. Various services and applications gain the ability to use open user data through the API for display in their UIs, and end-users are relieved from the need to update their profile data for all applications on the Cartesi blockchain they use.

We want that service - Avatar - to be delivered as the first milestone of our application. For Milestone 1, Avatar will be delivered as a standalone solution - as a functional on-chain service providing API for storing and retrieving user profile data, a how-to documentation, and a dedicated website. It will work with the social network via an API and will be the first smart service.

So, to answer your question, the plan is to apply for one big grant or the CGP but to cut it into several smaller milestones, which can be seen and tested by both the Cartesi team and the community.

Regarding the:

The Plug and play API:

It will allow third-party services to be connected via a standardised interface as plugins, hence the name “plug-and-play API.” We aim to develop such a toolkit within the Cartesi Network, and in the future, it would be great to exchange data between different blockchains as well.

1 Like

I am very curious as to how the Avatar will be implemented. I do suggest to you when applying from grants such as the CGP to add an architecture drawing of this and other features, showing how each component will interact with the other so the council is able to understand the flow of information.

Just a headsup. As the Cartesi machine is deterministic it’s not trivial to send information to it when not doing it through the inputbox, so this might be a delicate component of your project. The design will be key. Same goes for inspecting the state. Flooding the Cartesi machine with inspect calls might not be a good practice, so APIs could observe the graphql API from the framework.

Anyway I look forward to check your CGP proposal!

1 Like

Hey Joao!

Thanks for your message, and sorry it took so long with mine :unamused:

After a discussion with my friend (who we are building all that with) and comparing all the answers we’ve got on this forum and in this topic (and I still remember the call with the Cartesi team), we have decided (once again), that it would be difficult to build a simple version of the Avatar first and apply just for the DSG, but still, we would concentrate on it (on the Avatar) as a first milestone.
There are challenges indeed, but I believe that we have a solution that we will be happy to showcase with the Avatar.
@PayalPatel @joao-garcia I hope you guys are alright with that :hugs:

2 Likes

Hi,

Really appreciated your dedication.

Thanks:pray:

1 Like