Building a document intelligence pipeline without an engineering background
Guest Speaker
GTM Practitioner and Bootprint Alum
Marina Ghilchik works across the GTM space and has been part of the Bootprint network since going through the original Clay Bootcamp. She built this document intelligence pipeline from scratch with no engineering background, using Claude Code to debug her way through expired OAuth tokens, duplicate vector IDs, and a pagination cap that was silently dropping her mail. She has since deployed the same architecture a second time, on someone else's machine, on Windows.
Connect on LinkedInThe Problem
Session Overview
A four-stage system that ingests, summarises, retrieves, and queries 800+ documents automatically, built as a non-engineer using Claude Code.
Local embeddings, read-only OAuth scopes, and nothing leaving your machine at index time. Every design decision tied to a real privacy constraint.
Haiku for bulk extraction, Sonnet where reasoning is needed, Vision for scans. An order of magnitude cheaper than sending everything to the frontier model.
Terminal REPL for deep cross-document pattern queries. Claude Project for conversational lookups. Pick the interface that matches how hard the question is.
The Build
Ingest → Summarise → Retrieve → Ask
Ingest
Read-only Gmail API watches five defined senders. Each run pulls emails plus every attachment, renames them to YYYY-MM-DD_Sender_Subject, and files them to a structured Google Drive folder.
Summarise
Every document goes through the Claude API with a fixed structured schema: summary, category, and obligations by party. The output batch-appends to a Google Sheets tracker with source links back to Drive and Gmail.
Retrieve
Text is extracted from PDFs, Word docs, and spreadsheets, chunked with overlap, then embedded locally using all-MiniLM-L6-v2. Around 2,177 chunks land in a persistent ChromaDB vector store. No document text leaves the machine at index time.
Ask
For deep pattern work: a terminal REPL and CLI runs Python scripts against the full vector index. For quick conversational lookups: a Claude Project reads the Google Sheets tracker directly in plain English.
Mental Models
Marina checked NotebookLM (caps at 50 sources), Obsidian (PDF-blind, Markdown-native), and DevonThink (a search vault, not a pipeline) before writing a line of code. She built because nothing fit the requirements. Not because she wanted to code.
Use gmail.readonly. The OAuth token physically cannot send, reply, or delete. That constraint is enforced at the API level, not by application logic. If you're handling sensitive data, lock down the scope first.
The tracker in a Claude Project handles conversational questions. The terminal handles deep cross-document pattern queries. Pick the interface based on how hard the question is. You don't need one system that does everything well.
Tell Claude the problem and what you want. Then figure out how to build it together. That's how Marina built something this complex without a formal engineering background. The debugging was real, but the starting point was always a clear question.
From the Session
What is a vector library, and why does it matter for pattern recognition in large documents?
How do you actually query for contradictions? How does that work in practice?
Why not just use NotebookLM?
Why not put the code on GitHub?
Tools
Sonnet, Haiku, Vision
UsedLocal vector store
UsedCore language
UsedRead-only ingestion
UsedStructured file storage
UsedDocument tracker
UsedPDF text extraction
UsedWord doc extraction
UsedSpreadsheet extraction
UsedLocal embeddings, 384-dim
UsedmacOS scheduling
UsedBuilt the full pipeline
UsedCapped at 50 sources
EvaluatedMarkdown-native, PDF-blind
EvaluatedSearch vault, not a pipeline
EvaluatedResources
Full 39-minute walkthrough on Fathom
One week, hands-on, small group. Build real pipelines like this yourself.
The Claude Code cohort runs for one week. You build real pipelines, work through real debugging, and walk out with something that runs.
Join the Claude Code CohortStay in touch