CringeSweeper

Sat 23 May 2026

Something I've been reminded of the last while: old social media posts are not assets, they're liabilities. Not just because of cringe (though there's plenty of that), but because the actual upside of preserving a bunch of posts from 2018 is approximately zero, and the downside is that they exist and people can read them. Anyone who once had a livejournal will probably tell you that.

The nice theory about social media is that it's meant to be ephemeral. You say a thing, people see it or don't, and it passes. The problem is platforms are absolutely delighted to keep everything forever, because data has value to them. It just kind of sits there and has no value to you.

This isn't really an argument about any particular platform being bad, or about the current political or ownership situation with any of them, which I'll leave as an exercise for the reader. It's more that I don't really know what argument there is for keeping a years-old record of shower thoughts and mild takes intact. The theoretical "but what if I want to read back my old posts someday" has never once translated into me actually doing that, and I'm pretty sure it won't. The account history is there for someone elses benefit, not mine. This even applies to theretically non-profit stuff like Mastodon; there's still very little upside to haveing years of nonsense on there.

The usual solution to this is some kind of bulk-delete tool. The usual problem with those tools is that they want you to upload a data archive or hand over API credentials to a website you've never heard of. I don't know who runs these things, and I generally want to do stuff myself.

So, I made CringeSweeper. It's a CLI tool that runs locally and talks directly to the APIs of whatever platforms you're using. At the moment that's Bluesky and Mastodon, which covers the things I actually post on. The usage looks something like:

cringesweeper --platform bluesky --older-than 90d --dry-run cringesweeper --platform bluesky --older-than 90d

Have a look at the README if it seem sinteresting; it's quite tweakable. I run it at home in the lab as a long-runnig job and it's been doing its job for quite a while (modulo a few patches recently for niggles).

The codebase was generated through Claude; I'm not sure whether that's interesting or unremarkable at this point, but it works, and I read all of it, and the code is fairly inoffensive Go, which is all I wanted.

Category: Tech Tagged: log tech