1. Accept comments via email, CGI scripts, server-side program or by any other means that suits you. A simple hack that requires no server-side scripting: if you run your own web server, you can submit comments as GET query parameters logged in access.log, then extract them using grep, sed, etc. Personally, I use a server-side program to accept POST requests and write comments to a text file on the web server.
2. Review submitted comments. Delete spam.
3. Add comments to your website source repository as .md, .html or whatever format you use, similar to how you add blog posts as content files to your source.
4. Render comments alongside the rest of your site using your static site generator. Depending on the nature of your static site generator, this may require using or creating a template or layout that iterates over the comments and renders them.
It is a fairly hands-on workflow, so it may not suit everybody, but this is how I do it for my personal website. I see two main benefits of this approach. Since the review is manual in step 2, no spam can ever make it to my website. Step 3 ensures comments live entirely under my control, so I never need to worry about migrating them between platforms in the future.
In case anyone is curious, I (very) recently implemented a similar comment system based on email. I posted a write-up about it[1].
[1]: https://ckardaris.github.io/blog/2026/01/22/my-comments-run-...
For anyone else who is interested in taking a look, here is my setup:
* The server-side program that processes the POST requests: https://github.com/susam/susam.net/blob/0.5.0/form.lisp#L254...
* The static site generator reads the comment files and renders them alongside the rest of the website: https://github.com/susam/susam.net/blob/0.5.0/site.lisp#L869...
* End result: https://susam.net/comments/
The last link shows the consolidated comments page that lists all approved comments posted across my entire personal website. The 'View original comment' link under each comment points to the individual comment page for each post.
https://jesse.id/blog/posts/you-can-now-comment-on-my-blog-f...
It's very themeable. If for some reason you want your comments to look like Hacker News, there's a theme here: See the playground here: https://bluesky-comments.netlify.app/theme/
* CF worker on a subdomain that handles POST requests. Basically, a JS function that handles incoming requests.
* It stores comments in CF KV and sends me a copy to telegram
* All I need to do is copy it to Markdown (can be automated, but I manually approve the comments in case of spam)
* In Markdown, I'm using frontmatter to store arbitrary JSON data
* To avoid automated spam, I have a few tricks: do not expose the submit URL in HTML (insert it via JS) and calculate a simple checksum so that automated software that does not execute JS won't be able to post. Such software usually targets Wordpress blogs by scraping them from Google. I get zero spam from it.
Everything, including hosting and workers, costs me zero.
Example: https://rushter.com/blog/zsh-shell/
Your setup sounds cool. Do you host it on a home lab or something?
I push to Github and CF deploys static pages to CDN.
I'm asking of curiosity, when it started I disabled commenting on my web page
Ideally, the comment system should be either self-hosted or more fediverse-like. The rest is a temporary compromise that will sink in the sands of time.
Active users are measured in different ways by different platforms, so if we compare registered users, fedi has 12.5M compared to 42M for Bluesky. So it's approximately 25% of the size.
It's not the best place to go if you want to get a large following, and it's not Serious Business, but as a user that's not what I want from a social platform. I have plenty of people to follow who are talking about things that interest me.
You're welcome to come have a look if you want, but otherwise no worries. We're doing fine. Maybe you'll check it out sometime when some drama happens at Bluesky. The fediverse is not going away any time soon.
I suppose I could just create a brand new account or move to another server but it hasn't seemed worth the effort so far
I've never had a mastodon.social account, but I can understand the frustration of having technical issues. If you really wanted to join, like you said, you can just try joining on a different server or even software - with other social networks you generally don't get that choice.
But it looks like you gave it a try and made the rational choice that, for you, it's not worth that effort.
But just because it's not your thing, and it's not the biggest one out there, doesn't mean it failed or missed it's shot. Personally I think it's pretty amazing that an open source project, with no VC money or marketing department or big corporate tie in, has about a million active users, and has for a long time now.
And instances seem to be pretty heavy on resources. Reminds me of why Matrix never really took off, running a Matrix server is just too difficult and time-consuming for what you get out of it.
I know proponents of Mastodon will point out that you can work around these warts, but I don't want to. I don't think the model is suited for me.
I have also explored other P2P approaches and built prototype social networks. I prefer a more P2P approach, I think it's more scalable, but it's complicated because IP privacy by default is important in large social networks. I'm still searching for the right solution. I think the advances in LLMs are going to help do a much better job at solving the moderation problem in social networks, and so I am experimenting with that in my off time.
Social media needs to be very simple for the masses to adopt. The elevator pitch needs to be one sentence and must not include the word “server”.
Unless you're Discord, who got away with it by redefining "server" to mean something else.
I don't understand the knee-jerk reactions whenever Mastodon comes up here. Someone always has to declare it dead, someone always has to rant about "leftist politics" and "fascist moderators." And then they usually suggest Nostr which is far more dead than Mastodon.
Nothing is perfect - Mastodon does have its rough edges - but even a moderately successful breakaway from mainstream social media is worth celebrating. I remember when the consensus on HN was that any alternative to the mainstream would be impossible, doomed to fail. The fediverse has its community and its identity, it isn't a flash in the pan.
Yet in absolute numbers users are increasing. And Emacs activity is greater than it has ever been.
Yes. You don't need mass adoption to be wildly successful!
Yes.
Bear in mind many people here would consider geminispace to be a success and I seriously doubt that it even has 100k users.
"Success" has valid definitions beyond market capture and revenue. Mastodon is a success because it hosts a community and because it represents a validation of the model of decentralized federated social media.
And it isn't a zero-sum game, either. The entire point is that there doesn't have to be one "Twitter" one "Facebook" one "Youtube," or even one protocol to rule them all.
Edit to remove unintended flame bait.
You can now review places with an ATproto account. Any app can implement the same lexicon. Review data belongs to users, as JSON on their PDS.
I did something similar, but with GitHub Discussions because my blog is hosted on GitHub Pages and composited with Hugo, and I wanted all components to run as close as possible to one another: https://jasoneckert.github.io/myblog/github-discussions-blog...
But I have few comments. Not sure if is a good solution for people with a lot of comments.
"hateful comment" or "porn" data will stay on the PDS, but it will just not show up in the comments section
Twitter split into x, bluesky, and truthsocial. By picking one, you now allow comments from only 1/3 of your readers. Maybe that's intentional, a sort of ad hoc political filter or gate. But I think it's noteworthy.
Readers are free to create accounts on whichever platforms they choose, in order to follow you. And publishes are free to choose which platforms they endorse.
Notably, of the three mentioned, ATProto is by far the most open and extensible protocol, and less subject to the whims of an addled billionaire.
(*) the entire post, not a excerpt and link to another platform
(*) long posts - posts need to be the size of stack overflow questions
(*) code blocks - it's a tech questions, posters need to be able to post code
(*) screenshots - posters need to be able to post pictures of what's wrong.
(*) serving a static site - I don't want to run a server so a script with an iframe is best. Though it would be nice if they had a message protocol for sizing.
(*) good a blocking/dealing with spam - it should be good at blocking spam. It should be easy to deal with 1000 spam messages should it ever happen. If I have to manually delete them one at a time then no.
(*) free - haha. the stuff I write is open source. I don't want to have to pay on top of my time.
(*) a sustainable business model - not sure what this means except my impression of things like giscus is they either require a server (see above), or they're running the service at a loss so it will probably eventually die.
(*) editable by mod - the posts need to be useful to other users and often posters mis-format
I don't use anything related to github because I expect github will eventually disallow this. I would consider using github if github itself offered the service. Github has one of the best UIs for tech question IMO. Markdown, drag and drop images, drag and drop video, large message size.
I use disqus because even though it sucks, it mostly checks all of those boxes. It's worst part is code blocks. It supports them but they are hard to use.
I looked into things like giscus and utterance. They both require a server or you trusting that they'll run theirs forever. They also use that ludicris "Act on your behalf" BS github permissions system.
That said in Wordpress you spend zero devops time, and get comments and decent spam filtering options. You also don't need users to have a social account.
It definitely can. Bluesky is not as decentralised as you think.
There's also rumors that the W European social network launched a few days ago is built on ATProto.
If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
Yeah, well, you kind of are special.