Web app & API
$20/mo
Vercel · Pro
Next.js app and API routes with preview deploys and no servers to run
vercel.com ↗Users upload PDFs and ask questions; answers are grounded in the documents with page citations, using retrieval-augmented generation.
Good fit: Internal knowledge bases, contract or policy assistants, research tools: up to a few thousand documents per workspace.
Hover or click a part to see what flows between them. Drag to move, use the buttons to zoom.
Vercel · Pro
Inngest · Free
← ingest document from Web app & API
Vercel AI SDK
← built with from Web app & API
LlamaParse · Starter
← PDF → text + pages from Ingestion jobs
OpenAI API · text-embedding-3-small
← chunks from Ingestion jobs · question from Web app & API
Pinecone · Builder
← upsert vectors from Ingestion jobs · top-k search from Web app & API
Supabase · Pro
← users, docs, chats from Web app & API
Cloudflare R2
← uploaded PDFs from Web app & API
Claude API · Claude Sonnet 5.5
← question + passages from Web app & API
Langfuse · Core
← traces from Web app & API
Expected cost at the usage below, and the range from half to double that usage. Worked out from each vendor's current prices and free tiers; your real bill depends on your traffic.
| Part | Pick | Expected / mo | Range |
|---|---|---|---|
| Web app & API | Vercel · Pro | $20/mo | fixed |
| AI framework | Vercel AI SDK | $0 | fixed |
| PDF parsing | LlamaParse · Starter | $50/mo | $50–$225 |
| Embedding model | OpenAI API · text-embedding-3-small | $0.05/mo | $0.01–$0.20 |
| Vector database | Pinecone · Builder | $20/mo | fixed |
| App database | Supabase · Pro | $25/mo | fixed |
| File storage | Cloudflare R2 | $0 | $0–$0.72 |
| Ingestion jobs | Inngest · Free | $0 | fixed |
| Answer model | Claude API · Claude Sonnet 5.5 | $114/mo | $28.60–$458 |
| LLM observability | Langfuse · Core | $29/mo | $29–$31.24 |
| Infrastructure total | $258/mo | $173–$780 | |
Web app & API · Vercel · Pro
AI framework · Vercel AI SDK
PDF parsing · LlamaParse · Starter
Embedding model · OpenAI API · text-embedding-3-small
Vector database · Pinecone · Builder
App database · Supabase · Pro
File storage · Cloudflare R2
Ingestion jobs · Inngest · Free
Answer model · Claude API · Claude Sonnet 5.5
LLM observability · Langfuse · Core
Web app & API
$20/mo
Next.js app and API routes with preview deploys and no servers to run
vercel.com ↗AI framework
$0
Streaming chat UI hooks and one API for every model provider, in TypeScript
ai-sdk.dev ↗PDF parsing
$50/mo
Best table and layout extraction for messy, scanned or multi-column PDFs
llamaindex.ai ↗Embedding model
$0.05/mo
Model: OpenAI text-embedding-3-small
Strong retrieval quality at the lowest per-token price in the catalog
platform.openai.com ↗Vector database
$20/mo
Serverless index with metadata filtering per workspace; no capacity planning
pinecone.io ↗App database
$25/mo
Postgres plus auth and row-level security for per-workspace access
supabase.com ↗File storage
$0
S3-compatible with no egress fees when users open their PDFs
cloudflare.com ↗Ingestion jobs
$0
Durable step functions: a failed embed retries without re-parsing the PDF
inngest.com ↗Answer model
$114/mo
Model: Anthropic Claude Sonnet 5.5 · Intelligence Index 54
Reliable at sticking to the given passages and citing them
anthropic.com ↗LLM observability
$29/mo
Traces plus evals and datasets to measure answer quality
langfuse.com ↗All costs are estimates. Prices are read from each vendor's pricing page and checked every 12 hours (last: Oct 30, 2026); your bill depends on your traffic.
Model quality scores: Intelligence Index by Artificial Analysis.
"Half" and "double" in the ranges scale these numbers.
Set up the app and database
Create the Next.js app, connect the database, add sign-in and a workspaces table so every document belongs to one workspace.
Uses: Web app & API, App database, AI framework
Upload to storage
Upload PDFs straight to object storage with signed URLs and record each file in the documents table.
Uses: File storage, App database
Ingestion pipeline
On upload, start a job: parse to text with page numbers, split into chunks with overlap, embed and upsert with workspace and page metadata. Show progress in the UI.
Uses: Ingestion jobs, PDF parsing, Embedding model, Vector database
Answering
Embed the question, fetch the top chunks for the user's workspace only, and stream an answer that cites document and page.
Uses: Embedding model, Vector database, Answer model, AI framework
Measure quality
Trace every question, collect thumbs up/down, and build a small evaluation set of real questions with expected sources.
Uses: LLM observability
Harden
Rate-limit questions per user, delete vectors when a document is deleted, and re-index when the parser or embedding model changes.
Uses: Web app & API, Vector database
We'll adapt this blueprint to your product, set it up on your accounts and hand it over working, with the monthly bill you saw here.