In October I was getting frustrated with what I was seeing on Twitter/X, so I decided to dip my toes back into Bluesky.
I first signed up for Bluesky in April of 2023, and I loved the mission they were on, but it was clear they had a long way to go.
I had tried to keep up with the progress, and in October they announced a new Series A investment of $15M and a user count of 13M.
Following the announcement the rate of user sign-up picked, and after the election in early November, the move to Bluesky seemed to catch fire. At one point they were adding 1M new users a day. As of today they are 23.7M users and will likely reach 24 in the next couple of days.
I decided I wanted to build something to get under the hood of the tech, which is all open source.
You can run your own instance (a PDS), or tap into the full firehose of activity using the Bluesky instances.
Start with a directory
I thought I'd start simple, with a directory of tools and applications to familiarize myself with the ecosystem.
The idea was for Bluesky Directory was born and built in public.
After the initial build I noticed an large interest in something called Starter Packs.
When inviting your friends to Bluesky rather than directing then to the website/app, you share a link to a Starter pack you created of your favorite users on Bluesky already. A genius idea that solves the "who do I follow".
Users started creating Starter packs of all kinds, not just for the invitations, but based around topics or interests.
Since they Bluesky team never intended for starter packs to be used in this way, there wasn't a list of starter packs anywhere, outside of a few blog posts.
All the data however was available on the platform, so I decided to take a try at building a solution.
Discovering starter packs
The correct way to build a solution would have been to iterate over every user on the platform, check for all their Starter packs, and add them to a database.
Even with the generous rate limits, with around 15M users at the time this would have taken a very long time, especially since most users had not created a starter pack.
So I decided on another approach...
I monitored the Bluesky firehose for new Starter packs but how to backfill the database of all the packs already created?
I opted for quality over quantity. I guessed that the best starter packs would be posted to the timeline by users. Why not use search to see what starter packs users where sharing.
When I launched the Starter Packs list there was a few hundred Starter packs, but that has now grown to over 160K, thru a combination or more packs being created and discovering more of the older ones.
Reaction
I'd built the whole project in public, and had got a good early traction when I launched the directory and Starter Packs list.
In a case of being in the right place at the right time. We've passed any expectations I had for the project.
Bluesky Directory has already passed 790K visits since launch, been mentioned in many large publications, and even though I had to upgrade the servers a couple of times, is currently ramen profitable!
Future
I'm excited to be a part of Bluesky, it is the only social media platform that I'm posting to at the moment, and don't see myself going back to Twitter/X. I was never really attracted to Threads or Mastodon.
Although on the surface Bluesky looks like a lot of other social network, the approach that Bluesky/ATProto has taken to decentralize social media, is the real attraction for a developer like myself.
For Bluesky Directory, as well the future is bright. There are many directions they website could take, but I'll be continuing to watch activity on the platform, what users are talking about, and seeing how best to make their Bluesky journey better.