qrp-0001 · the reviews protocol
Reviews you can actually reason about.
QRP-0001 is the first domain-level protocol built on top of the Quidnug infrastructure. Six signed event types (REVIEW, HELPFUL_VOTE, UNHELPFUL_VOTE, REPLY, FLAG, PURCHASE) plus a topic-scoped trust graph plus a four-factor aggregation formula produce per-observer weighted ratings that carry the whole picture: the number, the confidence, the provenance, and the delta from the crowd average.
- 6 event types
- 3 visualization primitives
- 4 factors in the rating weight
- 5+ drop-in widget adapters
- 2 platform plugins shipped
rating primitives
Three visuals, one data model, zero JS dependencies.
Stars encode one dimension and throw away the rest. The Quidnug primitives encode the rating value, confidence, trust proximity, personalization delta, polarization, freshness, and factor decomposition, without sacrificing glance-ability.
All three primitives render the same underlying data at three information densities. Zero JS dependencies. Full Schema.org JSON-LD carried alongside for SEO.
qn-aurora is the default indicator: a sentiment dot surrounded by a confidence ring, with an optional delta chip. It renders at three sizes (nano for product grids, standard for detail pages, large for heroes) using the same visual vocabulary.
qn-constellation answers why do I see this number: a bullseye of concentric trust tiers, one dot per contributing reviewer, colored by rating, sized by weight. Click a dot to see the exact trust path.
qn-trace is for comparing items side by side: a horizontal stacked bar where width is relative weight and color is rating. You can eyeball "mostly wide solid green" versus "narrow mixed dashed" across a long list.
how it works end-to-end
From a signed event to a rendered rating.
Reviewers publish signed events into a topic-scoped trust graph. The aggregator walks the graph from each observer's perspective, composes a weight for every review, and produces a per-observer effective rating that renders into the visualization primitives.
the four-factor formula
No single factor dominates. Missing any one loses that signal only.
Each review's weight is the product of four independent factors. The aggregation is a weighted average over all reviews with non-zero weight. The formula is boring on purpose: its predictability is the point.
Topical transitive trust (T). From the observer through the trust graph to the reviewer, inside the specific topic domain, capped at 1.0. If no direct edge exists in the topic, the algorithm walks up the parent with a 0.8-per-hop decay.
Helpfulness (H). The ratio of trusted HELPFUL_VOTE signals to UNHELPFUL_VOTE signals on the reviewer's past reviews. Weighted by the same trust graph, recursively, with Laplace smoothing so a single upvote doesn't dominate.
Activity (A). Log-scaled count of prior reviews the author has published in this topic. A signal of domain expertise, not total volume.
Recency (R). An exponential decay on the review's age with a configurable half-life per domain. Defaults: 180 days for technology, 30 days for restaurants, 365 days for books.
why you would bother
Because every existing review system is lying to you by omission.
The collapsed number
Amazon's 4.3 stars is the same 4.3 for the sponsored grifter and the power-user you trust. QRP-0001 shows both, and tells you which one weights more for you, and why.
The sybil farm
Flooding a product with 500 cheap 5-star reviews works because the average is all that matters. Topic-scoped transitive trust makes 500 untrusted reviews contribute exactly zero to your effective rating.
The locked-in identity
Yelp owns your review history. QRP-0001 reviewers own theirs: the quid and its event stream are self-sovereign, portable across every site that speaks the protocol, recoverable by guardian quorum if a key is lost.
drop-in install
One line of HTML. Or your framework of choice.
Five adapters ship today covering every major framework plus plain HTML. Two platform plugins (Shopify, WordPress) wrap the widget so non-engineers can install it from an app store.
reviews-widget
<quidnug-review
product="your-product-id"
topic="reviews.public.technology.laptops"
src="https://widget.quidnug.dev/v2/"
></quidnug-review>
<script src="https://widget.quidnug.dev/v2/loader.js" defer></script> Open the docs → @quidnug/react
import { QuidnugReview } from '@quidnug/react';
<QuidnugReview
product="your-product-id"
topic="reviews.public.technology.laptops"
observer={currentUserQuid}
/> Open the docs → Build a review system your users can argue with.
The rating they see is the rating you computed for them from the trust graph they declared. When they disagree, they can drill into the constellation and see exactly whose weight they want to drop.