Show HN: A commenting system that works via email (r3ply.com)

49 points by asimpletune ↗ HN
Hi everyone,

I made a commenting system that accepts submissions via email, instead of requiring a login. The back story is I wanted some interactivity for my site/blog, but I felt like requiring a signup wouldn't be a good UX.

I'm looking to get feedback on it from the HN community. Please feel free to ask questions and let me know your thoughts, especially what you don't like about it. If it's a decent UX then I would like to make it OSS, as I feel that it could potentially fill a void, especially for beautiful small websites.

Here's the basic flow of data:

1. When the site is generated, mailto links embed information for where the future comment will go

2. When a user clicks on a "comment" or "reply" link, it opens a draft comment in their mail client. Instructions are pre-baked into the email body.

3. When a user hits send, the email is received by my software, which parses the email, validates it for tampering against a pre-computed hash, and then opens a pull request.

The user gets an "auto-reply" email, informing them that the submission was successful, along with a link to preview it. The site moderator (so, in this case, me) gets an email, with links to the PR. When the comment is approved, the site is rebuilt and deployed.

Other info and potential gotchas:

* Emails are all hashed for privacy (with a secret "pepper") that's occasionally rotated

* Comments are represented as individual files, so there are no merge conflicts

* DKIM, DMARC, and SPF are all checked to help prevent spoofing

There's a FAQ on the link above that has more information, and you can also see a demo on my personal website: https://spenc.es/writing/email-as-a-commenting-system/

Thanks for reading!

14 comments

[ 3.9 ms ] story [ 41.3 ms ] thread
sounds a little like support/bug ticketing systems that support responding to a ticket by email with the ticket ID in the subject line - eg support@domain.tld
O, you're right. I've never tested any of those systems for how they react to either email spoofing or to see what happens if you change the subject line.

If r3ply ends up being well received I'd like to add sort of a "CLI" interface to manage comments. E.g. you reply `EDIT <new comment>` to update your command, or the moderator can reply `APPROVE` or `REJECT` instead of going through a UI.

This is cool! I quite like it, I've thought about implementing something similar with activitypub, so each post would be visible on mastodon and you'd be able to comment directly on the post and it would show up as comment. Might be a cool way to extend it.
This stands or falls with the way users have setup there own client. If mailto links don't work locally or point to an email app that the user is not using then it fails.
Yeah that’s true. I think it needs to progressively degrade gracefully.

I think in this case, I might add on the front end a way to copy the subject line. Something like:

> or send the subject line below to <address> > `<subject>`

I appreciate the submission, but why not just do a regular comment system and use “magic links” which are authentication links sent by email. No password needed.

That requires a login technically but with less friction than needing username, password, email confirmation.

Because there are fewer steps

Edit: I just reread your comment and noticed this part.

> but with less friction than needing username, password, email confirmation.

And then I understood the confusion.

There is no signup at all with r3ply. It is similar to magic links, except instead of confirming you own an email by clicking a link, you just send the comment directly from that email.

Hope that is more clear.

Oh yeah I got why your system is easier but it does have the disadvantage of losing web interactivity. For example editing a comment, deleting a comment is either not possible or requires knowing the protocol. Formatting is probably another thing that needs to be more basic.

So that is the trade off: (a) your method is simpler vs. (b) a magic link allows web-based interactivity.

I just thought now though: your method could reply with a magic link for later use.

O I see what you mean. That makes sense. I'll add that to the backlog. Thanks for the feedback!
Both perspectives make sense, it’s simply a trade off. But it seem like the perfect opportunity for progressive enhancement.

An initial comment can be via email. Additional capabilities via a magic link received in response to the first email.

I love this idea, and I think it’s quite powerful in how frictionless it makes the initial process.

There’s a cognitive load to creating an account, even with a magic link interaction. Any requirement to “sign up” bring with all the baggage of experienced passed. This manages to break out of that space for me, which makes it a very interesting proposition.

> An initial comment can be via email. Additional capabilities via a magic link received in response to the first email.

That's pretty close to what I do now. After you submit a comment via email, you receive an 'auto-r3ply' telling you it worked, along with a link to a preview.

I just haven't implemented the edit/delete functionality, but it's coming.

> I love this idea [...] There’s a cognitive load to creating an account [...] This manages to break out of that space for me, which makes it a very interesting proposition.

Thank you!!!

This is what I did with FastComments. You just leave your username/email. If you already have an account, we send a verification email.