jklb.social: Dev notes #1

New Things

The jklbie Award for Excellence in Posting

If Credible Exit is On (by default it will be), after you see however many posts you chose to see (default: 40) you'll be prompted to leave social media.

If you choose, you can then share:

1: what you're up to today

2: a photo

And you can also nominate a post you liked for the jklbie Award for Excellence in Posting. This means your summary post is also a quote-repost of that post. It's a way of saying, this is the best thing I saw today. Nominating a post also writes a social.jklb.award.nomination ( see on pdsls.dev ) record to your PDS.

The person who was nominated can then, if they choose, go to jklb.social/claimmyjklbie and claim their award (which writes a social.jklb.award record to their PDS.

It's low stakes and (meant to be) fun. I am worried that it's confusing/feels spammy. Is it too weird or not weird enough? Should someone accepting have to give a little acceptance speech or something? Open to ideas.

ATmosphere Report

This one I'm pretty excited about. The Atmosphere Report (on by default, will pop up at the END of your session) shows you the non-Bluesky activity of your Like Chorus over the last 24 hours.

(Like Chorus: The 30 most recent people to interact with you on bluesky (new follows, people who liked/reposted/replied to you. Inbound, not outbound. These are the people who have interacted with you, not people whose stuff you've interacted with).

Right now it's too noisy. But already in its first iteration I've liked it as a way to see what's going on in the ATmosphere.

Pick your Algorithm!

Easy, quick win. At launch, I had hardcoded the algorithms you could use. Now, you can use the same algorithms you use on Bluesky social :)

Forever Alpha

jklb.social is in alpha...and I think it's going to be in alpha forever. This is a sandbox for me to experiment with LLM-assisted coding. I am using Geoffrey Huntley's Ralph method & a $100/month claude code subscription for this and other stuff too. Things may change. This will not mature into a traditional stable web app most likely.

How I am using it

I check jklb.social once a day, east coast mornings. I log off when I'm done. I am trying to turn Bluesky into a wordle-like habit.

I am trying to spend less time on social media but be more sociable while I'm there. I like a higher rate of the posts I see. I reply and boost/repost a lot more. It's as easy to do all these things as it is even to just see the next post.

jklb.social is not feature-complete and does not do everything the Bluesky app does, and never will. When a post doesn't display very elegantly...I press 'v' and view the post on Bluesky. When I want to see a thread, I use the Bluesky app. You should too if you use jklb.social.

Lessons from Development/Dogfooding

some bugs/limitations are actually features

I am seeing 15-50 posts a day, and have been for over a week now. It takes longer to see a bunch of posts on jklb.social. One "bug" of this is that I miss parts of the meta-discourse.

But another way of looking at that is...there will always be more meta-discourses and I can always just catch the next one. Not being able to chase context/narratives spread over hundreds of posts I'm actually starting to see as a feature of jklb.social.

once a day is a good social media cadence (for me)

I still want to check social media at all hours. But the rule is simple enough that I'm mostly sticking to it. And it's nice.

(I use other ATProto stuff all hours...like I'm writing this leaflet & will share in the afternoon. But I won't check jklb.social/bluesky until tomorrow morning).

there's a reason all feeds use scroll

This whole project began because I got sad thinking about the behavior of scrolling.

I thought, one post per page. How hard could that be? Think of how big I can make the images and such!

Turns out...dynamically presenting a post where:

the text will be 0-however-many characters

there may or may not be an image, video, or multiple images

the images may be any variety of dimensions

there may or may not be a quoted post

the quoted post may or may not have media/all the variability previously mentioned

and there may be replies, or the post itself may be in reply to another post!

Turns out...being able to dynamically change the height of how much real estate you give the post is pretty dang elegant.

jklb.social does a really poor job of showing threads (t for thread view, btw). Also a really poor job of even telling you when your post is part of a thread, or is itself a reply, all that stuff. Still working on it and will never get it as obvious/easy/elegant as scrolling makes it.

That said...going one-post-per-page means I can take profile pictures (the one media that never changes) and make those wicked big. And that's been delightful. I will never get over just seeing people's faces/avatars/profile picture art. It's the best.

I like Ralphing

Ralphing is nice because:

it's agentic, but it's serialized agentic (at least how I do it). Only one agent is ever working at a time. So it's a little more modest than something orchestrated like Gas Town, which I've also tried but found very overwhelming.

I wrote a bit about it and will write more soon.