explaingit

reinventinglikes/relikes

Analysis updated 2026-05-18

2JavaScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A JavaScript library that lets readers Like or Dislike specific passages of text on a page, not just the whole page.

Mindmap

mindmap
  root((Re Likes))
    What it does
      Passage level reactions
      Like and dislike marks
      Aggregate heatmap
    Tech stack
      JavaScript
      TypeScript
      PHP backend
    Use cases
      Blog reactions
      WordPress sites
      Custom backends
    Audience
      Web developers
      WordPress site owners
    Backends
      Local storage only
      PHP example backend
      Custom protocol backend

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add passage-level Like and Dislike reactions to a blog or article page.

USE CASE 2

Show readers a heatmap of which parts of an article got the most reactions.

USE CASE 3

Add reaction support to a WordPress site using the included plugin.

USE CASE 4

Build a custom backend using the documented sync protocol to store reactions.

What is it built with?

JavaScriptTypeScriptPHPWordPress

How does it compare?

reinventinglikes/relikes3imed-jaberi/cryptography-si-isamm3imed-jaberi/koa-isomorphic-router
Stars222
LanguageJavaScriptJavaScriptJavaScript
Last pushed2021-09-252021-02-06
MaintenanceDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/51/52/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Local reactions work with no backend, but syncing across users needs a server implementing the documented protocol.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Re:Likes is a JavaScript library that lets website visitors react to specific passages of text with a Like or Dislike, instead of only being able to react to a whole page at once. A reader selects or paints across a piece of text, adds their reaction, can partially erase it later, and can switch between viewing their own marks or a combined heatmap showing how everyone reacted to that passage. It runs in the browser and depends on a companion project called Clean Selection to handle the text selection logic. The library is meant to be dropped into a webpage. You can load it as two separate script files alongside Clean Selection, install both through npm, or use a single standalone minified file that bundles everything together. It creates a global object in the browser and ships with TypeScript type definitions for anyone using it in a typed project. On its own, Re:Likes works locally in the browser using localStorage, with no server needed. To sync reactions across visitors and show aggregate heatmaps, it needs a backend that follows a documented JSON protocol. The project includes a simple example backend written in PHP that stores data in JSON files with signed anonymous sessions, rate limits, and basic safeguards, though it is described as fit for demos and modest traffic rather than large scale production use. There is also a maintained WordPress plugin with its own REST API and database tables, distributed as a downloadable zip from the project's releases page. Documentation covers the public API, configuration options, the sync protocol, internal architecture, and privacy considerations, since a connected backend can receive document identifiers, text positions, and a reader identity. The project is created by a developer using the handle kotoverse and is released under the MIT license, which allows free use including commercial use as long as the copyright notice is kept.

Copy-paste prompts

Prompt 1
Help me add the Re:Likes script and Clean Selection dependency to my article page's HTML.
Prompt 2
Show me how to configure Re:Likes so readers can toggle between their own marks and the aggregate heatmap.
Prompt 3
Walk me through installing the Re:Likes WordPress plugin from the release zip.
Prompt 4
Explain the JSON sync protocol I need to implement to run my own Re:Likes backend.

Frequently asked questions

What is relikes?

A JavaScript library that lets readers Like or Dislike specific passages of text on a page, not just the whole page.

What language is relikes written in?

Mainly JavaScript. The stack also includes JavaScript, TypeScript, PHP.

What license does relikes use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is relikes to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is relikes for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.