Open infrastructure for transparent research quality signals.
PeerLens helps researchers, reviewers, and institutions assess papers with explainable automated checks — not a single opaque score. It fetches metadata from open sources (Crossref, arXiv), runs pluggable quality signal checkers, and returns a structured report you can inspect, extend, and fork.
Decision support for science, not a proprietary credit rating.
- Ingest papers by DOI or arXiv ID (URL formats supported)
- Auto-fetch arXiv PDFs and extract section headings (methods, results, etc.)
- Upload PDFs for full-text artifact and section analysis
- Run automated quality signals: metadata completeness, Crossref retraction checks, code/data artifact links
- RAG Q&A — ask questions about a paper with cited excerpts (
POST /api/v1/papers/ask) - Expose a FastAPI service, CLI, and web UI
- Python 3.11+
- pip (or uv)
git clone https://github.com/LordKay-sudo/peerlens.git
cd peerlens
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .envpeerlens serve --reloadOpen http://localhost:8000/docs for interactive API docs.
In a second terminal:
cd web
npm install
npm run devOpen http://localhost:3000. The frontend proxies /api/* to the FastAPI backend on port 8000.
peerlens analyze 10.1038/nature12373
peerlens analyze 2301.07041Requires OPENAI_API_KEY in .env.
curl -X POST http://localhost:8000/api/v1/papers/ask \
-H "Content-Type: application/json" \
-d '{"identifier": "2301.07041", "question": "What methods does this paper use?"}'After analyzing a paper in the web UI, use the Ask this paper panel below the report.
peerlens/
├── src/peerlens/ # FastAPI backend
│ ├── api/ # FastAPI routes
│ ├── services/
│ │ ├── ingestion/ # DOI (Crossref), arXiv metadata fetchers
│ │ ├── signals/ # Pluggable quality checkers
│ │ └── reports.py # Orchestrates ingest → signals → report
│ └── models/ # Pydantic schemas
└── web/ # Next.js frontend (React, Tailwind, Framer Motion)
Signal checkers implement a small interface (SignalChecker) and return structured QualitySignal objects — each with an ID, severity (info / warning / concern), message, and optional evidence span.
- PDF ingestion and section-aware extraction
- RAG over paper + references
- LLM-assisted claim / method extraction (opt-in, traced)
- Human review rubric API (blinded expert scores)
- Evaluation harness on known retractions / replication failures
- Plugins for Zotero, OpenReview, institutional repos
PeerLens v0.1 analyzes metadata only (title, abstract, authors, dates). Absence of a warning is not endorsement. Automated signals are heuristics — always pair with expert judgment for high-stakes decisions.
Issues and PRs welcome. See GitHub Issues for planned work.
MIT — see LICENSE.
Built by LordKay.


