I’m a big fan of Bluesky, and I just added comments to this blog by leveraging its open protocol.
The core idea was inspired by Emily Liu’s excellent post and Jade Garafola’s Astro adaptation, and is delightfully simple: instead of maintaining a separate comment system, why not use the conversations already happening on Bluesky?
This is particularly compelling for static sites like this one. Static sites are wonderful - they’re fast, secure, and incredibly simple to maintain. But they have one major limitation: they’re, well, static. Adding dynamic features like comments traditionally meant either using a heavy third-party service or maintaining a separate database and API (defeating the point of being static).
Bluesky offers an intriguingly lightweight alternative. Each blog post corresponds to a Bluesky thread, and comments are just replies to that thread. The heart of the implementation is remarkably simple - it’s just a single API call:
Everything else - the layout, styling, error handling - become implementation details. When someone visits your blog, the page fetches replies directly from Bluesky’s API. There’s no database to manage, no auth system to build, no spam to filter - Bluesky handles all of that.
What I love about this approach is how it solves multiple problems at once:
- Zero maintenance - The entire system is serverless and requires no ongoing administration
- Built-in moderation - Bluesky’s native moderation tools (blocking, muting) automatically apply to your comments
- Genuine conversations - Comments aren’t siloed on your blog; they’re part of the open social network
- Full portability - Since comments are just Bluesky posts, they’re accessible through the API and can move with you
- Progressive enhancement - The blog remains fully static and functional even if Bluesky is down
This perfectly exemplifies the power of open protocols. Instead of building yet another commenting system from scratch, we can compose existing infrastructure in creative ways. The AT Protocol provides the social graph, authentication, moderation, and storage - we just need to pipe the data to where people want to see it.
Want to see it in action? This post is connected to [this Bluesky thread]. Reply there and watch your comment appear below! And if you implement this on your own blog, let me know - I’d love to see how others adapt and improve upon this pattern.
I expect we’ll see many more examples of this approach as the AT Protocol ecosystem matures. The web is more interesting when it’s interconnected, and open protocols are how we get there.
Subscribe
Comments
Reply to this post on Bluesky to join the conversation.