System Overview. (a) The user provides a PDF, URL, or natural-language query. (b) A web-surfer agent browses for the paper. (c) Text and images are extracted. (d) An LLM converts the content into a role-labeled DAG. (e) The frontend renders an interactive graph. (f) Web agents verify each node using external sources. (g) Trust-gated propagation flows along dependency edges. (h) The scorer aggregates signals into an overall paper-level score.
Plato's Cave helps you comprehend dense academic material by analyzing PDFs and URLs using progressive AI assistance. Like emerging from Plato's allegorical cave into enlightenment, this tool illuminates the shadows of academic literature, uncovering key insights, visualizations, and summaries.
Deployed interface. Plato's Cave showing a finalized run with the visualized DAG and Integrity Score.
Plato's Cave runs a multi-stage pipeline to evaluate the integrity of a research paper:
- Validate -- accepts a PDF upload or URL, extracts the full text
- Decompose -- breaks the paper into atomic claims using an LLM
- Build Knowledge Graph -- structures claims as a directed acyclic graph (DAG) with role-aware nodes (Hypothesis, Evidence, Method, Conclusion)
- Organize Agents -- dispatches browser-based AI agents to independently verify each claim against external sources
- Compile Evidence -- aggregates agent findings, scoring each node on six dimensions (credibility, relevance, evidence strength, method rigor, reproducibility, citation support)
- Evaluate Integrity -- propagates trust through the graph using role-aware edge confidences and trust gating, producing a final integrity score
The scoring mathematics are documented in detail here.
System Architecture. Gatsby.js + React frontend, Python scoring backend, and Docker containers with browser-use verification agents, deployed via AWS EC2.
Try the live deployment at platoscave.matheus.wiki, or run it locally:
- Node.js and npm
- Python 3.10+
- uv (Python package manager)
- Docker
- API keys for Browser-Use and Exa
cd frontend
npm install
gatsby developIf gatsby is not found, use npx gatsby develop. The dev server starts at http://localhost:8000.
In a separate terminal:
cd backend
uv sync
source .venv/bin/activateCreate a .env file in the backend/ directory with your API keys:
BROWSER_USE_API_KEY="bu_YOURKEY"
EXA_API_KEY="YOURKEY"
Then start the server:
python server.pyIn a third terminal:
cd backend
docker compose -f docker-compose.browser.yaml up --build remote-browserOnce you have all three separate terminals running, you can access the application at http://localhost:8000
🔢 Scoring Mathematics Located Here
Copyright © 2025 Matheus Kunzler Maldaner. All Rights Reserved.
This project is licensed under the Plato's Cave Research and Academic Use License.
See LICENSE.md for complete terms and conditions.
If you use this software in academic research, please cite:
@article{maldaner2026platoscave,
author = {Maldaner, Matheus Kunzler and Valle, Raul and Kim, Junsung and Sultan, Tonuka and Bhargava, Pranav and Maloni, Matthew and Courtney, John and Nguyen, Hoang and Sawant, Aamogh and O'Connor, Kristian and Wormald, Stephen and Woodard, Damon L.},
title = {Plato's Cave: A Human-Centered Research Verification System},
year = {2026},
eprint = {2603.23526},
archivePrefix = {arXiv},
url = {https://arxiv.org/abs/2603.23526}
}