I made a commenting system for my Zola site that uses email

Hi everyone, I just wanted to show off a commenting system that I made, and hopefully get some feedback. Instead of having account signups it just lets people send their comments via email, and then they get integrated into my Zola site.

Do you think this is a good UX? Is this the kind of thing that you’d would add to your own site or blog?

You can see the demo on the post here. There’s also a dedicated site that I made for the project, where continuing documentation will go at https://r3ply.com.

Thanks for reading!

4 Likes

I think this is awesome! However, I have a few considerations first:

  • Does it require a site rebuild for new comments, or is it JavaScript-based? I can understand both, but it feels off to need JS for a significant feature in Zola.
  • Might there be a future version that runs on a typical Linux server? Cloudflare is interesting, but I don’t feel like paying… :face_holding_back_tears:
  • Is there a way for an article’s author to reply with a verified stamp or additional info, like a profile picture and paginator link?

Thanks for the cool project! I hope to see it released! :sunglasses::sparkles:

1 Like

oh my god that emoji is horrifying

1 Like

Cool project!

I’m a fan of:

  • The overall idea
  • JS not being required <3
  • How comment nesting works

My questions:

  • I’m not sure I understand how the comments are inserted onto the post. Does the CI pipeline have some logic, based on the subject, to know where/how to insert it?
  • The “receiving emails” part (you mention you use Cloudflare’s email workers) seems not super-simple to self-host. Would you say I’m right?

I think it would be very valuable to get feedback from non-technical people as well: how would they feel sending an e-mail to post a comment?

In any case, a very interesting project! Good job :slight_smile:

2 Likes

Hey, great feedback. Thanks for your thoughts.

Does the CI pipeline have some logic, based on the subject, to know where/how to insert it?

Yeah, that’s almost exactly how it works. The difference is that my service prepares everything instead of the CI. That way, when the CI build kicks off it works like any normal Zola project. Still, same end result as you said.

The “receiving emails” part (you mention you use Cloudflare’s email workers) seems not super-simple to self-host. Would you say I’m right?

That part is actually very easy. I think email used to be much harder before this, but now it’s basically just “implement this function that accepts an email object” and from there you can do whatever you want. I would say though that outside the hosting email is more on the hard side, just as a standard I mean.

I think it would be very valuable to get feedback from non-technical people as well

Yes, I love this advice. I’m going to try and at the very least ask my mom. It’s a very important thing to test though.

Thanks for your thoughts and the questions!

Hi @onkoe! thanks for your questions.

Does it require a site rebuild for new comments, or is it JavaScript-based?

In my case the site just rebuilds. So far this has been fine because Zola is fast and my personal website doesn’t get a ton of traffic to begin with.

I can imagine though, in the future, most people wanting something that loads the comments dynamically, but the design is pretty modular. You basically just bring your own site and integrate the comments how you like.

Might there be a future version that runs on a typical Linux server? Cloudflare is interesting, but I don’t feel like paying… :face_holding_back_tears:

Sure! I think Stalwart Labs has a pretty interesting set of email tools all written in Rust that are in development right now and haven’t received a lot of attention. That would be a very good starting point for something that’s self hosted, and I actually use his mail parser over my own because it’s just that good.

But… in the future, haha.


Is there a way for an article’s author to reply with a verified stamp or additional info, like a profile picture and paginator link?

For the “verified stamp”, currently I check the inbound email for dkim, dmarc, and spf and if those all pass I mark comment as “Verified” (with a little :white_check_mark:). If one of them fails it just get’s a :question:.

For the “additional info”, e.g. profile picture, it is something I’m still thinking about. I have an unreleased feature where if they sign the email, e.g… “Cheers, -John” then I use AI to extract a “nickname”, but I haven’t released that yet and I don’t know if I will.

The problem is I think any name giving needs to be very “opt-in”, and currently most people’s email clients probably automatically sign their emails, which makes this nickname thing more of the default rather than opt-in. So, in short, it’s a cool idea, in general, I have it working, but I want to see how people use this first and then take baby steps.

At the end of the day what matters to me is providing a reasonable way to get comments working on small sites with little fuss and a high amount of trust, so that’s top of mind above all else.

Also regarding images and links. Images are removed altogether for now, and links are rendered as plain text. This is for the same reasons that I gave above. There are just too many pitfalls… but baby steps.

Great question though.


Thanks again for your thoughts!