ChatPDF docs
ChatPDF turns uploaded PDFs into searchable, cited conversations. This is how the product works and how to run it yourself.
Frontend
Next.js App Router
Backend
Convex
Auth
Clerk
What ChatPDF is
ChatPDF is a protected document workspace for uploading PDFs, indexing their contents, and asking questions against the evidence inside those files. Answers stay grounded in the uploaded documents instead of generic model knowledge, and every claim can be traced back to a page.
For readers
Upload research papers, contracts, manuals, or reports and ask questions in natural language.
For builders
Run it on Next.js, Convex, Clerk, OpenAI, and Mistral OCR.
The core loop
Every document moves through the same path: it is uploaded, processed into searchable evidence, and then queried with grounded, cited answers.
- 01Upload a PDFThe dashboard accepts text-based and scanned PDFs up to 100 pages.
- 02Process the documentEvery file is OCR'd with Mistral OCR 4, then chunked, embedded, and summarized.
- 03Ask questionsA router picks a retrieval strategy, hybrid search finds evidence, and the answer streams in.
- 04Verify citationsEach answer points back to verbatim, page-level source material in the PDF viewer.
How it fits together
A Next.js frontend talks to a Convex backend that owns the database, server functions, background OCR jobs, and the streaming chat endpoint. External AI and storage services are called from Convex.