Project · Live

Jiddu
Truth is a pathless land. Jiddu is four tools in one for reading any text critically: a fallacy detector, a fact-check pipeline, a neutrality assessment, and a paper explainer that unpacks a dense paper paragraph by paragraph at the reading level you choose. Drop a URL, paste text, or upload a PDF and get a structured read on how the piece argues, what it claims, how it frames its sources, and what each paragraph is actually saying. All four run in the browser, over a REST API, or through a hosted MCP server.
The name is a nod to Jiddu Krishnamurti, who declared in 1929 that truth is a pathless land — no creed, authority, or method can hand it to you; you have to get there yourself. That is the whole point of the tool: it doesn't rule a text true or false for you, it gives you the instruments to read it critically and decide on your own.

What it does
- Fallacy detector. Highlights every passage that contains a logical fallacy, explains each in a Word-style margin comment, and assigns the whole piece a fallacy score from 0 to 100. Streams results progressively while the LLM is still writing. 28-fallacy catalog with a per-fallacy modal and a guide page at
/fallacies. - Fact-check. Pulls every verifiable claim (numbers, dates, quotes, causal and categorical assertions) out of the same text using a Claimify-style 4-stage pipeline. Each claim can then be sent through Perplexity Sonar Reasoning Pro for a verdict (
supported/contradicted/mixed/unverified), with citations classified into a 6-tier source-quality taxonomy. - Neutrality assessment. Flags the framing, attribution and source-selection patterns that make a text partisan even when it doesn't commit any explicit fallacy and doesn't lie about facts. Eight issue types: loaded language, asymmetric attribution, false equivalence, selective omission, source asymmetry, both-sidesing, steering, genetic framing. Deliberately does not classify partisan direction; the goal is to surface patterns the reader can audit.
- Paper explainer. Turns a dense paper or technical document into a plain-language read. Generates a whole-document overview first, then walks it paragraph by paragraph, tagging each with its role in the argument (
Background,Objective,Method,Result,Interpretation,Limitation,Conclusion) and rewriting it at the reading level you pick — from child (ELI5, everyday analogies, no jargon) through high school and undergraduate up to expert (concise, peer-level, full terminology retained). Results live at/e/[id].
API & MCP access
All four analyses are available programmatically, not just in the browser — so you can wire Jiddu into your own pipelines or hand it to an AI agent. Full docs at jiddu.app/api-access.
- REST API. Four synchronous JSON endpoints —
/api/v1/detect-fallacies,/api/v1/fact-check,/api/v1/assess-neutrality, and/api/v1/explain. Each takes a{ text }body (40–2000 chars) with optionallang(en / pt / es) and, for the paper explainer, alevel. - Key-based auth. Keys are admin-issued (hashed, shown once) and passed in the
X-Jiddu-Keyheader. Rate limits are per-key and return429with retry timing; fact-check additionally caps claims verified per request. - MCP server. A hosted Model Context Protocol endpoint at
/api/mcpexposes the same four tools to any MCP client via the publicmcp-remotebridge — nothing to install. A standalonepackages/jiddu-mcppackage is available for local/offline use.
Methodology
The fact-check and neutrality pipelines are grounded in two recent papers:
- Claimify (Metropolitansky & Larson, Microsoft Research 2025) for the 4-stage claim extraction.
- Distilling Expert Judgment at Scale (Goldfarb, Hall, Fisher, Salam, Wilde; Forum AI / Stanford 2025) for the verdict assessment, the 6-tier source-quality taxonomy, and the neutrality framework.
Jiddu is not affiliated with either group.
Stack
- Next.js 16 (App Router, Turbopack) + React 19 + TypeScript + Tailwind 4.
- Prisma 7 with
@prisma/adapter-better-sqlite3. SQLite file persisted in a Docker volume. - Multi-model via OpenRouter: GPT-5.4 mini as default, MiniMax M2.7 as a one-click alternative, Sonar Reasoning Pro for fact-check verification. Client-side fallback retries across the model chain if no SSE events have been emitted yet.
- Streaming via server-side
ReadableStreamemitting SSE;partial-jsonfor incremental finding extraction so comments appear as the model writes them. - Trilingual UI (EN / PT-BR / ES) with browser-language detection on first visit and localStorage persistence. The LLM is also instructed to write in the chosen language.
Things worth noting
- Verdict cache with per-type TTL. Claims are hashed (lang-prefixed sha256 of the normalized statement) and persisted. Numeric claims expire after 30 days, quotes and causal claims after 90, dates and categorical claims after 365. Re-verification is free for cached claims.
- SSRF-protected URL ingestion. Every fetch hop is DNS-resolved and rejected if it lands on RFC1918, loopback, link-local, CGNAT, multicast, or reserved IPv4/IPv6 ranges (covers the cloud metadata
169.254.169.254). Body size capped at 5 MB. - Print-optimized companion routes. Every viewer (
/a/[id],/f/[id],/n/[id]) has a/printsibling that auto-triggers the browser print dialog so the user can save as PDF. - Admin panel with a feedback queue ("report wrong verdict"), metrics (verdict distribution, per-pipeline volume, cache state), runtime-tunable rate limits and cost caps, and a one-click "mark as reviewed" toggle that removes the yellow "not yet human-reviewed" banner from public viewers.
Status
Live at jiddu.app. Source is open under AGPL-3.0 at rafaehlers/jiddu. Try the demos in EN, PT, or ES without spending a token: /a/demo-en, /f/demo-pt, /n/demo-es.