Projects

Project · Live

Ink-on-bone engraving: a magnifying glass and a small balance scale resting over an open page of ruled text with indigo margin marks, and a footpath drawn into the page dissolving into nothing — instruments of discernment reading a text critically.

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.

Jiddu homepage at jiddu.app: light UI with the headline 'Read any text with a critical mind in the margin.' A sidebar lists the four lenses — Fallacy detector, Fact-check, Neutrality, Explain — each with a 'See a demo' link, and the composer below offers URL, paste text, PDF/TXT, or live input with a model picker between GPT-5.4 mini and MiniMax M2.7. A benchmark panel reports the fact-check pipeline matching human verdicts on 81.3% of PolitiFact-labeled claims.

What it does

  1. 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.
  2. 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.
  3. 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.
  4. 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 optional lang (en / pt / es) and, for the paper explainer, a level.
  • Key-based auth. Keys are admin-issued (hashed, shown once) and passed in the X-Jiddu-Key header. Rate limits are per-key and return 429 with retry timing; fact-check additionally caps claims verified per request.
  • MCP server. A hosted Model Context Protocol endpoint at /api/mcp exposes the same four tools to any MCP client via the public mcp-remote bridge — nothing to install. A standalone packages/jiddu-mcp package 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 ReadableStream emitting SSE; partial-json for 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 /print sibling 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.

Built with

Next.js 16React 19TypeScriptPrismaOpenRouter