DeSocial

Decentralized Social Media on ICP

Users own identity, data, and content. Real-time interactions. No central authority.

Built with Rust canisters (ICP) + React.js β€’ Candid β€’ Sharded canisters for scale
Watch without leaving this page. Original link: youtu.be/0Qh6rBteXz8

Key Features

Everything you expect from modern socialβ€”fully on-chain.

πŸ†”

Self-sovereign Identity

Users fully control their profiles and identity.

πŸ—‚οΈ

User-owned Content

Posts stored on ICP canisters with on-chain ownership.

⚑

Real-time Interactions

Likes, comments, reposts, and messaging update instantly.

πŸ””

Notifications

Triggered by Likes/Comments/Reposts, Follows, and Messages.

🧩

Open APIs

Composable interfaces so devs can extend DeSocial.

πŸ›‘οΈ

Secure & Scalable

Rust + ICP with sharded canisters. No single point of failure.

Project Flow

Notifications are triggered by Like/Comment/Repost, Follow/Unfollow, and Real-time Messaging. Profile & Notifications are accessible anytime via the Global Menu.

  • Register β†’ Create Profile β†’ Post β†’ Feed
  • Interact (Like/Comment/Repost) & Follow/Unfollow
  • Real-time Messaging
  • Global Menu β†’ Profile / Notifications (anytime)
βœ… On-chain Ownership
⚑ Real-time UX
πŸ”” Event-based Alerts
🧩 Open APIs
flowchart TD
    %% Entry & Auth
    I[Create Internet Identity] --> A[Register / Login]
    A --> H[Home / Feed]

    %% Global Menu (always accessible)
    M((Menu))
    H -.-> M
    A -.-> M

    %% Menu Sections
    M --> H[Home / Feed]
    M --> CP[Create Post]
    M --> EP[Edit Profile]
    M --> EX[Explore Users]
    M --> MSG[Messages]
    M --> NTF[Notifications]
    M --> FF[Followers & Following]
    M --> LO[Log Out]

    %% Create Post Options
    CP --> PT1[Text Post]
    CP --> PT2[Text + Image Post]
    CP --> PT3[Text + Video Post]

    %% Feed β†’ Posts
    H --> P1[View Post]

    %% User's Own Post Actions
    P1 -->|If Owner| P2[Edit Own Post]
    P1 -->|If Owner| P3[Delete Own Post]

    %% Interactions by Any User
    P1 --> LCR[Like / Comment / Repost]

    %% Explore Users
    EX --> OU[View Another User's Profile]
    OU --> FF2[Follow / Unfollow]
    OU --> OPV[View Their Posts]
    OPV --> P1

    %% Edit Profile
    EP --> EP_DONE[Profile Updated]

    %% Notifications Triggers
    MSG --> NTF
    LCR --> NTF
    FF2 --> NTF

    %% Session End
    LO --> X((Log Out))

⚠️ Remaining Challenges

Skip to Solutions β†’

Even though DeSocial solves the issues of centralized platforms, being fully decentralized also brings new challenges.

🚫

Content Misuse

Users may upload nudity, hate speech, or illegal content.

πŸ€–

Spam & Bots

Without central moderation, fake accounts or spam could flood the network.

πŸ’°

Scalability Costs

Storing heavy media (images, videos) directly on-chain can be expensive.

πŸ§‘β€πŸ€β€πŸ§‘

User Safety

Messaging and interactions could be misused for harassment if not moderated properly.

βš–οΈ

Moderation vs Freedom

Striking a balance between free speech and responsible use is difficult.

⚠️

Platform Misuse

Users could exploit the app for scams, spreading misinformation, or manipulating communities.

We approach these with transparent, community-first tooling.

πŸ› οΈ Proposed Solutions

Our plan mixes on-chain governance with practical user tools.

πŸ—³οΈ

Community Governance

DAO-based moderation where users can vote/flag harmful content.

🏷️

Content Labeling

Mark sensitive/NSFW content rather than removing it; users choose what to see.

⭐

Reputation & Tokenomics

Bad actors lose reputation/tokens; good actors earn rewards for positive behavior.

πŸ›‘οΈ

User Safety Tools

Block/report, customizable filters, and strong privacy settings.

πŸ“‚

Hybrid Storage

ICP canisters for metadata + IPFS/Arweave for large media; community-driven filters.

🧩

Filter Subscriptions

Users/communities subscribe to moderation lists (family-friendly, strict, or free-speech).

Want to help shape moderation?

Join governance discussions and propose rules the community can vote on.

Getting Started (Local Dev)

Install DFX SDK

sh -ci "$(curl -fsSL https://smartcontracts.org/install.sh)"
dfx --version

Start Local Replica

dfx start --background

Deploy Canisters

dfx deploy

Frontend Dev Server

npm start

Useful Commands

dfx start --background     # Start local replica
dfx deploy                 # Deploy canisters
npm run generate           # Generate frontend bindings from Candid
npm start                  # Start React dev server
dfx stop                   # Stop replica

Tech Stack

Frontend: React.js
Backend: Rust + ic-cdk
Interface: Candid
Dev Tools: dfx, npm, cargo
GitHub Repo: parimal-art/DeSocial
πŸš€ Explore Live