Abramov describes Bluesky as an open-source social app, with a front end built using Expo and a separate internet protocol underneath. Users can use a domain as their handle and add feeds built by third parties. He says the AT Protocol makes these features possible.
Web Without Walls
Speaker
Dan Abramov, an engineer at Bluesky, explains how the AT Protocol could let people keep control of their data while independent apps build on it, at React Universe Conf 2024 with Callstack.
Abramov contrasts publishing a website with joining a social network. Website owners can change their domain or hosting provider and edit their content, while users inside a product have less control if it changes or shuts down. He recalls exporting his old Twitter account as 100 megabytes of JSON, which was difficult to use outside the product.
Abramov uses React state to show how developers extend data’s lifetime, from a function to a component, local storage, and then a server. He argues that a user’s posts should persist beyond any one product. His proposed next layer is the Atmosphere: user-controlled repositories that store application-specific records as JSON.
Abramov demonstrates that his Bluesky posts live in a repository, while a colleague hosts her data on her own server. Applications can define different record types, such as posts and event RSVPs, and records can link to one another. A relay aggregates and caches network activity; he says a similar node costs about $150 per month to run at the network’s current volume.
Abramov points to Bluesky, Smoke Signal, and Frontpage FYI as apps built on the protocol. Events are sent to consumers, which can process the record types they understand and ignore the rest. He says this could enable plugins and new apps that use existing identities or data, and that open-source repositories and relays could help keep the network usable if Bluesky shuts down.
Takeaways
- Give users a way to move and host their data independently of your product.
- Treat data exports as useful only if people can still interpret and use them.
- Use application-specific record types so separate products can work with shared infrastructure.
- A shared event stream can let independent apps react to user records without relying on each other’s APIs.
- Consider the hosting and relay costs required to keep a user-controlled network available.
Mentioned in this talk
Search inside this talk
What was claimed 10
- builtBluesky built
AT Protocol
“the other is a new internet protocol”
YouTube Unverified1 source· Talk
- works atDan Abramov works at Bluesky
“I work at Bluesky”
YouTube Unverified1 source· Talk
- usesBluesky uses React Native
“Thanks, React Native and Expo”
YouTube Unverified1 source· Talk
- uses
“Our front end is open source and built with Expo”
YouTube Unverified1 source· Talk
- feature
AT Protocol: User repositories hold application-specific JSON records that can link to one another and be hosted independently.
“They hold collections of JSON, and the JSON is application-specific”
YouTube Unverified1 source· Talk
- metric
AT Protocol: 500,000 daily users
“for now this is working pretty well with 500,000 daily users”
YouTube Unverified1 source· Talk
- feature
AT Protocol: Records are signed so consumers can verify they were written by the identity owner.
“all the records are signed”
YouTube Unverified1 source· Talk
- usesFrontpage FYI uses
AT Protocol
“Frontpage FYI is kind of like a Hacker News clone that's built on AT Protocol”
YouTube Unverified1 source· Talk







