Show HN: Filling PDF forms with AI using client-side tool calling
TL;DR Highlight
SimplePDF Copilot demo lets you fill and understand PDF forms by chatting.
Who Should Read
A frontend or backend developer who wants to add AI-assisted PDF form filling to their product.
Core Mechanics
- Chat is the interface for PDFs
- SimplePDF Copilot is a demo for editing, filling, and understanding PDFs by chatting.
- The demo comes preloaded with an IRS W-9 form.
- Starter prompts are built in
- "Help me fill this form" and "What's this form about?" are offered as examples.
- Language selection and download are available in the UI.
- The demo sends chat off-device
- The page says chat messages go to the selected AI provider.
- It tells users to use sample data only.
- Desktop is recommended
- The page says it is best experienced on desktop.
Community Reactions
- The maker says it shows a local-model scenario
- The maker says client-side tool calling with local models means no document data has to leave the user's machine.
- Listed use cases: foreign-language forms, contract review, and pre-filling from CRM/EHR via MCP/RAG.
- It is designed to be embedded and shipped white-labeled by customers.
- A commenter wanted clearer PII warnings
- They said chat messages go to a remote server, so PII leaves the local machine, and this should be made clearer.
- A user reported the SSN landing in the wrong box
- They typed an SSN and it was filled into the "4 Exemptions" box.
- They also asked what problem this solves versus clicking and typing, and how it compares to Claude Cowork.
- A user did it locally with Claude and Python
- Claude found the fields and wrote a Python script to insert data, with some fiddling to align things.
- They noted the PDF never went to a remote server.
- Commenters flagged a demo flaw and accuracy worries
- The second W-9 field (business name) is usually empty, but the demo gives no way to skip it.
- Another commenter said OCR+LLM data-model building over hundreds of PDFs works ~90% of the time, with missed or mislabeled fields, and asked if filling errs too.
How to Apply
- Have an LLM extract a PDF's field list
- Today, ask an LLM to output one sample PDF's field names and labels as JSON.
- Count missed or mislabeled fields by hand and record the accuracy.
- Put empty-value rules in the tool schema
- Mark each field of the fill tool as optional or skippable.
- Test that it doesn't force values into fields that are usually blank.
- Show where PII is sent
- Add text near the chat input saying which AI provider receives messages.
- List a design that routes sensitive data through local models or client-side tool calling.
- Add a confirmation step after filling
- After the tool fills values, show each field's content and require user approval.
- Block submission of sensitive fields like SSN until approved.
Try It
# Paste into Claude or ChatGPT (a simplified take on field extraction/filling, not SimplePDF's own method)
Below is the text of a PDF form. Find all input fields and output them as a JSON array.
Each item: {"field": field name, "label": on-screen label, "required": true/false, "skippable": whether it can be left blank}
Then propose values for each field from the user info below. If you are unsure which box fits, do not fill it; mark it "unsure".
Do not force values into fields that can be blank.
[Form text]
{{document}}
[User info (sample data only)]
{{user_info}}Terminology
Related Papers
GPT-5.6 Sol can beat Factorio on peaceful mode
GPT-5.6 Sol in Codex at low thinking finished a peaceful Factorio run with a rocket launch
AI isn't replacing SREs, it's deskilling them
Letting AI handle 95% of incidents may dull the skills SREs need for the critical 5%.
Backdoor in Claude Code for VS Code extension on the Cursor Marketplace
A tampered Claude Code extension on Cursor Marketplace planted an SSH backdoor
Building an AI-native engineering org
Automating each shipping step raised merges per engineer about 5x with reverts under 0.5%
We ran AI agent swarms in Minecraft and Mindustry
We put 50 agents in Minecraft and they invented ration ledgers and bureaucracy.
The Agent SDK
Cursor released Agent SDK, letting you define agents in code and deploy them with one command.
Here be monsters: What do you still need to know when agents do the work?
Owning agent-written code depends on fundamentals, breadth, and diving deep just in time.
AI promised less work. I've never worked more
Running agents in parallel brought my GitHub activity back to full-time engineer levels, and I'm exhausted.