Building Bluesky comments for my blog
67 comments
·August 7, 2025axelpacheco
Composable internet will win over end to end closed systems
susam
Interesting article! I always enjoy reading how people build and maintain their independent personal websites. This post starts with the "Comment System Problem" and mentions four possible solutions, but I think there's a fifth that has worked well for me.
After spending too much time fiddling with third-party comment systems, I ended up building my own [1]. It's pretty barebones, just does what I need, and nothing more.
Each comment is written to a text file for manual review, so I don't have to worry about spam, cross-site scripting, or irrelevant comments. I usually check them on weekends and add them to my blog.
Comments are stored as plain HTML files, and my static site generator [2] builds the site along with the comment pages [3]. So in a way, it's also a static comment pages generator.
This setup doesn't meet the five attributes (no infra, rich content, real identity, etc.) in the second section of the article, so it wouldn't suit the author's needs, but it has worked quite well for me. I've been using it for at least four years (perhaps much longer, since my old PHP website did something similar), and I've been quite happy with it.
[1] https://github.com/susam/susam.net/blob/main/form.lisp
mighmi
Taking comments via a (n email) form, which you then manually add under the article's html/markdown is nice.
nonethewiser
>I’ve been running my blog without decent comments for years.
I only see 2 posts on the entire blog, both from 2025 (and one is this post).
abhinavk
They had another blog as per archive.org
ThinkBeat
You are not hosting it so presumably BlueSky do. You say there is no platform lock in.
If BlueSky banned you tomorrow what is the plan? If BlueSky went bankrupt tomorrow?
I figure there are other AT compliant products that you can switch to but a lot of data would go missing?
toomuchtodo
If interested in understanding this topic in detail, https://whtwnd.com/bnewbold.net has information on running your own relay network, migrating data, etc as it relates to Bluesky and AT Proto. Work continues to enable data migration, portability, alternate relay networks, etc. https://whtwnd.com/bnewbold.net/3lbvbtqrg5t2t is particularly relevant.
(blog author works at bluesky, no affiliation personally)
OneDeuxTriSeiGo
So. You can back up your personal data to what is effectively a fancy tar ball (technically it's a collection of CAR files akin to what IPFS uses) and you can restore that to any PDS (personal data server) when you point your account there (either via your did:plc doc or via DNS records via did:web). So even if your current PDS implodes or bans you, you can just go somewhere else.
And of course there are several implementations and hosts for relays (the gossip nodes), PDS implementations, clients, and appviews (the server backend for bluesky the web app).
So strictly speaking if bluesky imploded tomorrow you could just use a self hosted version of the same app or use someone else's (such as https://zeppelin.social).
The PLC directory is still technically in bluesky's hands but is being transferred an independent foundation atm and could be trivially forked if needed. And of course if you use did:web that doesn't apply to you and you just depend on DNS.
chodlog
But that's just your own posts isn't it? Wouldn't the replies from others, which would end up as comments on this author's blog, be in other users' CAR archives in each of their PDSes?
johnecheck
This is true. In the simple implementation, your blog would probably lose most comments if BlueSky went down and most users don't migrate to a new PDS.
However, atproto data is append-only and cache-friendly. It wouldn't be hard to record historical comments and join them to the ones returned by the live query. (I'm probably just going to script periodic backups for mine and worry about displaying them when/if BlueSky does dissappear.)
OneDeuxTriSeiGo
yep that'll be in their PDS. but that's the nature of the beast. you as the user control your data and your posts.
So if there's a large scale exodus from bluesky, as long as full backfills of the network exist, you'll be able to reconstruct your CAR files, etc even if your PDS dies.
So yes if they die all the comments disappear but people can reconstruct their history and move it to other PDS like blacksky, northsky, or others who are getting ready to start onboarding/open enrollment.
TLDR it'd be a bit rough if they died overnight but if it was a slow death and people had a bit of warning you'd see people move on to other PDS without issue.
tracker1
Beyond this, BlueSky definitely kicks a lot of Libertarian and Right-leaning users off the platform. It seems to be okay if you're left of center or politically agnostic.
TimorousBestie
Bluesky moderation has been fairly even handed as far as I have seen. They also ban plenty of leftists and trans activists when these happen to exceed the ToS. And good luck if you’re a Palestinian trying to fundraise on the platform; they get banned by the hundreds.
OneDeuxTriSeiGo
This is a claim that's going to require support. Bluesky's moderation service (just adds metadata/labels to posts/accounts) is all client side opt-in. It's force-enabled by the default client but any third party client allows you to opt-out (or doesn't even use it by default).
And PDS level/"account" bans are just at the PDS. If you've been "banned", that's just bluesky the PDS host telling you they don't want to host you and that you need to go host your data yourself or find someone else to host it for you. i.e. find another PDS.
Basically every form of ban or moderation in atproto/bluesky is "soft" moderation and you can fairly trivially bypass it and continue doing your own thing.
The overwhelming majority of right wing accounts that get banned do so soon after joining (and generally after going to pick fights). And they never even bother to try to keep their accounts, instead choosing to create new accounts to get banned again or abandon the platform. It's disingenuous behavior and for right wing personalities it feels almost more like a sticker of pride that they were "banned from bluesky".
Plenty of right leaning and libertarian accounts exist on bluesky. Project Liberal [1] and Liberal Party USA [2] (run by Josh Eakle[3] and Kevin Gaughen[4] respectively) exist just fine on bluesky and they are large splinter groups from the Libertarian Party following the whole Mises Caucus coup attempt thing. Likewise a number of libertarian groups such as the Libertarian Party of Lousiana [5] do just fine on bluesky. And of course AI and Cryptocurrency people also do just fine on bluesky as well despite the stereotypes against them and the common belief that "they aren't welcome on bluesky". The worst thing that happens is people block or mute you and you don't have to deal with them anymore rather than toxicly fighting each other each time you see each other.
TLDR: Everyone is welcome on bluesky but there's no requirement for people to tolerate you. Even if you violate every transgression, as long as you aren't posting literal child porn to the network you'll still be able to exist just fine however people might just ignore you.
------------
1. Project Liberal: https://bsky.app/profile/did:plc:d5nigw7kzpsglf3gtl2dvbev
2. Liberal Party USA: https://bsky.app/profile/did:plc:v3jmda7lwwdoofcvgmjwsbcg
3. Josh Eakle: https://bsky.app/profile/did:plc:2adtngm3y6e6ol6jastnkxzm
4. Kevin Gaughen: https://bsky.app/profile/did:plc:4oyecf2hz4ajhm4zqp52hxqo
5. LP of Lousiana: https://bsky.app/profile/did:plc:mongiv55fh5l5e7vi7cbjajw
cactacea
[flagged]
dang
>* stop talking out of your ass*
Please don't break the site guidelines like this, no matter how incorrect another comment is or you feel it is.
Doing this has the obvious downside of making the threads more toxic, plus the less obvious one of discrediting the truth (assuming your comment is indeed correct) by giving it toxic associations. https://hn.algolia.com/?dateRange=all&page=0&prefix=true&sor...
LeoPanthera
Extraordinary claims require extraordinary evidence.
Is it perhaps that the "right-leaning" social media users being banned are also violating the rules? Attacks and abuse seem to be standard practice, especially for the American right.
umbra07
What rules are we talking about? Because my Bluesky feed (the Discover section) is filled with name-calling, hints at political violence, etc. all coming from liberal/left accounts.
ulrischa
The Bluesky ecosystem is so cool. I read this approach presented here some times ago. The only thing that could be problematic: you need to make a posting on Bluesky for all your Web pages to use the commenting system. And a webcomponent for this would be nice
philipwhiuk
I'm not optimistic about BlueSky's profitability - the current free-at-point of use is a result of VC funding.
So personally I'd be wary of adopting it. I think it's likely the API gets locked down and the comments break in a couple of years.
PaulHoule
I really believe in
and would say the bright side of the "enshittification cycle" is that we get nice places for a while and then we can move on. It's not like people party at the Mudd Club or CBGB anymore and why should they? Theory at
ujkhsjkdhf234
I think BlueSky should lean into this and operate as a domain registrar like Squarespace does.
aranw
Only thing I’m wondering about with this is how do you moderate the comments? Delete spam or rude comments?
jszymborski
At least for Mastodon comments, there are two easy ways:
- Run the comments on an instance you moderate
- Even better, only show comments that your account has favourited.
More details on the last one here:
jameshart
Bluesky allows thread owners to hide posts from the thread.
Presumably the blog interface itself can choose to simply not surface hidden replies at all; if you view the thread via a different client (eg the Bluesky app) you would have the option of seeing the hidden posts.
And of course if you view the thread through your own Bluesky interface your personal blocklists and moderation would apply to the thread.
ascorbic
I'm not sure if this implements it, but Bluesky has an API to hide replies (called thread gating). It's a separate API call though, so you don't get it automatically when loading a thread via the API.
I built a web component for the same purpose, and you can see in there how I implemented threadgating: https://github.com/ascorbic/bluesky-comments-tag
MrPapz
This is an amazing idea! Not only if fixes the problem of commenting but also allow people to continue the conversion on Bluesky. Well done!
slackr
Nice. But what about moderation?
UtopiaPunk
I like this a lot! I don't have a blog, but this kind of makes me want to start one.
notsahil
Reminds me of https://indieweb.org/Webmention
Bluesky is very useful to store information on user's existing accounts.
I'm currently building a review system for my open source Web map https://cartes.app, based on Bluesky. Not trivial though, you have to create a lexicon and maintain a DB based on the Bluesky stream.