Sharing or not sharing social graph, why not both?

Airglow April 25, 2026
Source
Airglow now has a "Follow" action. You can build automations like "when I follow someone on Bluesky, follow them on Sifa", and keep your follows in sync across the apps you use. Here is why we built it, how it works, and how to set it up. The debate, briefly Many social apps on the Atmosphere have their own social graph. Bluesky has one. So do @sifa.id, @tangled.org, @semble.so, and more. The fact that these apps built their own follow lexicons rather than reusing Bluesky's is itself an answer to the question: their developers reckoned that not every user wants to follow the same people on their platform as they do on Bluesky. Different app, different context, different graph. Sifa still helps you find your people without forcing the graphs to be the same. On the homepage you'll see "N new people you follow on Bluesky or Tangled are on Sifa. Show me who", and you decide one by one. The graph stays Sifa's own, the discovery uses your other graphs as a hint. With Airglow, we're addressing the other side: for users who do want the same graph across apps, you can now keep your follows in sync automatically, with rules you choose, on the pairs of apps you choose. When syncing makes sense For my own use case, Bluesky, Tangled, and Sifa are all work and dev related, so it makes sense for me to keep those graphs in sync. Someone with a more split identity might want Bluesky and Sifa synced but leave Grain alone for personal stuff. The point is that this is a per-pair decision, made by the user. How it works You set up two automations per app you pair with Bluesky: - When I follow someone on Bluesky, follow them on Sifa - When I follow someone on Sifa, follow them on Bluesky Same pattern for Tangled, Semble, and any other app. Bluesky becomes the hub by virtue of being the only app every other one is paired with. The cascade falls out for free. Follow someone on Sifa, the Sifa-to-Bluesky automation fires and creates the Bluesky follow, that Bluesky follow fires the Bluesky-to-Tangled and Bluesky-to-Semble automations, records appear on Tangled and Semble. One follow, four apps, no manual work. The cascade terminates because of an existing-follow check at every step. Before the action creates a new follow record, it verifies you don't already follow that person on the destination app. So when the Bluesky follow comes back around to fire the Bluesky-to-Sifa automation, it sees you already follow them on Sifa and stops. No loops. This check is also what keeps the setup small as you add apps. Adding a fifth app to your sync means two new automations, not eight, because you only pair it with Bluesky and let the cascade do the rest. Pro-tip: you can even have only one automation to handle the follow from Bluesky to Sifa, Tangled, Semble. Setting it up Browse the existing follow automations and duplicate/customize what you want. Each automation duplicates to your account in one click. For most people the practical recipe is: pair Bluesky with each other app you use, in both directions. That covers the bidirectional sync and gives you the cascade automatically. Implementation notes The Follow action is a more specific, smarter version of the generic "Create record" action. Before creating a new follow, it checks two things: - the target user has a profile on the destination app - you don't already follow them there The second check is the one that makes the cascade safe. It's also the one that's interesting to implement. On Bluesky, app.bsky.graph.getRelationships makes the check trivial. Most other apps don't have an equivalent endpoint yet, so we fetch the user's follow records from their PDS and scan. If you follow a couple hundred people, that's fine. If you follow a couple thousand, that's twenty pages of a hundred records each. Workable for now. As the per-app graphs grow, more apps will probably want their own appview with a getRelationships equivalent. That's a question for the app developers, not for us. What's next The opposite action, automated unfollows, is in the works. Beyond that, the Follow action is one specific case of a more general pattern: user-defined rules that move records between lexicons on your own PDS. Other things you can build with the existing primitives include automated follow-back, greeting new followers, or following anyone who performs a specific action on a specific app. Try it out at Airglow.run. If there's an app you'd like us to integrate next in the Follow action, let us know.

Discussion in the ATmosphere

Loading comments...