Introducing Welcomments

Hey there! I’m Iiro, and I’m building Welcomments, a new comment system for static sites.

Initially, I built Welcomments for my personal Jekyll blog. I was using Disqus but grew frustrated with its bloat, ads, and tracking. I built Welcomments in a few months, and I’ve been using it on my blog for a year now.

I met someone in a bar recently that needed static comments for his Jekyll site and was willing to pay for it. I made it super easy for him to integrate Welcomments to his site.

As a consequence, there’s now a fancy admin panel with some bells and whistles that anyone can use to add static comments to their website.

I’m making Welcomments into a polished product so that everyone with a JAMStack site can have a nice commenting experience without the bloat.

54 comments

Iiro Krankka

Hey there!

These comments are powered by Welcomments, and they are fully static prebuilt HTML.

They are stored as JSON files in a GitHub repository. Whenever there’s a new change in the GitHub repository, Netlify runs a new Jekyll build that crunches all the articles and comments into beautiful static HTML.

Don’t believe me? See the JSON file for this very comment.

Feel free to test this it out yourself by commenting below :-)

Reply to Iiro Krankka
Iiro Krankka

It refreshes instantly due to the optional Javascript snippet that we provide to you!

Here’s how it works:

  1. User posts a comment.
  2. JS snippet prevents form submission and submits it to our API as an XMLHttpRequest.
  3. Upon receiving a successful response, the comment is saved in localStorage, so that the user sees it instantly. This prevents confusion and double submissions.
  4. When the Netlify build finishes and the comment becomes static prebuilt HTML, the comment gets removed from localStorage.

The comment is also visible for other users using the pending comments API that dynamically loads comments that haven’t built yet. So if there’s a lot of comments in a short time window, the comment section acts like dynamic comments until the Netlify build finishes.

You can test this by submitting a comment and then seeing how it’s visible in an incognito window :-)

As I mentioned, Welcomments also works without any Javascript, but in that case, it’s not very interactive and you have to wait for a couple minutes for the Netlify build to finish.

Reply to Iiro Krankka
Iiro Krankka

There’s now a pretty neat feature where you’ll get email notifications for all new comments, not just replies! I’ll write a blog post about new changes soon :-)

Reply to Iiro Krankka

Are you considering offering an integration with Gatsby? This looks great, and there are honestly no other commenting systems for JAMstack that even come close!

Reply to Ben

Thanks for the reply! Ps, are you planning on writing documentation for this? It seems great but I’m still really new to SSGs and implementing custom tools like yours. Thanks!

Reply to Ben
Iiro Krankka

Hey!

I have a migrator tool but there’s no easy to use interface for it yet. I’ll also want to manually verify the output so that all looks good.

Right now, you can send the XML file as an attachment to hello@welcomments.io with some details such as the Welcomments website id and I’ll do the migration for you.

Reply to Iiro Krankka
Iiro Krankka

Right now, you can manually delete the json files from your GitHub repository or edit them, but there’s no support for anything more advanced than that yet. It’s on the backlog, but I have other things I want to polish before getting there :-)

Reply to Iiro Krankka

Hi, thanks for that, I really like your system. I do want to quit Disqus but I would want moderation of comments before they show up. You are clearly very busy working on this at the moment and it is impressive what you have so far. I understand that you have your priorities, but when you do get moderation enabled, perhaps you can drop me a note. Thanks for your quick response.

Reply to Jim M
Iiro Antero Krankka

Hi Jim!

There’s now rudimentary support for manual moderation of comments.

When turned on, every incoming comment must be manually approved by you in the Welcomments console before it’s published. Right now, you can either approve a comment or delete it.

I would love for you to give it a try and get your feedback on how you like it :-) If you need help with the Disqus migration, please send me some mail at hello@welcomments.io and I can assist you with that.

Reply to Iiro Antero Krankka

GitHub-flavored Markdown & a sane subset of HTML is supported.

Ready to dive in? Start receiving comments today.