I kept running into the same unglamorous wall.

Every time I built something on top of an LLM — a search-over-docs feature, a RAG pipeline, an internal assistant — the first step was the same boring problem: "here's a folder of docx, pdf and pptx files, give me clean text." Not a hard problem. Just one that, somehow, every available tool solved by making me pay a price I didn't want to pay.

And in my case there was an extra constraint that quietly kills half the options: the documents couldn't leave the machine.

The three usual answers, and what each one costs

If you've done document ingestion, you know the shortlist.