The personal blog of Scott Polhemus

Bluesky’s AT Protocol is the real “everything app”

Wednesday, January 29th 2025

A storm is clearing up above the ocean, and the sun is shining through some clouds as some blue sky is starting to appear.

The blatantly fascist owners of certain established-but-declining social networks like to wax poetic about a world where everything you do online might take place within their own restrictive ecosystems of algorithm-driven bullshit. They call it the dream of the “everything app”. For a while this felt like the inevitable conclusion to the direction the web was heading, with content becoming more closed off inside the “walled gardens” of these platforms and less accessible as a result. Thankfully, we’re starting to see a different and more open future for the web taking shape.

It has become extremely clear that the companies running today's dominant social media apps do not have our best interests at heart. Whether it’s deliberately platforming and amplifying hateful ideologies, limiting independent creators’ ability to share and promote their own work (particularly if you dare to link outside the platform’s aforementioned walled garden), or shoving AI-generated slop down our throats, folks are starting to wise up and look for alternatives that give them more direct control over their online experience.

As a counter to this, it’s been quite fun to observe authors like Preeti Chhibber and Greg Pak lead the trend of creating bespoke throwback-style personal web pages and championing other ways to keep our online platforms safe from corporate interference. That same impetus is what drove me to set up this blog last year as an independent, standalone website.

One of the big players in this new “power to the people” approach to the social web is Bluesky. Their Twitter-like microblogging service has seemingly taken up the mantle of “the internet’s town square”, bringing with it fresh ideas around online identity, distributed infrastructure, and individual users’ control over what they see in their feeds and what happens with their own data. They have by no means solved any of these problems completely, but they are certainly taking a novel approach. Central to this approach is AT Protocol (“ATProto” for short), Bluesky’s decentralized social networking technology. They’re not just building an app; they’re doing so out in the open with remarkable transparency, while at the same time giving everyone the tools to create our own apps which can tie directly in to the same ecosystem.

For one thing, the entire platform including the protocol itself are open source, meaning interested parties can observe in realtime as new updates are introduced and can even provide input from outside the company. It’s also possible to self host; while the vast majority of the ATProto “Atmosphere” is currently running on Bluesky’s own servers, there is no reason why that has to be the case by design. What I find most intriguing, though, is how the protocol is set up to facilitate the development of new applications with unprecedented interoperability.

Signing up for a Bluesky account gets you more than just a profile on their Twitter-like microblogging site. You’re also granted a repository hosted on one of Bluesky’s “Personal Data Servers”. Your PDS repo is basically a place on the internet where you can put any kind of data you want and make it available to applications that support the AT Protocol. If you’re using the Bluesky social app (or another Bluesky-compatible client), you’re technically sending bits of data to this repository any time you create a post, follow another user, upload a photo of your cat, or otherwise interact with the service. Bluesky is an excellent and fully-featured app in its own right, but it also doubles as a useful reference implementation for what can be built using this new technology.

ATProto-based apps, or “AppViews” in the lingo, are essentially just different ways to access and handle the data from one or more users’ PDS repositories. In addition to Bluesky’s own data types (such as posts, likes, follows, etc.) app developers are able to define new resource schemas, or “lexicons”, and make use of pre-existing authenticated APIs to interact with this data on behalf of users. This is where things get interesting, because it becomes possible to essentially piggyback on the platform’s core infrastructure to develop completely new experiences which may or may not have any connection to the Bluesky social network itself.

Consider one of the most common “build a simple app” examples: a virtual to-do list. To develop a useful cloud-based app for this use case, you’d want users to be able to access their to-do lists and check items off from any of their devices. For this to be possible, the users’ data would need to be stored somewhere on the internet, and you’d need some mechanism for user authentication so that users can securely access and manipulate their own data from anywhere. Sound familiar? Thanks to AT Protocol’s PDS repository architecture and the platform’s support for the OAuth login standard, you could build something like this using ATProto with a much simpler infrastructure than if you chose to implement that functionality yourself. In fact, simple standalone apps like this can be developed as an AT Protocol AppView without the need for any dedicated database or backend infrastructure whatsoever beyond serving up a user interface. (One caveat to this is that Bluesky has yet to develop robust support for storing private data in your PDS repo. Resources in the PDS are currently visible to the public, though the company has indicated that this will not always have to be the case.)

I recently re-platformed my blog away from the WordPress.com CMS and am now using the AT Protocol itself to manage content, while keeping the rest of the architecture the same. So in a way, if you’re reading this on my site you’re looking at a very simple AppView right now. That’s a topic for another post, but suffice it to say that it feels great to have that much more control and ownership over this digital space of mine.

More complex AppViews, especially those that want to aggregate or otherwise process data from many users at once, will utilize AT Protocol in combination with their own traditional backend infrastructure. Even in those cases, ATProto’s design allows for these apps to interact with each other in interesting ways. Any application that uses AT Protocol will connect with your same PDS repo, so it can easily access data that was created in other apps. This interoperability allows for things like your @-handle, user profile, and social graph (i.e. who you follow and who follows you) to “carry over” from service to service in ways that the old guard of social media would never allow.

AT Protocol has the potential to democratize aspects of web app development in ways that would be hard to imagine without it. I’ve already got (a few too many) ideas for apps and services that I’d like to build or see built using the protocol. As a longtime fan of the “open web” particularly for its ability to create a level playing field and allow space for authentic, varied, and most importantly human perspectives, it’s exciting and encouraging to see new tools being put in the hands of the people rather than consolidating more power amongst a few big corporations. If Bluesky can stay true to its stated mission of “building an open foundation for the social internet”, this could be the start of a long-overdue comeback for the open web.