explaingit

bluesky-social/social-app

17,952TypeScriptAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

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.

Mindmap

mindmap
  root((social-app))
    What it does
      Bluesky client
      iOS and Android
      Web app
    Tech stack
      TypeScript
      React Native
      AT Protocol
      Go web service
    Use cases
      Custom clients
      Decentralized social
      Code study
    Audience
      App developers
      Protocol builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Fork the Bluesky app to build your own branded social media client on the AT Protocol network.

USE CASE 2

Study how a large-scale social app is structured across iOS, Android, and Web in a single codebase.

USE CASE 3

Contribute small bug fixes or improvements to the official Bluesky client.

USE CASE 4

Use it as a reference architecture for building a decentralised social app on the AT Protocol.

Tech stack

TypeScriptReact NativeGoAT Protocol

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Node.js, Expo, and platform-specific tooling, Xcode for iOS or Android Studio for Android.

Use, modify, and distribute freely for any purpose including commercial use, as long as you keep the copyright notice, MIT license.

In plain English

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.

Copy-paste prompts

Prompt 1
Walk me through how the bluesky-social/social-app repo is structured and where the AT Protocol API calls are made in the TypeScript code.
Prompt 2
How do I fork bluesky-social/social-app, rebrand it with my own name and logo, and run it locally as a custom Bluesky client?
Prompt 3
Show me where the feed fetching and post rendering logic lives in the Bluesky social-app codebase.
Prompt 4
How do I set up the development environment for bluesky-social/social-app on macOS and run it on an iOS simulator?
Prompt 5
What does the bskyweb Go service inside the social-app repo do and how does it serve the web version of the app?
Open on GitHub → Explain another repo

← bluesky-social on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.