Documents and notes decision
PDF.ai
A capable technical user can reproduce the core PDF->OCR->embed->chat pipeline and a basic UI in about a week; no proprietary moat is evident so self-hosting is realistic.
Visit website↗Not priced
No pricing page we fetched carried a figure, so there is nothing to compare against. The build side is still real.
$50one-off30 h to build
$50/mo6 h/mo upkeep
No published price to break even against.
Open-source builds that already do this
Every project below is open source and already does this job today. Fork one, self-host it, or take the parts you need - the build prompt further down assumes an empty file, and this is the shortcut past that. Licences differ; check the one on each card before you ship. All PDF.ai alternatives, with the arithmetic →
What a replacement has to do
- Upload PDF → extract text/ocr → chunk + embed → query via LLM → return answer and source spans
What it still won’t have
- Polished hosted UI/branding and onboarding flows
- High-availability, horizontal scaling and enterprise SLAs
- Any proprietary models or vendor-managed optimizations
- Built-in payment, team management, and analytics dashboards
What remains hard
- Product polish and ongoing maintenance
First-year cost
No published price
PDF.ai does not publish a price we could read, so there is nothing to compare against. What building costs is below.
Money you would actually spend
Time you would spend
—
What you would spend
What we assumed
The verdict above measures whether you could build it. This one is only about money.
Runnable build prompt
Build a minimal self-hosted PDF chat service using FastAPI, PostgreSQL (+pgvector), Redis (optional), and a React or simple HTMX frontend. Core features: (1) REST endpoint to upload PDFs and store them in S3-compatible storage; (2) pipeline that detects scanned vs text PDFs, runs OCR with PaddleOCR/Tesseract or extracts text with pypdf/pdfminer, normalizes text and splits into chunks; (3) compute embeddings (OpenAI or local embedding model) and store vectors in pgvector; (4) chat/query endpoint that retrieves nearest chunks, constructs a prompt, calls an OpenAI-compatible LLM API, and returns an answer with source spans; (5) minimal UI to upload PDFs and chat with citations; (6) expose simple PDF API endpoints: /parse, /extract, /split. Out of scope: multi-tenant billing, advanced access controls, analytics dashboards, enterprise SLA. Include error handling, retries and tests for upload, extraction, embedding, and query flows.
How we checked
How the score was reached
- Build verdict base78
- An open-source build was found+5
- 3 cited sources+3
- 3/3 assessment runs agreed+4
- Evidence score90
The base comes from the verdict. Everything under it is a check that either happened or did not, and each one is a fact frozen in this record rather than a judgement made at render time - so the same evidence always produces the same number.
How scoring works →Cited sources · 3
Every page the run actually retrieved.
- official productPDF.ai home
- open sourcePaddleOCR repo
- open sourceopendataloader-pdf repo
Integrity checks
What held up, and what did not.




