Blog
Practical notes on getting documents out of PDF and Word and into a form language models can actually use.
How to Convert PDF to Markdown for ChatGPT and Claude
Uploading a PDF straight into a chat window is the default, and it is usually the worst option available. Markdown costs fewer tokens, preserves the structure the model needs, and keeps the file on your machine.
Chunking PDFs for RAG: Why Fixed-Size Splitting Fails
Every RAG tutorial reaches for a fixed character count with some overlap. It is easy to implement and it quietly wrecks retrieval quality. Structure-aware chunking is barely harder and substantially better.
Markdown vs Plain Text vs JSON: Which Format for LLM Context?
The same document can reach a model as flat text, as Markdown, or as structured JSON. The choice changes token cost, how well structure survives, and what the model can reliably do with it.
Why PDF Text Extraction Returns Garbled or Empty Text
Extraction problems look like bugs in the converter. Almost always they are accurate readings of what the PDF actually contains — which is why knowing the cause tells you the fix.
Preparing Word Documents for an LLM Knowledge Base
Most internal knowledge lives in Word files. Getting it into a form a model can use is mostly a document-hygiene problem, not a technical one.
Markdown to PDF: Why the Simple Conversion Breaks (and How to Get It Right)
Markdown to PDF is sold as a solved problem. Feed the same .md file to pandoc, a VS Code extension and GitHub's print view and you get three visibly different documents, because each uses a different rendering engine, and only one of them is the engine that produced the preview you checked.