gitmyhub

social-app

TypeScript ★ 18k updated 14h ago

The Bluesky Social application for Web, iOS, and Android

The official open-source Bluesky social media app, producing the web site, iOS app, and Android app from a single React Native and TypeScript codebase.

TypeScriptReact NativeGoAT Protocolsetup: hardcomplexity 4/5

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.

Where it fits