Qualified Notes on Papers

Every comment lands.
Every review closes.

Line-precise document review — finished only when nothing is left open.

A workflow scene around the headline: a rendered document with a highlighted passage and an anchored annotation, a reviewer's comment bubble, a version hop with its annotations re-anchored, an accepted decision, and a finalized card with zero open annotations — connected by a single flowing line, with the reviewers' avatars along the way.

You already know the workflow you are stuck with.

Document review usually happens in the gaps between tools — and every gap costs a comment, a version, or an afternoon.

  • Without qnop: The document goes out as a mail attachment.

    Five reviewers, five copies, five sets of comments that have to be merged by hand.

    With qnop: One document, one review, every reviewer in the same place.

  • Without qnop: Feedback arrives as “page 4, second paragraph, third line”.

    Whoever fixes it spends longer finding the passage than changing it.

    With qnop: Annotations are anchored to the exact lines and regions they mean.

  • Without qnop: A new version orphans every comment on the old one.

    So the safe move is to not update the document until review is over.

    With qnop: New versions re-anchor existing annotations instead of dropping them.

  • Without qnop: Nobody can say whether the review is actually done.

    “Done” means someone stopped replying to the thread, not that the work closed.

    With qnop: A review can only be finalized when zero annotations are open.

Precision where it matters, structure where it hurts.

Three things do the heavy lifting: exact anchoring, discussion that stays attached, and versions that keep the conversation alive.

Mark the line, not the page.

Select exact lines and regions of a rendered PDF and comment in Markdown threads. Multi-layer anchoring stores the text quote, the position, and the layout — so an annotation keeps pointing at what it means, not at a coordinate that happens to be there today.

  • Line- and region-precise selection
  • Markdown comments with reactions
  • Jump between document and discussion
Annotation anchored to a selected passage

Discussion that stays attached.

Every annotation carries its own thread: replies, reactions, and a status that means something. Open, discussed, then accepted or rejected — the decision lives on the passage it was made about, not in someone's inbox.

  • Threaded replies per annotation
  • Accept or reject as an explicit decision
  • Optional anonymized reviewer identities
A resolved annotation thread

A new version keeps the conversation.

Content changes create a new immutable version — old ones are never mutated. Existing annotations are re-anchored onto the new version by fuzzy matching, and an inter-version diff shows exactly what moved.

  • Immutable, fully-retained version history
  • Fuzzy re-anchoring across versions
  • Inter-version diff for the compare view
Annotations carried across a version bump

A review that can tell you it is finished.

qnop models review as an explicit state machine, not as a convention people are asked to follow. The final state is unreachable while work is outstanding.

  1. Open

    An annotation is placed on a passage and belongs to whoever must answer it.

  2. Discussed

    The thread runs: replies, reactions, and the context needed to decide.

  3. Accepted / Rejected

    The decision is recorded on the annotation itself and enters the audit trail.

  4. Finalized

    Reachable only at zero open annotations. Nothing quietly falls off the list.

Reviews as a sport

Review throughput, finally visible.

Reviewing is the work nobody schedules. qnop makes the effort legible: streaks, scoreboards, achievements and player-card profiles turn finishing reviews into a habit rather than a chore.

  • Player cards

    A profile that shows what someone actually contributed to reviews.

  • Streaks & missions

    Momentum you can see, on the dashboard where the work already is.

  • Team tiers

    Per-team progress and leadership ranks, earned from real review activity.

A reviewer profile card with streak and achievements

Your documents stay under your control.

qnop is built self-hosted first: one container running the REST API and the embedded web UI, PostgreSQL, and any S3-compatible object storage — on your own infrastructure.

  • qnop API + web UI
  • PostgreSQL relational data
  • S3-compatible object storage documents

your infrastructure

No insecure defaults

The server fails fast when a required secret is missing or still a placeholder. There is no “works for now” configuration to forget about.

Enterprise sign-in

Local accounts with e-mail verification, or OIDC single sign-on. JWT sessions with rotating refresh tokens and rate-limited auth endpoints.

Accountable by default

Every relevant action lands in the audit trail, inspectable by a dedicated auditor role that exists for exactly this.

Roles that match reality

Global admin, member and auditor roles plus per-team leads — and reviews that can run with anonymized reviewer identities when the process demands it.

Close the review. For real this time.

Self-hosted, line-precise, and finished when it says it is finished.