Claude is pretty great for creating code, but sometimes you have to actually look at the code. I have blogged quite frequently about my Microblog project. It started as a simple script that just ran on a timer with a manually filled queue, then it pulled from my shared RSS reader feed, and now its basically a full on blog platform.
One hang up, it has been double posting posts, but not always. I asked Claude, several times, to comb through and figure out why this is, and each time it “fixed” the problem, but didn’t. So I took a moment to look over the code myself.
See, this is where its useful to actually know at least a little bit about how code works. I know generally what Claud has created without even looking at it. It runs on Flask, so it will have functions and routes for each webpage it serves up. There will be functions to check and manage the RSS feeds, functions to manage the post markdown files, functions to manage posting to socials themselves, and somewhere a function that cycles over each post and does the posting.
I know the double posts happen on Bluesky and Mastodon, and locally, so those individual functions work.
I know things get queued and posted properly, so everything before that manages posts work.
When I check the local topost.txt the posts only show once, so I know its creating the queue properly.
The problem is somewhere in the routine, its going to be calling the Bluesky posting function, I can search and find places that occurs and follow the code.
Which is what I did.
Then I discovered the likely problem. The routine checks posts for type, which basically fall into three categories. An image only post, a link post, and a text only post. The problem is that link posts, when created, pull and crop out a thumbnail from the remote URL, so it can make pretty eye catching card style posts. So when the routine would run, it would see it was an image post, then post it, then it would see it was a link post, and post it.
Hence, it would post the same thing twice.
I uploaded the app script, explained the problem to Claude and boom, fixed. Claude is smart enough to write the code, but has no understanding of the greater context to realize that a post can only be one “type”.
I also wanted to touch on my slightly altered methodology for coding with Claude on this app as well. Originally, I was using one big project, but its become too large and unwieldy for Claude to process, especially on the free tier. So now, I just, make a new conversation and feed it the relevant files.
With the double post issue fixed, I went back to add features again. Specifically, to update a previously added feature with RSS feeds that will automatically post. The way it worked now, these would always share to other social platforms. I didn’t really like this. For example, I am working on getting it to archive copies of my Letterboxd movie log, as posts, but these don’t really need to be shared.
So I asked Claude to add a toggle for if auto posting feeds get shared or not. Once again, its good to know what files are relevant and what code is needed. I fed it back the main app script, but I knew it would also need to add buttons to the RSS Settings page, so I fed that in as well. It updated both files, I slipped them back into the main app and the new functionality was there and working.
I have mentioned before, its also useful for one time scripts as well. I wanted to fold in the backlog of previous Letterboxd links. So I fed it the RSS file and asked it make a script that would run through and format it to match my posts. I then ask for a second script that would go through the posts file, sort it by date and remove any duplicates and spit it back out.
And just like that I had a bunch of old Letterboxd entries as if they had always been there, and any new entries will just, feed in.
Anyway, the public version is over here, and there is a link in the sidebar.
The GitHub repository, which I believe I’ve gotten up to date, is here, if you want to give this tool a go yourself.


