BlueSky Social Graph
The BSky Atlas is a visualization of data built by the Graph Builder in bsky-experiments
.
The site itself is hosted through Cloudflare Pages and is fully static until this repo is bumped with new data.
The exporter
directory contains a TypeScript file that grabs the current snapshot of the Atlas Graph from http://localhost:6060/graph
.
This endpoint is supported by the graph-builder
container and provides a .txt
dump of the current state of the social graph from memory.
This file can grow to be quite large (10s of MBs easily) and will only continue to grow, so we don't store it in that format.
The exporter filters the incoming data, drops low-weight edges and nodes, then creats a layout as follows:
After these steps, we export the graph in Graphology's JSON format to public/exported_graph_minified.json
which is gzipped
by Cloudflare on deployment, heavily compressing the repetitive JSON.
Run yarn install
with node 18+
to grab dependencies.
Assuming you have an instance of the graph-builder
running at http://localhost:6060
, you can run yarn start
inside the exporter
directory to grab a snapshot, run the simulations, and build the graph.
The visualization is the primary part of this project and is powered by Vite
, React
, and SigmaJS/Graphology
.
The components that make up the visualization are in the src/components
folder and are a bit messy at the moment.
Graph.tsx
includes the graph rendering logic, MootList, etc.CustomSearch.tsx
is a forked verison of the Search
component provided by React-Sigma
with lots of custom styling and functionality for better UX.This project ships with the latest graph snapshot in the main
branch, so you can visualize the current version of the graph right now!
Ensure you're using node 18+
and install dependencies with: yarn install
Start the development server and make it accessible to hosts on your network with: yarn dev --host
Build the static JS site with yarn build
and you can serve the contents of the dist
folder from any static file host.
a collection of lightweight TypeScript packages for AT Protocol, the protocol powering Bluesky.
Use this repository to get started with your own Bluesky Labeler.
ATProto Feed Generator Starter Kit
AT Protocol Reference Implementation (TypeScript)
A dead simple client for subscribing to an ATProto Relay ("firehose").
A fully typed client for the Bluesky Jetstream (https://github.com/bluesky-social/jetstream) service.
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
📧 Contact us via email🦋 Contact us on Bluesky