Reactions

One-tap anonymous emoji feedback with real Proof-of-Work per click. No identity, no cookies, no moderation — just engagement that is expensive to spam.

How did you like this article? (try clicking)
👍 00%
❤️ 00%
🎉 00%

Fully interactive preview — click an emoji: the count bumps and the bars re-balance live.

Everything included

  • Three modes — comments + reactions together, comments only, or a standalone reactions bar (data-reactions-only) anywhere on the page.
  • Reactions positiondata-reactions-position="top|bottom" places the whole bar together, above or below the comments.
  • Choose your emoji — per widget (data-reactions="👍,❤️,🎉") and a server allowlist (REACTION_OPTIONS).
  • Escalating difficulty — the more reactions an article gets, the harder each new click becomes (base → ceiling).
  • Rate limits + minimum interval — per-article backstop on top of the PoW.
  • Fully themeable — dark mode, accent colors, radius, fonts — same design tokens as the whole widget.
  • Aggregates only — the API exposes counts, never per-visitor data.

Security & privacy

  • Anti-stuffing by cost, not identity — every reaction solves a single-use Proof-of-Work; the server never knows who reacted.
  • Atomic anti-replay — one challenge, one reaction, exactly.
  • Anonymous events — a reaction row is {article, emoji, timestamp}. No user id, no IP, no cookie, no fingerprint.
  • Honest limit — a determined person can react repeatedly (each time paying the PoW); repeated votes by the same person are not detectable by design.