tdarb.org > My Cheapskate Commenting System

// 2380 words // 11 minute read

My Cheapskate Commenting System

My blog now has comments! Well, kind of

I went down a two day long rabbit-hole trying to find the best solution for implementing comments on my static website (generated via Jekyll FYI). There are a ton of options out there and many open source models that allow you to spin up your own instance with something like DigitalOcean or AWS. But I’m a cheap bastard. I refuse to spend $5/month on a blog mostly used for fun and one that I have zero incentive to “monetize”.

So, what free options did this old miser have left to chose from? To my surprise, there were two solid options that initially caught my eye! Let’s take a look then, shall we?

Remarkbox

Overall I don’t have many bad things to say about Remarkbox. It looks nice, is easy to implement and runs a “pay what you can” pricing model. What more could you ask for?! The major issue (for me, personally) is precisely that; the free model. This makes it difficult for me to trust 100% that this system will still be around in 3-4 years. Now I know - even paid systems can shutdown unexpectedly, but I find free tier options end up shutting their doors sooner. There is an option to self-host Remarkbox, but that requires a yearly license and also comes back to the point I made about not wanting to pay for hosting…

Utterances (Github-based)

The other major option was Utterances. This system was almost the winner due to it’s pretty great feature set:

  1. Open source
  2. No tracking, no ads
  3. All data stored in GitHub issues
  4. Free!

But take a look above at point number three. The fact that readers wishing to leave a comment are required to have a Github account. For me, this is a non-starter. I don’t want to force my audience to sign up for or sign in to any account just to leave a simple comment on my humble blog. Considering a number of my readers are part of the FOSS community, this just seemed like a bad fit.

Finding Inspiration

I absolutely love the solar.lowtechmagazine.com website (both for it’s content and design) and indirectly found my comment system inspiration there. Okay let’s be honest, I completely stole their commenting system “concept”. Imitation is the sincerest form of flattery, right?

Enjoying the content? Consider supporting my site by contributing to hosting costs!

My goal is to keep this blog advertisement and tracker free - forever. So, if you're feeling generous, please consider donating to help pay for hosting via NearlyFreeSpeech.NET.

Donate (code: tdarb) // View Contributor List

Now back to the article...

My Comment System is…

E-mail. It’s just plain e-mail.

I’ve setup a basic comment-prompt.html in my _includes folder that contains a mailto action button1:

<a href="mailto:myemail.com?subject=RE: { { page.title | uri_escape } }">
    <button>Comment via email</button>
</a>

This include template is placed at the bottom of every article automatically. Then, that action pulls in the article’s title as the e-mail subject line in the user’s default mailing app. That’s it.

Pros

Cons

Fun Experiment

I figure either way, this will be an interesting experiment. I don’t know my audience size (since I don’t use any type of tracking) but I assume it’s very small. Those willing to write me a personal e-mail in order to share their thoughts on my stupid little blog probably have something interesting to say. At least I hope so.

Let’s see how this thing goes…


  1. Big thanks to cketti for letting me know about using uri_escape to avoid issues with mail clients. ↩︎


Leave a comment

To make a comment, please send an e-mail using the button below. Your e-mail address won't be shared and will be deleted from my records after the comment is published. If you don't want your real name to be credited alongside your comment, please specify the name you would like to use. If you would like your name to link to a specific URL, please share that as well. Thank you.

Comment via email

Comments (37)
  1. Matthew Graybosch
    I've been using plain old email as my comment system, too. It's the OG comments system, and if you've got a decent provider the risk of spam isn't that bad.

  2. Garrit Franke
    Email rocks! I'm currently thinking about how I could add comments to my site too, but I keep overthinking it. This might just be the way to go though. Im curious: how to you curate the comments? Are you using a SSG with some special markup?

    • Bradley Taunt
      @Garrit Franke I agree! Adding the comments to each post is very manual. I'm using Jekyll, so I simply add each into the original markdown file of that specific article and rebuild. I'm sure there is a better way to automate this, but for now it works!

  3. David Rutland
    This works well. Nicely done :)

  4. Jan-Lukas Else
    Let's hope your spam filter is clever enough! But a great idea to use emails as a comment system and then publish the comments below the post.

  5. Richard L. Kolla
    I'm in the same boat! I use Publii for my blog and was delving into Commentbox & Commento. At this point I haven't bothered with any but I love your idea of email.

  6. O.Q. Olarte
    Hi Brad, I also like email as my commenting system, too, but I must copy your implementation to my blog! Right now, it's just my email address at the end of each post.

  7. Simone Silvestroni
    Nice! I've been using email comments as well (on Jekyll), though I've finally got to implement webmentions a few days ago. Not the easiest thing to do and probably not a huge audience out there, but I like it. As per spam filters, I use Protonmail and so far no issues with the mail comment system :)

    The only alternative for my Jekyll site that I've actually considered was Staticman. Haven't decided yet on that one.

  8. joelchrono12
    OK, so this is awesome, I love the replies you do too! Super cool :O

    I use mastodon, but I've already mentioned that hundreds of times in every blog about adding comments so, maybe I'll stop.

    Maybe (just maybe) a nice addition would be to include the commenter's website if they want, since you can check manually if its not scammy anyways. :P

    • Bradley Taunt
      @joelchrono12 Great point. I've updated the default "Leave a comment" blurb to mention including URLs. I've also set your name to link to your website ;)

  9. Nguyễn Gia Phong
    Nice, I'm glad to witness the recent renaissance of email commenting systems for static sites lately! I also cooked up a similar one for my site, not so long ago: https://cnx.srht.site/blog/reply

    It's sorta on steroids with RSS comments feed for notification (aren't your email replies already notification though?) and a whole templating system for reply functionality, among other things. Did I overengineer it? Perhaps. Are there enough comments to come to be worth of the effort spent? Probably no. Am I proud of what I did? Certainly yes!

  10. Tamas Polgar
    Hi nice article. Maybe you could try too rebuilt your page based on the emails you receive.

  11. Kuba Pawłowicz
    Thanks Bradley for writing about this and posting to HN. As a matter of fact I've been recently thinking of a relatively painless commenting system for my blog, and, after seeing what you did, doing it via email is what I'm gonna end up with.

    Regarding automating the whole system, I think nothing beats manual curation of comments. Hopefully that'd be manageable for the amount of traffic received.

  12. Rob Nugen
    Totally great idea; I used to use an email commenting system and forgot about it after having some problems. I might revisit the idea after seeing your post!

  13. Dom Williams
    I initially wrote off the idea of having comments on my posts due to spam and needing to include third party services and scripts, but this is making me reconsider. Looks great!

  14. Ian Channing
    So what happens if you send HTML email with bold and italics

    - and
    - lists

    ?

    Love the concept though - email is awesome.

    • Bradley Taunt
      @Ian Channing Good points - I've updated the comment prompt text to mention available formatting options.

  15. Jannis Segebrecht
    Nice!

  16. John Rinehart
    This is a test of the emergency broadcast system. 🚨🚨🚨

  17. Mykyta Kysil
    Hi, Great Idea, now I have to think about using it on my own web-site, thanks :)

  18. Eric Zhu
    Seriously? Commenting via Email?

    • Bradley Taunt
      @Eric Zhu I know! Pretty great, eh? (I'm ignoring your potential sarcasm :P)

  19. Sławomir Grochowski
    Wow, that's awesome! Simplest solution. Thanks for the idea.

  20. Tim Roberts
    Did you try webmentions or was that decided as not an option due to the need of some server?

    • Bradley Taunt
      @Tim Roberts I looked into webmentions but didn't like how "scattered" it made things. (And yes, the need for a server pushed me away from it also)

  21. Lucien Bill
    I love this, I'm gonna use it as well! Thanks

  22. Andrius Bentkus
    We have come so far with all the web technologies, but just using plain old simple protocols is a beautiful thing.

  23. Sebastian Korotkiewicz
    Nice! :)

  24. Josh and Malka Spoerri
    Do you manually convert the emails to html and append to your page? If you have scripting for Jekyll, please share!

    • Bradley Taunt
      @Josh and Malka Spoerri No script(s) here. I just add each entry manually and reply if I need to :)

  25. Jessy C.
    Hi Bradley, I spent an enjoyable afternoon in a café reading your blog. I found your posts on practical (i.e., lean instead of bloated) web design particularly delightful. I wanted to send a note of appreciation, and comment on your cheapskate comment system—how meta, hey?

    First, when clicking on the "Comment via email" link, the reader is redirected to their email provider. For me, I am asked if I want to open Gmail in my web browser, which I do. This takes me to my Gmail account. (I know many readers have their email client set up to process mailto requests; I represent the minority.) Might I suggest adding the target="_blank" attribute to your link element so that this activity occurs in a new tab? From a usability perspective, this allows the reader to refer to the post while composing their email.

    Second, have you considered adding timestamps to your comments, based on when the email was sent? I enjoy perusing comments with a sense of chronology. Especially with web design/development, one can get a sense of context for when remarks are made on topics (e.g., your posts on the proliferation of flat design, among others).

    I have bookmarked your blog; I look forward to more content!

    Cheers

    • Bradley Taunt
      Thank you! I appreciate hearing that others enjoy my foolish ramblings :)

      Might I suggest adding the target="_blank" attribute to your link element

      Done.

      ...have you considered adding timestamps to your comments

      I already set the comments in chronological order (based on when I receive each email). Adding a specific timestamp originally crossed my mind, but then I would need to figure out a clean way to deal with multiple timezones etc. For my small blog it works well enough to read top-to-bottom, old-to-new.

  26. Matthew Olson
    This is awesome: I was thinking about doing the same with my site. My primary issue with it would be the manual curation/posting: I don't really see myself keeping up with the comments streaming in (especially if a post becomes pretty popular), and manually putting them into the post.

    Do you think it's possible to simply have a cron job parse emails and automatically append it to an HTML file on that particular post? Could be a pretty simple thing to write.

    My only concern, I think, is spam: if somebody writes a bot to spam comments onto a particular post, that could blow up the filesize and cause some nastiness on the machine you're hosting the site on. Could probably implement a rudimentary rate-limiter.

    Any plans to extend this to be a bit more automatic? If I end up going down this rabbit-hole (don't I have enough already?), I'll be sure to let you know.

    • Bradley Taunt
      Thanks!

      Do you think it's possible to simply have a cron job parse emails and automatically append it to an HTML file on that particular post?

      Probably, but I'm far to lazy to try setting something like that up myself. I'll most likely keep things static and manual for now! But please do keep me posted if you do something similar yourself!

  27. njb
    Something I try to keep in mind is that emails are about as exposed as postcards. With that in mind, using email to submit public comments on a website seems like a very reasonable use case.

  28. famubu
    Hi, Your commenting system is great! Thanks a lot for staying clear of using github issues for comments.

    Is there a way to display the time at which the comments were made as well?

    • Bradley Taunt
      Thank you!

      Is there a way to display the time at which the comments were made as well?

      I discussed this on another comment on a separate article that I wanted to keep the overhead as minimal as possible. Also, the need to deal with specific time-zones and post dates becomes a headache. Listing the comments in chronological order works for my needs!