Fork the Bluesky app to build your own branded social media client on the AT Protocol network.
Study how a large-scale social app is structured across iOS, Android, and Web in a single codebase.
Contribute small bug fixes or improvements to the official Bluesky client.
Use it as a reference architecture for building a decentralised social app on the AT Protocol.
Requires Node.js, Expo, and platform-specific tooling, Xcode for iOS or Android Studio for Android.
This is the source code for the Bluesky social media app, the client application that people install on their phone or open in a web browser to use the Bluesky social network. The same codebase produces the Web version at bsky.app, the iOS app on the App Store, and the Android app on the Play Store. Under the hood it is a React Native application, a framework that lets one codebase produce both iOS and Android apps, and in this case a Web version too, written in TypeScript. It is built on top of the AT Protocol (short for Authenticated Transfer Protocol), a decentralised social media protocol developed by Bluesky in a separate repository. The application uses a set of schemas and APIs in the AT Protocol framework under the namespace app.bsky, and it depends on TypeScript packages like @atproto/api. A small amount of Go code lives in a folder called bskyweb and powers a small web service that serves the React Native Web build of the app. You would look at this repository if you want to read or contribute to the official Bluesky client itself, if you want to fork it to build your own client on the same network (the README explicitly blesses forks, asking forkers to rebrand and to swap in their own support links and analytics), or if you are studying how a large social app built on a decentralised protocol is structured. The maintainers note that they accept contributions selectively and prefer small, well-scoped pull requests over large refactors or new features. The project is released under the MIT licence.
← bluesky-social on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.