Qualified Notes on Papers

Jeder Kommentar sitzt.
Jedes Review wird fertig.

Zeilengenaue Dokumentenprüfung — fertig erst, wenn nichts mehr offen ist.

Eine Workflow-Szene rund um die Überschrift: ein gerendertes Dokument mit markierter Passage und verankerter Annotation, eine Kommentar-Sprechblase, ein Versionssprung mit neu verankerten Annotationen, eine angenommene Entscheidung und eine Abschluss-Karte mit null offenen Annotationen — verbunden durch eine fließende Linie, mit den Avataren der Prüfer am Weg.

Ihr kennt den Ablauf, in dem ihr feststeckt.

Dokumentenprüfung passiert meistens in den Lücken zwischen den Werkzeugen — und jede Lücke kostet einen Kommentar, eine Version oder einen Nachmittag.

  • Ohne qnop: Das Dokument geht als Mail-Anhang raus.

    Fünf Prüfer, fünf Kopien, fünf Kommentarstände, die jemand von Hand zusammenführen darf.

    Mit qnop: Ein Dokument, ein Review, alle Prüfer am selben Ort.

  • Ohne qnop: Feedback kommt als „Seite 4, zweiter Absatz, dritte Zeile“.

    Wer es einarbeitet, sucht die Stelle länger, als er sie am Ende ändert.

    Mit qnop: Annotationen hängen exakt an den Zeilen und Bereichen, die gemeint sind.

  • Ohne qnop: Eine neue Version macht alle bisherigen Kommentare heimatlos.

    Also aktualisiert lieber niemand das Dokument, bevor das Review durch ist.

    Mit qnop: Neue Versionen verankern bestehende Annotationen neu, statt sie fallen zu lassen.

  • Ohne qnop: Niemand kann sagen, ob das Review tatsächlich fertig ist.

    „Fertig“ heißt: Jemand hat aufgehört zu antworten — nicht: Die Arbeit ist abgeschlossen.

    Mit qnop: Ein Review lässt sich nur abschließen, wenn null Annotationen offen sind.

Präzision, wo sie zählt. Struktur, wo es wehtut.

Drei Dinge tragen die Last: exakte Verankerung, Diskussion, die an der Stelle bleibt, und Versionen, die das Gespräch am Leben halten.

Die Zeile markieren, nicht die Seite.

Exakte Zeilen und Bereiche eines gerenderten PDFs auswählen und in Markdown-Threads kommentieren. Die mehrschichtige Verankerung speichert Textzitat, Position und Layout — damit eine Annotation weiter auf das zeigt, was gemeint ist, und nicht auf eine Koordinate, die heute zufällig passt.

  • Zeilen- und bereichsgenaue Auswahl
  • Markdown-Kommentare mit Reaktionen
  • Sprung zwischen Dokument und Diskussion
Annotation, verankert an einer markierten Passage

Diskussion, die an der Stelle bleibt.

Jede Annotation bringt ihren eigenen Thread mit: Antworten, Reaktionen und einen Status, der etwas bedeutet. Offen, diskutiert, dann angenommen oder abgelehnt — die Entscheidung steht an der Passage, um die es ging, und nicht in irgendeinem Postfach.

  • Antwort-Threads pro Annotation
  • Annehmen oder Ablehnen als explizite Entscheidung
  • Auf Wunsch anonymisierte Prüferidentitäten
Ein abgeschlossener Annotations-Thread

Eine neue Version behält das Gespräch.

Inhaltliche Änderungen erzeugen eine neue, unveränderliche Version — alte werden nie überschrieben. Bestehende Annotationen werden per Fuzzy-Matching auf die neue Version neu verankert, und ein Versionsvergleich zeigt genau, was sich verschoben hat.

  • Unveränderliche, vollständig erhaltene Versionshistorie
  • Fuzzy-Neuverankerung über Versionen hinweg
  • Diff zwischen Versionen für die Vergleichsansicht
Annotationen, über einen Versionswechsel getragen

Ein Review, das euch sagen kann, dass es fertig ist.

qnop modelliert Reviews als explizite Zustandsmaschine — nicht als Konvention, an die sich bitte alle halten mögen. Der Endzustand ist unerreichbar, solange Arbeit offen ist.

  1. Offen

    Eine Annotation sitzt an einer Passage und gehört dem, der sie beantworten muss.

  2. Diskutiert

    Der Thread läuft: Antworten, Reaktionen und der Kontext, um zu entscheiden.

  3. Angenommen / Abgelehnt

    Die Entscheidung steht an der Annotation selbst und landet im Audit-Trail.

  4. Abgeschlossen

    Erreichbar nur bei null offenen Annotationen. Nichts fällt still von der Liste.

Review als Sport

Review-Leistung, endlich sichtbar.

Reviewen ist die Arbeit, die niemand einplant. qnop macht den Aufwand lesbar: Serien, Ranglisten, Achievements und Spielerkarten machen aus abgeschlossenen Reviews eine Gewohnheit statt einer Pflichtübung.

  • Spielerkarten

    Ein Profil, das zeigt, was jemand tatsächlich zu Reviews beigetragen hat.

  • Serien & Missionen

    Sichtbarer Schwung — auf dem Dashboard, wo die Arbeit ohnehin liegt.

  • Team-Stufen

    Fortschritt und Rangfolge pro Team, verdient aus echter Review-Aktivität.

Profilkarte einer Prüferin mit Serie und Achievements

Eure Dokumente bleiben unter eurer Kontrolle.

qnop ist zuerst self-hosted gebaut: ein Container mit REST-API und eingebetteter Web-UI, PostgreSQL und ein beliebiger S3-kompatibler Objektspeicher — auf eurer eigenen Infrastruktur.

  • qnop API + Web-UI
  • PostgreSQL relationale Daten
  • S3-kompatibler Objektspeicher Dokumente

eure Infrastruktur

Keine unsicheren Defaults

Der Server startet gar nicht erst, wenn ein benötigtes Secret fehlt oder noch ein Platzhalter ist. Es gibt keine „läuft erst mal“-Konfiguration, die man vergessen könnte.

Anmeldung für Unternehmen

Lokale Konten mit E-Mail-Verifizierung oder OIDC Single Sign-on. JWT-Sessions mit rotierenden Refresh-Tokens und ratenbegrenzten Auth-Endpunkten.

Nachvollziehbar von Haus aus

Jede relevante Aktion landet im Audit-Trail — einsehbar über eine eigene Auditor-Rolle, die genau dafür existiert.

Rollen, die zur Realität passen

Globale Rollen für Administration, Mitglieder und Auditoren, dazu Team-Leads — und Reviews, die auf Wunsch mit anonymisierten Prüferidentitäten laufen.

Schließt das Review ab. Diesmal wirklich.

Self-hosted, zeilengenau — und fertig, wenn es fertig sagt.