I've spent the last few months building an AI tool that fills PDF forms from a user's own documents (a passport, a W-2, a spreadsheet, or just a few typed sentences). The first version was the obvious one: send the PDF to an LLM and ask it to fill the form. It didn't work. This post covers what did work, with code, so you can build your own. Full disclosure: the tool is Simplifier . Everything below works with any stack and any LLM. The core idea: split "understanding" from ...