One cool implementation of Mastodon-as-comments was with the G-Droid frontend app for the F-Droid ecosystem.
F-Droid apps don't have comments or ratings on the default F-Droid app. They're generally less necessary because the apps don't have ads or severe privacy concerns like the ones from Play Store do, but it's still nice to hear others' experiences and comments on them.
G-Droid introduced a commenting system by simply redirecting you to a mastodon URL when you clicked "Add a comment". That URL will by default add "@gdroid@mastodon.technology" and a hashtag based on the app package name to your post. For eg., for the Markor app, it would add
@gdroid@mastodon.technology #net_gsantner_markor #fdroid_app_comments
at the end of your comment post. The @username will notify a bot to pickup this comment, the hashtag will help it attribute it to the right app, and so your comment will get collected and displayed below the app listing in G-Droid.Sadly, G-Droid itself doesn't seem to be actively maintained anymore, the last update being a few years old, but it's a really cool example of what is possible when you have open, flexible systems that can be plugged in together in many ways to create the features you need.
This is a nice idea!
I ended up doing something similar, but statically, and searching for discussions dynamically rather than using a single hardcoded thread. Essentially it's a script that searches for recent posts linking to my domain name on Reddit, HN, etc, and then updates a file with the URL of that post and some information about when it was made and how many posts there are. Then there's a Hugo template that converts the data in this file to HTML.
The script runs every few hours using free GitHub runner time, and if it makes a change, it commits it and creates a pull request with the contents so that I can review it. (I could automatically commit straight to the main branch but I like having the manual review just in case.)
I couldn't get it to work for Mastodon because there's not really a public search for Mastodon (for all sorts of reasons), although at some point I want to get it working for Bluesky. I did try hooking it up with Twitter for a while, but that required all sorts of API keys and things that I didn't want to deal with so I gave up. You also need API keys for Reddit, but that was easier to get hold of and manage.
I wrote a post about how I implemented it here: https://jonathan-frere.com/posts/adding-discussions/
After spending far too much time integrating third-party comment systems into my website, I finally decided to roll my own in Common Lisp [1].
I’m quite happy with the result. It’s simple, minimal, and fast. It does exactly what I need and no more.
Plus, everything is held for my review before being published, so I don’t have to worry about spam, cross-site scripting, or off-topic comments. It’s been a satisfying solution.
I’ve seen a few times the option to email your comment, which I thought was a really elegant solution. So much in fact that I built that into my own site https://spenc.es/writing/email-as-a-commenting-system/#comme...
huh. that provokes a vaguely uncomfortable feeling in me for some reason. I suppose you could also setup an sms gateway and accept comments that way too but hm.
Yeah, I hear you. If it helps, the emails are anonymized with an hmac.
If you want to use Matrix instead of Mastodon for your blog's comments, there's https://cactus.chat/
There's a rather long list of other solutions over at https://darekkay.com/blog/static-site-comments/
And there's https://github.com/carlitoplatanito/disgus for adding Nostr based comments to your static blog.
Aren't they 2 very different things? Matrix is live chat, similar to IRC, whereas Mastadon is a microblogging platform similar to X.
While they seem different, they can be used in similar ways. Sorta like how Delta Chat turns email into something like IMs with a conversation view. It's all passing around text/media at the end of the day.
Yes, quite different concepts, but both are federated services that offer the necessary functionalities to be used as comments. One is a bit more "real-time" than the other.
I should perhaps also add a little disclaimer/warning: When i had a closer look at cactus comments a while ago, it seemed to be broken / "assembly required" in various parts and blogs that use it.
When I publish something I like not shouting into the void so I want comments , but I also don't want to give a platform to anyone and everyone on my blog.
What works best for me is to add a link to the fediverse, linkedin and sometimes HN threads of comments when I publish a post. It's also a very low tech solution :)
I took a similar approach to linking to a comment thread, see e.g. Reddit links from https://p.migdal.pl/blog/2025/02/markdown-saves.
At the same time, I am an opportunist — sometimes it is Reddit, sometimes it is ix Xm, and sometimes it is here, the Hacker News. Different posts resonate with different audiences; and I don't want to link to a ghost town.
One issue is that there is no such thing as "the default platform for discussions"—no matter which one you choose, only a small fraction of readers will be interested in participating.
> One issue is that there is no such thing as "the default platform for discussions"
Isn't this what the various linkback mechanisms tried to solve? It seems like the ideal solution: let anyone comment wherever they want, from a tweet to their own follow-up blog post, and connect them all via automated notifications.
It was, but the explosion of free hosted blogs quickly led to linkbacks being 90% scam sites instead of genuine responses.
I've been considering trying to get to a similar result, but considering making my actual blog _be_ a (minimal) ActivityPub sever with a si gle user/actor such that posting to the blog is publishing an ActivityPub post, and have replies to that post coming directly into the blogs own inbox, then show up as comments.
Anyone else weighed up the two approaches, I'm still on the fence tbh.
Here's an example of such ActivityPub server that can be hosted on Netlify, and save JSON files to your blog repo: https://github.com/sinofp/lesspub
I'm working on something like that here: https://git.sr.ht/~mariusor/oni
However since I'm not a very good frontend dev, posting to this is currently done through a CLI application without great UX. :D If you're interested, I would *love* to collaborate with someone on it.
PS. a running instance where I post now and then is https://marius.federated.id
I've been doing this on my site for a couple of years: https://github.com/offbyone/ideas/blob/3f50f69494aca01f21aeb...
It's pretty easy to do. I recommend it, if you already use Fedi for anything.
I think this is a pretty great step in the direction of not being wholly dependent on one platform; makes you start thinking about your website as the source and the social media networks as just a representation.
https://micro.blog has a good implementation of this for both the Fediverse and Bluesky. A random example of mine that has an array of 'em if you want an example: https://zacwe.st/2025/02/12/amazon-is-removing-the-ability.h...
Great read. I posted some thoughts on the pros and cons of using Mastodon for comments. Overall, it's been a positive experience for my blog.
Nice! I'm waiting for (/ thinking of building) something similar for #atproto/Bluesky. You could even use OAuth to allow users to add responses inline, which would then also show up in the Bluesky feed (if you wanted), with a UX pretty similar to Disqus.
Mastodon is great, but the "pick a server" step is a pretty hard filter for most users, who just want to sign up for something.
You'd also get to benefit automatically from Bluesky's blocking/moderation tools.
But bluesky is a proprietary service based in the US. A less privacy friendly choice for your readers/commenters.
The protocol is fully open and adoption is picking up rapidly. You can easily host your own data server in your preferred jurisdiction if that is important to you.
"Easily" is an overstatement. Where are all the independent servers?
A) That article is from was 3 months ago, the network has grown almost 50% since then. B) You can set up your own PDS, right now. If you're comfortable with Docker it should take you under an hour: https://github.com/bluesky-social/pds
> the network has grown almost 50% since then
How is this relevant to making your own server?
> You can set up your own PDS, right now
Any existing alternative servers compatible with the main network?
Reminds me of this post on adding BlueSky likes: https://whitep4nth3r.com/blog/show-bluesky-likes-on-blog-pos...
If I would want comments on my blog I would try to integrate BlueSky and Mastodon comments.
This is where I'm struggling. I have Bluesky comments set up but am of the impression that mastodon comments will be completely separate and clunky as a result
I did something similar recently - and was inspired by others who did it:
https://blog.nawaz.org/posts/2025/Jan/adding-fediverse-comme...
If you're using Quarto, I've got a plugin that adds bsky and masto comments
https://andreasthinks.me/posts/quarto_comments/open-social.h...
I found this similar project recently as well: https://danielpecos.com/2022/12/25/mastodon-as-comment-syste...
I wonder how that scales. I'm sure it wouldn't matter too much for a small personal blog but I assume the mastodon server wouldn't be very happy if the API was queried at a high rate.
The author made some sane choices by having the user press a button before loading the comments
Yeah, I made a note of that. I'm not sure anything I've written to my cheesy blog has hit HN before, so this is probably the biggest test I'm going to get.
If it were going to get any bigger, I'd want my own Mastodon server.
Edit: this is also why I made it an explicit user action to load the comments.
I like caches with a short TTL. Even caching for a single second will cap the amount of API requests. Just setting an expiry a minute out when you generate the page and put it behind a decent caching reverse proxy, is a decent option. Or just write the API response to a file and stat that file to check age before you respond (if so, just make sure to avoid race conditions; e.g. write to a separate file and rename). If you have something like Redis running, that's of course a great option too.
(but just having users click a button is likely to be more than enough)
This is true, and it would be super simple to write a quick PHP caching script.
As a Mastodon user who has been trying off an on to resurrect a blog and personal website, I'm starting to wonder whether the model of "personal blog with comments" really deserves to die given the nature of the modern web. If you're lucky, you just get ignored. Otherwise you just get consumed by AI and bots and psychopaths.
I have tried to get my static site generator (Lektor) to work with Mastodon and generate my Mastodon posts as a blog. I haven't had success yet because Lektor is obsolete and kind of garbage, but Mastodon's API is great.
I really like this solution, though. Just write a blog post and link to it from Mastodon. That solves the problem of Mastodon's text limit and of small hosted instances needing to regularly delete content to stay under their account limit.
As a technical feat and expression of FOSS integration this is cool but I don't know about the utility of it since any actual human being reading these comments will already be reading them on Mastodon. It is definitely better than the cancer that is Disqus though.
I really like GitHub comments on blogs.
As in "utterances" and "giscus"?
Github is a proprietary service owned by Microsoft. Storing comments there is a less privacy friendly solution than this one.
mastodon is a fediverse client
[dead]
[dead]
[flagged]
What weird fake information you're posting. Yes, administrators of fediverse servers can read your personal correspondence -- same as Facebook, X, and other social media sites that don't offer federation (unless you opt into some limited e2ee option). But I, as a fediverse admin, have no ability to read (private) correspondence between two others who don't use my instance.
Ultimately it comes down to: you must trust your instance admin. (Just like you must trust Facebook and X and Tiktok and whomever else). As a result, maybe take private conversations somewhere safer, like Signal or a pgp conversation. If you don't trust your instance admin, why did you sign up with your instance?
>If you don't trust your instance admin, why did you sign up with your instance?
Probably because you told them it was a cool OSS twitter alternative and not something that takes all of social media's moderation and privacy and content problems and multiplies them by the number of instances you join without any of the legal protections associated with being able to file civil or criminal complaints against an identifiable entity answerable to the laws of your country.
Haha it definitely takes the content moderation problems and distributes then across all the instances. But that's kind of the whole point. You can join an instance that moderates content in accordance to your preferences, rather than dealing with the weird policies of Meta/X. I'm sorry you don't like it though.
It seems like we agree: the whole point of Mastadon is to do something that nearly all users don't want and actively fear - being forced to trust both the intentions and the opsec of anonymous individuals who are effectively beyond the law, and being blamed for trusting them if anything goes wrong ever.
Do you comply with the CCPA or GDPR, or are the users on your instance empowered by being given the "choice" to give you unlimited access, use, and retention of their data without their informed consent, even when it violates civil and criminal law?
If you think data privacy laws are wrong and intend to violate them, you should say so in a way that makes informed consent possible. If you're comfortable with rationalizing violating informed consent in some ways, it kind of implies the "content in accordance with your preferences" may similarly contain content of non-consensual acts that are also illegal.
I can't think of something more hostile than requiring an account on a 3rd party, totally unrelated, platform to post a comment on a blog.
I'll literally take ads and tracking over it.
I could add a button to swap the comments out for ads and tracking. ;)
To your point, though, I don't expect anyone without an account already to post, but my target audience largely already has such accounts.
> I don't expect anyone without an account already to post, but my target audience largely already has such accounts
This is a ridiculous expectation. Virtually nobody uses Mastodon, especially since BlueSky now is the open platform of choice.
But even without this, Twitter-like websites for me and a lot of other people have absolutely no usecase, despite being in the audience who could read your blog. Expecting all your visitors to have an account in nonsensical.
I should be clear, you don't need a Mastodon account to read my blog and comments. But you do need a Mastodon account if you want to reply to my Mastodon post about my blog entry and have that show up in the blog.
But maybe for your blog, you could use the same basic technique and do BlueSky comments instead.
> Virtually nobody uses Mastodon
You may want to look around you...
Less than a million monthly active users: https://joinmastodon.org/servers
This is massively down from 2 years ago where it was 1.7M: https://www.reddit.com/r/Mastodon/comments/10bimq2/comment/j...
You may want to look around you...
Mastodon is part of the fediverse, meaning accounts are federated (accounts on services can communicate with other accounts on other services).
You can run your own server, on your own hardware, make your own account, own every step of the stack, and can comment on there.
It's not just 3rd-party login, it's YOUR-party login.
Lol I knew I would get this kind of answer and downvotes.
You still have to make an account on a totally unrelated website. It's the shittiest experience one can think of.
But your excuse is "Hey actually you can also setup the whole application yourself before making the account to post a blog comment on an unrelated website, so that's actually super awesome!".
Absolutely ridiculous, and if any company you didn't like were to do something similar you would screech.
You would prefer to create a new account on every blog you visit and wish to comment on?
Usually blogs don't require creating an account to leave comments. Why present this false alternative when the common thing to do is just leaving a comment without creating an account?
> Usually blogs don't require creating an account to leave comments.
Even back before 2010, almost all blogging platforms had an option that would let the owner require log in to comment.
And it was fairly common, because of spam.
why would you need to create an account to leave a comment? the site owner can own the entire flow if they so wish, including creating an anonymous actor for the comment.
Disqus requires an account on their system, too.
Optionally it does not, see https://help.disqus.com/en/articles/1717211-guest-commenting