🌎 The Secret DSocial Master Plan (just between you and me)

Jul 6, 2021

Contents

  1. The Problem
  2. The Solution
  3. MVP
  4. Tech Stack
  5. Costs
  6. The Exciting Part: The Business Model
  7. So, in short, the master plan is

The Problem

If you are the average creator on YouTube, Facebook, Instagram (and so on) this may not be an issue for you, well for now anyway...

The path of big tech is moving towards a lack of rights, expected compliance, surveillance and censorship. Much can be said about this subject, but the fact is, when you post on these platforms, they own the content, not you.

For example, if you want to leave and take the follower list (that's taken you years to build) with you, can you? No, you can't, exactly. You don't own it. You have to re-build it every time you go to a new platform.

You are building and contributing to the network effects of a centralised platform. As such, you don't have any property rights. They can turn you off whenever they like.

What is one of the key pillars of the free societies we live in? Ownership & property rights.

The larger these platforms get, the more power they gain and the less freedom you have.

What if big tech decide to delete your accounts off all platforms, you're silenced. In a digital world, you're an outcast. Your rights have been taken from you.

The Solution

With the advert of blockchains (think distributed database with no admin user). There is a way create a platform that gives you all the benefits (and more) of social media but maintain your property rights.

Introducing DSocial, a decentralised social network that runs on the blockchain.

The platform will be censorship-resistent. If in the event, the domain or website is taken down. The core of the platform will be on the blockchain so new sites can pop up and use the same database and no-one can do anything about it.

We (DSocial) the organisation cannot remove you or censor you, even if we wanted to. All the posts, comments, videos and most importantly, your audience (follower list) is owned by you and it's stored on the blockchain.

As such if some else creates a better social network (website/app), you can simply point that network at your data and stop using our products completely.

You can think of this the same way DNS works today, if you register abc.com, you own the domain, you can point it where ever you like.

MVP

YouTube has the monopoly on video. This is for many reasons (aka Flywheel - large scale ad business that attracts great creators, great product that increases engagement, that in turn attracts more viewers and repeat), but it's possible to displace them. How?

Well, you don't compete with them (that would be for losers), at first. You build/take a small market and you dominate it quickly, then you expand it.

We will first focus on those creators who either do not like big tech/YouTube (for the reasons mentioned above) or who are looking for a new place to build an audience that they actually own.

It's hard to appreciate how much innovation is possible here.

Features of the MVP v0.1 will be:

  • Register/Login
  • Creators:
    • Create a channel
    • Upload a video
  • Viewers:
    • Watch a video
    • Comment
    • Like

Technology Stack

In order to provide a great user experience and get new users to the "aha moment" as quickly as possible, you cannot require them to have a digital wallet already installed e.g. MetaMask, to simply watching a cat video.

As such you have to depend of the great technologies we use today in centralised platforms whilst building an iron wall between them. Why? Well, if in the event the backend APIs are taken down, the website should magically just keep working.

In software we typically refer to this as fault tolerance or graceful degradation.

Unfortunately you cannot query a blockchain the same way you can query a database or elastic search for example. If that were the case, we could just build a front end app and use the blockchain 100%.

Until then here is the tech stack.

  • Blockchain: Ideally Solana, but most likely Ethereum for now (lowest development cost right now)
    • User Accounts (logins) - this will use their public key from their wallet
      • Login - logs in user using their wallet address
      • Register (username, profile photo) - creates a new ID linking their public key to their new User ID
    • Channels - channel name, thumbnail, subscriber list & subscriber count
      • Create (name, thumbnail) [Protected: logged in user only]
      • For v0.2: Edit (name, thumbnail) [Protected: channel owner only]
      • Add Subscriber (User Id) [Protected: logged in user only]
      • Remove Subscriber (User Id) [Protected: logged in user only]
    • Videos - channel id, title, desc, video hash (think URL), thumbnail hash, like count
      • Create [Protected: channel owner only]
      • For v0.2: Edit & Delete [Protected: channel owner only]
    • Comments - video id, comment, channel id, published at
      • Create (user id, username, profile photo, comment) [Protected: logged in users only]
      • For v0.2: Delete (comment id) [Protected: comment creator only]
    • Likes - (video id, user id)
      • Create [Protected: logged in users only]
      • Delete [Protected: like creator only]
  • Video & Image storage: IPFS
  • Front End: NextJS, React & TypeScript
    • / - home feed
    • /{videoId}/{slug} e.g. /272716/tesla-model-3-presentation - watch video
    • /channel/create - create a channel
    • /channel/upload - upload a video
    • /channel/dashboard - list of your uploaded videos, stats, etc
    • For v0.2: /channel/videos/{videoId} - edit a video's title, desc or delete the video
  • APIs: Written in TypeScript running on Vercel using NextJS API Routes
    • /api/home - gets recommendations
    • /api/video/{videoId} - gets video info (title, desc, views, likes, video hash, thumbnail etc)
    • /api/comments/{videoId} - gets latest comments for a video
    • After updating data on the blockchain, we call these for replication purposes (CREATE, PUT & DELETE):
      • /api/user
      • /api/channel
      • /api/video
      • /api/comment
      • /api/subscriber
      • /api/like
  • Backend DBs:
    • Elastic Search
    • Firestore
    • Recommendation Engine Output

Costs

Ideally this would be built on Solana, but during the development phase I realised how overly-complicated Solana is to use.

Simply writing a basic JSON payload became nearly impossible. Ethereum on the other hand has a large developer eco-system with 1000s of great examples, so Ethereum will likely win here.

So how much will it cost to upload a video? Most likely around $0.20. What about a comment or a like? Around the same, the data written to the blockchain is a very similar size.

MP4s etc are not written to the blockchain, they are uploaded to IPFS which is a distributed file system. A pointer to these files (referred to as "hash") is then stored on the blockchain.

The Exciting Part: The Business Model

There is a very wide array of business models available to us. Also the network effects you can build into these business models is really really cool.

But at this stage, what is most important to getting to product-market-fit and building a product that people LOVE.

We won't raise capital until we reach product market fit (and maybe even then, we won't bother). But a platform like this will cost a lot to run at scale. So in order to fund the development & running costs of the platform, we will most likely just charge a very small annual fee for all users (creators & viewers) e.g. $10/year and then pay this out to the creators.

The last thing we want to do is go down the advertising model. We feel it creates all the wrong (and perverse) incentives.

To create the right incentives (best content wins, early & long term rewards), we think taking the annual subscription revenue and distributing to all creators could be really disruptive.

For example:

  • Take 20% of the revenue and give to all creators equally from day one, this means new creators from day one could start making money immediately just for uploading their first video, as the platform grows, everyone benefits equally
  • Take 50% of the revenue and give to creators on a views-pro-rata basis aka "the best creators get paid the most"
  • Keep the remaining 30% for running/developing the platform

The beauty of this is it creates a fair and equal opportunity for everyone but also incentives high competition. It's the best of both worlds.

All of this could be done on the blockchain without any of our (as a company) involvement and as the platform grows everyone benefits.

So, in short, the master plan is:

  • Create an alternative to YouTube
  • Charge a small annual fee to use the platform (early adopters)
  • Take 70% of that money and give it back to the creators (creating a positive feedback loop)
  • Take the remaining 30% and use that money to create the best possible product

Part Deux of this plan would likely include going after the Twitter-like experience and then building out a range of tools for creators to monetise e.g. Gumroad.

If you are interested in helping me on this, feel free to email me on hello@ashleyrudland.com or DM @ashleyrudland

Thanks for reading, Ash.