Tired of whatever silly color I've picked? Rotate the overall hue by hovering the site title!

Add the account age to Bluesky profiles

One thing you may notice after transitioning from Twitter to Bluesky is the lack of a "joined" or account-creation date on someone's profile. It's not like that data isn't tracked, but for whatever reason it's not displayed. I decided to display it.

Screenshot of the top portion of the AP's Bluesky profile page. Newly added are the "born" and "spd" stats which represent, respectively, when the account was created and the average "skeets per day" this account posts.

I recall reading somewhere that this lack of a creation date had something to do with the distributed nature of the AT Protocol Bluesky uses. The result was said not to necessarily be reliable for one reason or another, I think? But since I don't know the details, and since the creation date is right there in the basic information you get back when you make an API request about a profile, I put together a userscript to expose it.

I do mean "right there" when I say the data is right there for the using. Here's the JSON you get back when looking up the AP's account:

{
    "did": "did:plc:a67zdrt4nl2tv2qojpngogbq",
    "handle": "apnews.com",
    "displayName": "The Associated Press",
    "avatar": "https://cdn.bsky.app/img/avatar/plain/did:plc:a67zdrt4nl2tv2qojpngogbq/bafkreicqe453w2txy6eyooe4a6dbtvmflmfp7ydzunwjxuulvmgvntp42a@jpeg",
    "associated": {
        "lists": 0,
        "feedgens": 0,
        "starterPacks": 0,
        "labeler": false,
        "activitySubscription": {
            "allowSubscriptions": "followers"
        }
    },
    "labels": [],
    "createdAt": "2023-08-01T18:15:00.926Z",
    "description": "Advancing the power of facts, globally 🌎",
    "indexedAt": "2024-12-04T21:51:51.547Z",
    "banner": "https://cdn.bsky.app/img/banner/plain/did:plc:a67zdrt4nl2tv2qojpngogbq/bafkreib2oaeprbgz6e2nupuksiqsvonvolqek2r3xp2vke26wgemrriiri@jpeg",
    "followersCount": 239491,
    "followsCount": 0,
    "postsCount": 3711
}

As you can see, the createdAt field contains the timestamp when their account was created in ISO format. Why isn't it used or displayed on their profile page without needing the very niche and nerdy intervention known as userscripts? The world may never know.

Since postsCount is also in there, I decided to take this script a little further and calculate their average posts per day. This is useful to me because I'm not fond of following people who post a dozen or more times per day. It's too noisy and feed-cluttering if you're not following hundreds of accounts. Even the AP's five-per-day average is kinda high, in my opinion, though I do give them a pass for being a news organization ⸺ and one of the few not-shit ones remaining at that.

Same screenshot as above except of the official Bluesky account. Note the very meager sub-1 skeets-per-day rating.

If you'd like to run this userscript yourself, you can check out its code at GitHub using the comically large button below.

PS: If you're curious, my own skeets-per-day rating is currently 2.75 which is pretty close to dead center between how much @bsky.app and @apnews.com post.

Leave a comment

Your email address will not be published. Required fields are marked *