PJQ — Public Judgment Quotient
Observatory of public media reception: classify YouTube comments for mood, support and controversy.
Open source Repository Open in the app JSON README (API)
About
Observatory of public media reception: classify YouTube comments for mood, support and controversy.
Details
- Kind
- MCP servers
- Topic
- Government & public data
- Publisher
- life.pjq
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.0
- Last push
- 2026-06-10T17:55:14Z
- Repository state
- ativo
- Language
- TypeScript
- License
- Apache-2.0
- Added
- 2026-08-29 04:01:48
- Updated
- 2026-08-29 04:01:48
- Origin id
life.pjq/pjq
README
# PJQ — Public Judgment Quotient
> A seismograph for public opinion. PJQ measures **how an audience actually
> received** a piece of media — separating genuine opinion from fan noise, bots,
> and self-promoters.
**Live:** [pjq.life](https://pjq.life) · **License:** Apache-2.0
---
## What this is
PJQ takes the URL of a piece of content (YouTube today; Reddit, Telegram, and
News next), samples the comments under it, and classifies every comment against
a **7-category stance rubric**. The output is a *verdict*: a numeric reception
score (`mood`) plus a structured breakdown — how many people substantively
agreed, how many pushed back, how many stayed neutral, and how much noise is
drowning the signal.
Think of it as an **observatory of media reception**, exposed over two
transports on one core:
- a **REST API** (`/api/v1/*`) for analytics automation, and
- an **MCP server** (`/mcp/`) so AI agents (Claude Desktop and friends) can run
analyses and read verdicts directly inside a chat.
## What's in this repository
This repo is the **open client + specification** of PJQ. The hosted analysis
**engine** (sampling, classification, QA, the ONNX stance model and the prompt
internals) stays closed — it is the product's moat. What's open here is
everything you need to *use*, *integrate with*, and *understand* PJQ:
```
web/ — the full web client (React + TypeScript + Vite SPA, 5 languages)
spec/ — the conceptual specification
├── CONCEPT.md what PJQ is and why
├── RUBRIC.md the 7-category stance rubric (definitions)
├── domains.yaml the 11-domain content taxonomy
├── FEATURED.md the open, automatic showcase-ranking formula
└── verdict-schema.md the shape of a verdict (API output)
docs/ — integration reference
├── api-reference.md REST API surface
├── mcp-reference.md MCP tools and schemas
└── user-guide/ end-user guide (EN + RU)
```
## The 7-category rubric (in one breath)
Every comment gets **exactly one** of: **SUP** (substantive support),
**AGA** (substantive against), **NEU** (neutral), **OFF** (off-topic),
**THIN** (thin positive — praise without an argument), **SUS** (inorganic —
bot / paid / coordinated), **AGN** (own agenda — the comment is a vehicle for
the author's external goal).
**Reporting rule:** opinion metrics (`mood`, `support`) are computed *strictly*
from SUP / AGA / NEU. THIN / OFF / SUS / AGN are counted separately and never
inflate support percentages. See [`spec/RUBRIC.md`](spec/RUBRIC.md).
## Running the web client
The client is a standard Vite SPA. By default it talks to the hosted backend at
`pjq.life` (same-origin in production).
```bash
cd web
npm install
npm run dev # dev server with hot reload
npm run build # production build (with build-time SEO prerender) -> dist/
```
To point the client at a different backend, copy `web/.env.example` and set
`VITE_API_BASE`.
## Integrating
- **REST API** — get an API key from the **Cabinet** on [pjq.life](https://pjq.life),
then see [`docs/api-reference.md`](docs/api-reference.md). Read-only tools cost
no credits; a full analysis costs one credit.
- **MCP** — point an MCP-capable client at `https://pjq.life/mcp/` and see
[`docs/mcp-reference.md`](docs/mcp-reference.md) for the exported tools.
Comment raw texts are **never** returned over the API — only aggregates,
percentages, and a small set of representative exemplars, per PJQ's privacy
policy.
## Status
PJQ is live and in active development. The roadmap is public at
[pjq.life/flightlog](https://pjq.life/flightlog). This repository tracks the
client and the spec; engine changes ship to the hosted service.
## License
Copyright 2026 PJQ (github.com/Makaric). Licensed under the Apache License,
Version 2.0 — see [`LICENSE`](LICENSE).
*Русская версия: [README_RU.md](README_RU.md).*