Skip to content
October 23, 2026 Practical guides on software, AI and security

Search Shartech Blogs

Software Development

Building on Decentralized Social Networks: ActivityPub, AT Protocol, Farcaster and Lens in 2026

Table of Contents

“Build a decentralized social network” sounds like a startup pitch, and for a few years it was one. Crypto-funded projects raised large sums to build Web3 alternatives to Twitter and Instagram. In January 2026 the two best-known ones changed hands within a day of each other. That’s a good moment to look honestly at what decentralized social actually means for a developer today, which protocols are worth building on, and what you can build in an afternoon.

What “decentralized social” means

On a traditional platform, one company runs the servers, owns the database of accounts and follows, decides what appears in your feed, and can change the rules or shut down your account. Decentralized social protocols try to separate those roles so that no single company controls all of them. In practice that usually means:

  • Portable identity: your account isn’t tied to one app, so you can switch apps and keep your followers.
  • Open data: posts and follows are published in an open format that any developer can read.
  • Multiple apps and servers: several independent clients, feeds and moderation services can work on the same network.

The three main approaches differ a lot in how they achieve this, and in how much blockchain they involve.

ActivityPub and the fediverse

ActivityPub is a W3C standard, published in 2018, and the protocol behind Mastodon and the wider “fediverse”. Anyone can run a server (an “instance”). Servers exchange posts, follows and likes with each other using JSON messages over HTTPS. Meta’s Threads has added support for federating with ActivityPub, which has brought more attention to the protocol.

For developers, the appeal is that it’s a plain web standard with no tokens or chains. The trade-off is that your identity lives on a specific server. Moving between servers is supported but your posts don’t move with you.

Every account is an “actor”, described by a JSON document like this simplified example:

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "https://example.com/users/alice",
  "type": "Person",
  "preferredUsername": "alice",
  "inbox": "https://example.com/users/alice/inbox",
  "outbox": "https://example.com/users/alice/outbox"
}

Other servers discover the actor through WebFinger, then deliver activities such as “Follow” or “Create a Note” to the inbox. A real implementation also needs HTTP signatures so servers can verify who sent each message. Unless you specifically want to learn the protocol, it’s usually better to build on existing server software or a library than to implement it from scratch.

AT Protocol and Bluesky

The AT Protocol is the open protocol behind Bluesky. Its design separates the pieces of a social network into distinct services:

  • Personal data servers (PDS) store each user’s posts and follows in a signed repository.
  • Relays collect updates from many servers into a single stream, often called the firehose.
  • App views build the timelines, threads and search that apps display.
  • Feed generators and labelers let anyone offer a custom algorithmic feed or a moderation service.

Identity is based on decentralised identifiers (DIDs), and handles can be your own domain name. Because the account’s data is signed and portable, you can move to another PDS without losing your posts or followers.

For developers, the AT Protocol is currently the easiest decentralized network to build on. The public firehose and APIs are well documented, and a custom feed or bot is a realistic weekend project. Here’s a minimal script that posts using the official @atproto/api package:

// npm install @atproto/api
import { Agent, CredentialSession } from "@atproto/api";

const session = new CredentialSession(new URL("https://bsky.social"));
await session.login({
  identifier: "yourhandle.bsky.social",
  password: process.env.BSKY_APP_PASSWORD, // an app password, not your main one
});

const agent = new Agent(session);
await agent.post({
  $type: "app.bsky.feed.post",
  text: "Hello from the AT Protocol",
  createdAt: new Date().toISOString(),
});

Create an app password in your Bluesky settings for scripts like this. The package’s documentation notes that password-based login is deprecated for full applications in favour of OAuth, which you should use if you’re building something other people will sign in to.

Farcaster and Lens: the Web3 protocols

Farcaster and Lens are the two best-known crypto-based social protocols. Both used blockchains for identity and, in Lens’s case, for the social graph itself. Both had real technical ideas: Farcaster’s “mini apps” that run inside posts, and Lens’s model of profiles and follows as on-chain assets that any app could read.

Both have also had a difficult 2026:

  • Lens: on 20 January 2026, Aave founder Stani Kulechov’s team handed stewardship of Lens to Mask Network, which said its focus would be on products people actually use rather than more protocols.
  • Farcaster: a day later, Neynar acquired Farcaster, including its contracts, code, app and the Clanker token launchpad. The founders stepped back after five years. Co-founder Dan Romero said that after trying a social-first approach for four and a half years, “it didn’t work for us”. Neynar, which had long provided APIs for Farcaster developers, said it would publish a new builder-focused roadmap.

Neither protocol has shut down, and both still have active developers. But if you’re choosing where to build, you should factor in that their direction is being reset by new owners. Check the current documentation and roadmap before committing to either.

Which to choose

  • Want the biggest open audience and the easiest APIs? Build on the AT Protocol.
  • Want a plain web standard, self-hosting and no company at the centre? ActivityPub.
  • Building something that needs payments or on-chain assets as a core feature? Farcaster or Lens may fit, but plan for uncertainty.
  • Thinking of launching your own new protocol? Think hard. The hardest problem in social isn’t technology, it’s getting people to show up. Building on an existing network gives you users from day one.

Realistic first projects

Rather than building a whole new network, most developers get further by building one piece of an existing one:

  1. A custom feed on Bluesky that selects posts on a niche topic, such as Pakistani tech news or Angular releases.
  2. A bot that posts updates from an RSS feed or a GitHub repository.
  3. A moderation labeler that flags spam or a specific kind of content for users who subscribe to it.
  4. A “share to the fediverse” button for your blog, or letting people follow your blog from Mastodon using a WordPress ActivityPub plugin.

Each is small enough to finish, teaches you how the protocol works, and is useful to real people.

Things decentralization doesn’t solve

It’s worth being clear-eyed about the limits:

  • Moderation is still hard. Distributing it across servers or labelers changes who makes decisions, but someone still has to make them.
  • Most users don’t care about architecture. People join a network for the people and the content. Ownership and portability are benefits they notice only when something goes wrong.
  • Costs don’t disappear. Relays, app views and media storage cost money to run, and someone has to pay.
  • Tokens don’t create communities. The Farcaster and Lens stories suggest financial incentives are a weak substitute for a product people want to use.

Summary

Decentralized social is less hyped than it was, and more practical. The AT Protocol and ActivityPub are mature, well documented and have real users, and both let you build useful things without a token or a funding round. The Web3 protocols are in a period of transition. For most developers, the best way in is to build a feed, bot or tool on an existing network, learn how it works, and go from there.

Related reading

Sources: W3C ActivityPub, AT Protocol, @atproto/api README, CoinDesk, The Block.

Did you find this article helpful?

Written by

Malik Shamir

Malik Shamir is the founder and lead tech writer at SharTech, a modern technology platform focused on artificial intelligence, software development, cloud computing, cybersecurity, and emerging digital trends. With hands-on experience in full-stack development and AI systems, Shamir creates clear, practical, and research-based content that helps readers understand complex technologies in simple terms. His mission is to make advanced tech knowledge accessible, reliable, and useful for developers, entrepreneurs, and digital learners worldwide.

54 Articles Website
Previous Article Private Repository Security: A Practical Checklist with Commands (GitHub) Next Article PostgreSQL EXPLAIN ANALYZE: How to Read Query Plans and Tune Costs (Real Examples)

Leave a Comment

Your email address will not be published. Required fields are marked *

Stay Updated with Shartech

Get smart tech insights, tutorials, and the latest in AI & programming directly in your inbox. No spam, ever.

We respect your privacy. Unsubscribe at any time.