87% of my readers are using Chrome on desktop. This means that I have the luxury to care less about performance. However I just recently found that this blog has 56 (out of 100) points on Google’s pagespeed test. That’s not good. The report says that my Disqus comments are blocking the main thread for ~900ms. I want comments on my blog but I also want my users to reach to content as quickly as possible. So, after so many years using Disqus I decided to break with it and use something else.

I started searching for alternatives of Disqus. Nothing really grabbed my attention. Either the solution was paid or it provided the same if not worst results. Then I found this article where Don Williamson suggests that we can use GitHub issues as a placeholder for comments. And indeed GitHub provides a nice API for reading and adding comments. So why not?

I found the idea interesting and checked if there is already a library providing such functionalities. And yes, there were couple of modules – Gitalk, Gitment, Utteranc. Not good enough though 👿 Some of them asked me to create a GitHub OAuth app and share publicly its client id and client secret. I scratched those immediately. Another one contained a bit more features than I needed and some sort of a bot that I didn’t understand completely. Anyways, as I like to do very often, I decided to create my own library. I’m really really good at re-inventing the wheel so I started working on Octomments (https://ocs.now.sh).

The idea was simple – I use the GitHub API to fetch an issue and its comments. Then ask the user for a comment and again using the same API post a new comment to the same issue.

Source link