Sky View - A Look Into the Bluesky Jetstream


One of the more interesting features of Bluesky is the Authenticated Transfer Protocol or atproto.

The AT Protocol (Authenticated Transfer Protocol, or atproto) is a standard for public conversation and an open-source framework for building social apps.

It creates a standard format for user identity, follows, and data on social apps, allowing apps to interoperate and users to move across them freely. It is a federated network with account portability.

The AT Protocol

The idea of having a protocol be the base that Bluesky is built on makes for some interesting possibilities.

Enter the Jetstream

To simplify consuming the atproto firehose, a new service was created - Jetstream.

Jetstream is a streaming service that consumes an ATProto com.atproto.sync.subscribeRepos stream and converts it into lightweight, friendly JSON.

The JSON provided by Jetstream can be consumed via WebSocket. There are currently 4 public instances of Jetstream, details are at https://github.com/bluesky-social/jetstream. Their code is open source, so you can run a Jetstream node of your own if you want.

To get a quick idea of what the JSON stream looks like, checkout the Bluesky WebSocket Feed Monitor by Simon Willison. The core of it is pretty simple to figure out.

Sky View

I wanted to experiment with the Bluesky Jetstream of live posts. The result is Sky View. I had Claude do most of the work, via Cursor.

Sky View

It is 100% client side JavaScript that attaches the Jetstream WebSocket and starts parsing the JSON for each message. View Source is all you need to do get at all of the code. Each post goes into the Live Posts column, while tracking various metrics and specific content from each post. That data is then used to display the current Popular Tags and Popular Threads lists. Each of those shows the top 10 tags and threads respectively.

There is also a filter field if you want to only see posts that contain specific text. That filter also applies to the Popular Tags and Popular Threads lists.

The links in the Popular Tags and Popular Threads lists are all clickable, while the stream is running. The Live Posts section though tends to scroll by too fast to be able to click on just one post. If you want to do that, click the Pause button first.

If at any point you want to start over, the Clear button will take of that. Any changes to the filter field will also automatically reset everything ( acts like pushing the Clear button ).

It took a fair bit of coaxing Claude to get it to this point, along with a bit of hand coding. In the end though I’m fairly happy with the result - a simple way to see what is being talked about on Bluesky right now.


If this is an area that you find interesting you should take a look at firesky.tv as well. You can read more about the background of Jetstream at https://jazco.dev/2024/09/24/jetstream/.