Getting into ATProto: My 2026 Field Guide to the ATmosphere

Introduction

I have been quite bad at social media for as long as I remember. Not that I don’t have a lot of followers — I really don’t — but I am not consistent: I start using a service (sometimes I even hassle my friends to join it), use it for a while, and then let it wither unused, unopened. It was not always like this: I had (like all 90s kids in Spain) Tuenti when everyone had it and we used it a lot, and I vividly remember early Twitter when only the cool kids were there (and not one person I had met): that feeling of being where the interesting things were shared. I also remember its slow decline into whatever it is right now. I remember how cool I thought Foursquare was, even though in Madrid it was never as popular as we wanted. I remember the first time I thought social media with my close friends could be it: it was Path a tiny social network where you could add no more than 10 friends and that let you share photos, venue check-ins and the thing that made me click: movies, books and music check-ins. Path crashed and burned, but all of that happened after me and my friends forgot about it.

You can already see the pattern that leads to me being bad at social media. If you answered “you like shiny things and lack focus” that’s not false but it’s not what I meant either: the thing is, I’ve been burned too many times having to migrate services. I am not consistent because I don’t engage, because I know that engaging will generate a ton of data that I will, more likely than not, lose at some point, and I will be pissed at that point. I still enjoy the idea of having a digital journal I can share with friends and even strangers, but I don’t have the will to properly use any of the services I’ve found for long: BeReal and Locket are the last two examples I can think of.

I got a Bluesky account in October 2024. I have been using it intermittently since then. After a time without using it, I came back and ran into several posts talking about ATProto, the protocol behind the network. I delved into some of the specifics and found it fascinating: the idea of a PDS, the idea of lexicons being used as a community but with no restriction: any app could still write their records without any third party validation. At the same time, Eurosky, which acted as an EU flagship in the protocol, started pushing mu.social and EU-HAUL, which also made several things click for me.

I had found a social network that felt like early Twitter, where quite a lot of interesting celebrities and some friends are, that has by design no vendor lock-in, and that enables interoperability with other services. Then I found the cherry on top: it also has a vibrant community of people developing useful and fun services that rely on that network and talk to each other. This post is a summary of all the interesting things that I found brewing in ATProto, hoping to pique someone’s interest in the network. This is not comprehensive, and possibly out of date for almost anyone reading it, but it may help you discover something that catches your eye.

ATProto-based services

The first mention I guess has to be Bluesky; which is the main service and advocate for the ATProto protocol. Bluesky is a microblogging platform, similar to Twitter, but that is experimenting with different distributed and user-empowering initiatives like custom feeds or federated moderation. There are several services that have already earned a privileged spot in Bluesky’s interface: GermDM, which provides end-to-end encrypted messaging, and StreamPlace, which provides a live video streaming service on top of the protocol. I don’t personally use (yet) either of those services.

There are several services which I do use almost every day. These services do remind me of the old social media, and some of them are substitutes (or complements) for other similar, non-ATProto, more popular ones. First mention has to be for BeaconBits, a service that allows users to check in at places (à la Foursquare). I use it a lot (I will probably be in the recent posts all the time), and I think it has the potential to become one of the most useful ones (I have already discovered several great places in Madrid, where I am almost the only local user).

I also enjoy Popfeed, a service that enables check-ins and reviews for movies, TV shows, books, games and music. Yes, all of that. Popfeed alone can cover what Letterboxd, Trakt.tv, Goodreads do, plus a couple more services I’m not even sure exist. Another closely related one is Bookhive, which is a Goodreads alternative on steroids: it even provides a KOSync and OPDS catalog, so you can connect your KOReader-compatible reader and automatically download books from your library and push progress. One of the most incredible parts of it is that Bookhive progress appears in Popfeed; since they are both reading data from the same personal repository, making them interoperable is as easy as parsing each other’s records.

Another similar one is Grain, a photo-based network like Instagram, and Hypo, a super-rich metadata layer on top of it. This is the idea that sold me: the fact that you can not only interop but extend an existing service. Finally, Winesky is a gorgeous Vivino alternative that also includes beers, ciders and spirits.

One of my personal favorites is Sifa.id, a service that provides professional identity and networking without all the things everyone hates about LinkedIn, and with full integration with the rest of the ATmosphere to show different services in your profile. I do hope it becomes standard. In a similar context, even if I don’t personally use it yet, we have Keytrace, a Keybase alternative that links your ATProto identity to other non-ATProto services.

Even though Bluesky is the prominent one, there is a surge in interest for longer forms of writing being supported in the ATmosphere. Probably the most popular one is Leaflet, which in my opinion beats Substack on almost every count. I don’t personally use it because of the next initiative: standard.site, which provides lexicons that can be easily integrated in existing websites. This blog has been using standard.site for a month. It is easy to configure, and integrates wonderfully. There are several ways to read sites like this one: using Standard Reader, or Glean, which serves as a social feed reader (compatible with RSS and Atom as well) including saving articles and highlights. Another relevant service in this category is Semble, which allows users to save URLs and link them, creating a personal and social graph of research and knowledge.

The last category is probably the one I was not expecting to find, which is developer facing tools. The first one I can think of, and my current daily driver for personal use, is Tangled, a git forge whose collaborative features (issues, PRs) live in ATProto. It also has several nice features like the possibility of using custom knots (git servers) and spindles (CI runners based on Nix). Another fascinating tool I have not yet explored is Radial, an experimental collaborative tool that holds different tasks and requests and can be configured with AI agents as users to consume and work on them, creating plans, implementations, artifacts or evaluations. It is an unusual approach to agentic programming. Finally, even though I don’t use it, there’s Airglow, which allows the user to define ATProto automations and triggers easily (e.g. post to Bluesky every time a PR is merged in a given Tangled repo), another fascinating piece in interoperability.

Even though I don’t use any of them, there are several beautiful alternative clients to Bluesky, they form the last amazing point of ATProto: apps are just views over your data, so changing the experience is as easy as spinning up a new app that already holds all the data without migrating to a different service. The two main clients I have seen mentioned are mu.social which has some useful features for EU citizens like verified news sources, and Anisota which is a work of art on its own and I would like to get into at some point.

What is below ATProto?

I am not an expert, but I am interested in it and I have been working on some PoCs and ideas I have for different apps working with ATProto. The idea is very simple at the moment: since there is no user-scoped data yet (though it’s coming, and it’s probably going to be huge), all data in the PDS is public. Actually, go take a look, these are all my records (and yes, I am a heavy user, as you can guess).

Parsing lexicons is as easy to do programmatically as it looks, and I have a small proof-of-concept that, not to be overly dramatic, is all I ever asked from all those services that made me feel disenchanted in the introduction paragraph: at.diego.codes is a page where you can see all of my social activity in the ATmosphere (well it’s a bit filtered to be more useful) in a single place, as some sort of public diary of what I have been up to. It goes back to 2009 because I have backdated some of the data in the services (which was super simple to do programmatically from data takeouts from other services like Letterboxd). One thing that amazes me: at.diego.codes has no dedicated backend. All the data fetching and presenting happens client side, and gets the info from my PDS.

I am planning on tackling more complex projects soon (you can see some sort of foreshadowing in at.diego.codes) so I’ll probably keep writing about ATProto and posting far too much noise in the ATmosphere.