← Back to portfolio

Project

DocuMind

Semantic document intelligence for PDFs.

Live demoGitHub

What it does

DocuMind turns a static PDF into a searchable, queryable knowledge source:

How it works

  1. PDF upload — POST /api/documents accepts a multipart/form-data upload. The file is rejected unless it is a non-empty PDF no larger than 10 MB.
  2. Text extraction — the PDF buffer is parsed page by page, and the text items of each page are concatenated. Pages without extractable text produce an explicit ingestion error.
  3. Page-aware chunking — each page's text is whitespace-normalized and split into chunks of up to 1200 characters with a 200-character overlap, so a chunk never spans pages and page numbers remain accurate.
  4. Semantic embeddings — every chunk is embedded into a dense float vector. Embeddings are generated with bounded concurrency so ingestion stays within provider rate limits.
  5. MongoDB storage — chunks (with their vectors) and the document metadata are persisted, each tied to the owning userId.

Features

Technology

Honest scope