PaperPilot

AI research assistant for deep literature search and automated report generation.

LangGraph
React
Node.js
PostgreSQL
pgvector
Neo4j

Results

  • Processed 500+ research papers
  • Automated summarisation and parallel retrieval reduced manual analysis time by ~60%

Problem

Literature review is slow, manual work: finding relevant papers, reading them one by one, comparing findings, and writing up a coherent report takes days of effort for every new research question.

Why I built it

To compress that workflow into an automated pipeline — ask a research question, get parallel retrieval across hundreds of papers, and receive a synthesized, evidence-backed report.

Architecture

  1. Query

    The researcher submits a question. It is normalized into a research plan: key topics, search terms, and inclusion criteria.

  2. Planner

    A LangGraph planner breaks the question into parallel research threads so independent topics are investigated concurrently rather than sequentially.

  3. Parallel research agents

    Agents run side by side across four retrieval paths: literature retrieval (paper sources), semantic search over pgvector embeddings, knowledge-graph traversal in Neo4j, and per-paper summarization.

  4. Evidence aggregation

    Retrieved passages, summaries, and graph relationships are merged, deduplicated, and ranked so the strongest evidence survives.

  5. Report generation

    A final synthesis step turns the aggregated evidence into a structured report with automated summarisation of each source.

LLM reasoning (planning, summarization, synthesis) is kept separate from retrieval (vector search, graph search, literature fetch) so each layer can be tuned and debugged independently.

Engineering challenges

  • Keeping parallel retrieval pipelines consistent — concurrent agents can return overlapping or contradictory evidence that must be merged deterministically.
  • Balancing recall and precision across two very different retrieval systems: dense vector search (pgvector) for semantic similarity and graph traversal (Neo4j) for citation and concept relationships.
  • Making long multi-agent runs observable and resumable instead of a black box.

Lessons learned

  • Separate orchestration (LangGraph) from retrieval and from synthesis — each fails in different ways and needs different retries.
  • Vector search plus a knowledge graph beats either alone for research: embeddings find similar work, the graph explains how work connects.

Screenshots

PaperPilot screenshotPaperPilot screenshotPaperPilot screenshot