Skip to content
Pocket Homelab
Get the appComing soon to the App Store

Pocket Review

v0.6.0 · Self-hosted · MIT

Review a document together, sign it off properly.

Pocket Review is peer review for PDFs on your own server. Pin comments, questions and issues to the page, resolve or reject them, turn them into tasks, and finish with a strict sign-off. A report shows who read what, for how long, and what they found.

A contract on an iPhone: page 2 with a highlighted clause and an issue pin, the threads belowA contract on an iPhone: page 2 with a highlighted clause and an issue pin, the threads below

Review

Comments that point at something.

Select text and press Comment, or draw a box on the page. Open a thread and the document jumps to its page and highlights the passage, with resolve, reject and make task right there.

A contract under review: a termination clause highlighted on page 2 and the minor issue about it in the thread listA contract under review: a termination clause highlighted on page 2 and the minor issue about it in the thread list

Threads

Issues that get resolved or rejected.

A thread is a comment, a question or an issue marked minor, major or critical. Reply with text or a pasted screenshot, resolve it, reject it with a reason, or reopen it later.

  • Turn any thread into a task with an assignee and a due date
  • Filter by who started a thread; the pins follow the filter
  • New comments and state changes appear on everyone's screen live
A minor issue on an iPhone: the quoted clause, a linked task for Alex, the comment, and resolve, reject or make taskA minor issue on an iPhone: the quoted clause, a linked task for Alex, the comment, and resolve, reject or make task

Revisions

See exactly what changed.

Upload v2 and open threads carry over while everyone looks again. Compare any two revisions side by side: words taken out in red on the left, words put in green on the right.

  • A count of changes with next and previous
  • One zoom for both sides, and scrolling stays in sync
  • Older revisions stay viewable with their own threads
Two revisions of a contract side by side: thirty days removed on the left, forty-five days added on the rightTwo revisions of a contract side by side: thirty days removed on the left, forty-five days added on the right

Report

Review time that means something.

The server keeps the clock, and time counts only while the document is open and someone is active. The report adds up time, coverage, issues by severity, the sign-off and every thread.

  • A people-by-pages heatmap shows the pages nobody read
  • Pages per hour and issues per page from the same numbers
  • Download it as a PDF, the log and comments as CSV
The review report: review time, issues open and found, coverage, the waiting approver and issues by severityThe review report: review time, issues open and found, coverage, the waiting approver and issues by severity

And the rest of it

  • A real decision

    Reviewers finish with looks good, needs changes or reject. Approvers approve, request changes or reject, and approval waits until every issue is closed unless you turn that rule off.

  • Only the people on it

    Each review has an owner, approvers, reviewers and observers. Anyone not on the review gets a 404, admins included.

  • Everything is logged

    Uploads, comments, replies, verdicts, decisions and reading sessions go into an append-only log you can filter and download.

  • Live presence

    See who has the document open and on which page, jump to their page, and follow their cursor if you want.

Install

One container, one volume.

Run the image and open it; the first account becomes the admin. Behind HTTPS set BASE_URL and SECURE_COOKIES=true. The live channel is a WebSocket, which Caddy, Traefik and nginx pass through with the usual upgrade headers.

On a Pocket Box it is already installed and people sign in with Pocket Core.

Every setting in the README →

docker run -d --name pocket-review -p 8080:8080 \
  -v ./data:/data \
  ghcr.io/abjelosevic88/pocket-homelab-review:latest