<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: nip</title><link>https://news.ycombinator.com/user?id=nip</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 01 Jun 2026 05:32:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nip" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>>  like that, but (and I might be ignorant) can't you just change it's all in browser to something else and the users would be oblivious?<p>Excellent question! The answer is simple: we're known on the market, and trusted by our customer for this secure handling of PDFs. Should we decide to change that (unbeknownst to them), we would effectively kill our reputation and the company by extension.<p>> Is it possible to download as an app and disable internet (not sure if it's a feature of any browsers).<p>Back in the days, SimplePDF used to work offline. However maintaining that in conjunction with our paid customers features (where the online connectivity is mandatory) was too big of a maintenance burden. We decided a year ago to drop this support (silently), and no one has complained since then, confirming our hunch that it is not a high-demand feature.</p>
]]></description><pubDate>Wed, 13 May 2026 15:53:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48123573</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=48123573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48123573</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Thanks! We have plans to improve it further (file support), possibly also voice, but for now in the backlog!</p>
]]></description><pubDate>Wed, 13 May 2026 15:48:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48123494</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=48123494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48123494</guid></item><item><title><![CDATA[New comment by nip in "Remind HN: Today is Mother's Day, call your moms"]]></title><description><![CDATA[
<p>And if you’re French, don’t worry, you didn’t miss it.<p>It’s the 31st of May</p>
]]></description><pubDate>Sun, 10 May 2026 17:35:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48086003</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=48086003</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48086003</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Thanks! You caught a real bug: the form labels fed to the LLM were mangled. Now fixed: values land in the correct field.<p>On "what are we trying to solve":<p>Forms (PDFs, scanned paper) are still everywhere and aren't going away. SimplePDF Copilot exists to make the transition less painful. A few concrete use cases:<p>- Pre-filling repetitive forms from existing data sources (CRM, EHR, etc. via MCP/RAG). In most industries, employees fill forms by copy-pasting or retyping. With AI + tool calling, most of the form arrives pre-filled and the employee just corrects or adds the missing bits.<p>- Filling foreign-language forms. If you've moved to a new country, or know someone who has, you've had to fill out forms in a language you don't master.<p>- Understanding a contract before signing it. "Can I actually trust all the clauses here?" Reading proficiency changed the world by giving people a way to understand what they were signing. This extends it to legalese and odd clauses.<p>On Claude Cowork:<p>Different shape, and a different privacy model. Cowork drives a sandboxed virtual desktop: you can't see exactly what it's doing while it fills, and correcting a wrong value means another back-and-forth with the LLM.<p>Copilot works inside your editor: every change is visible as it happens, you can amend any field with one click, and the document never leaves your browser + it's LLM agnostic: bring your own (local or hosted).</p>
]]></description><pubDate>Sun, 03 May 2026 09:56:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47995318</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47995318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47995318</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Absolutely not insulting! In fact an excellent question!<p>Preview was an inspiration when I started SimplePDF, my goal was to make the "Preview" of the web, so that people without a Mac would benefit from a software matching Preview in ease of use and overall polish.<p>Adobe Acrobat: SimplePDF has "Simple" in the name as the philosophy is to keep it simple (both in ease of use, and features): I don't intend to support everything that Adobe Acrobat does. There's a lot of features that I could build that I intentionally do not, as they would bloat the UI and hard the overall usability. Most people have very simple needs and don't need advanced features (like scripting, etc).</p>
]]></description><pubDate>Sat, 02 May 2026 18:04:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47988785</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47988785</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47988785</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>It already does! More specifically, SimplePDF supports "WebMCP": the tools that the LLM is using are exposed as WebMCP tools</p>
]]></description><pubDate>Sat, 02 May 2026 17:58:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47988736</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47988736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47988736</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>We offer both:<p>- A privacy-focused PDF editor, free for individuals, used by 200k users monthly: <a href="https://simplepdf.com/editor" rel="nofollow">https://simplepdf.com/editor</a><p>- The same editor, embeddable into one’s app for companies, with the same privacy guarantees (everything happens in the browser) + the resulting PDF is stored in their own storage (« bring your own storage »).<p>The majority of our paid customers are in healthcare where privacy is non-negotiable. Co-pilot extends that to the AI world (« bring your own AI »)<p>What are you using the PDF editor for?</p>
]]></description><pubDate>Sat, 02 May 2026 15:02:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47987011</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47987011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47987011</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>I was not able to reproduce it, so I made a small video, hopefully I better understand your problem once you've seen it: <a href="https://cdn.simplepdf.com/simple-pdf/assets/hn-reply-tyingq.mp4" rel="nofollow">https://cdn.simplepdf.com/simple-pdf/assets/hn-reply-tyingq....</a><p>In the video I let the chat fill my name, then have it skip the second field (business), then fill LLC, it makes a mistake and I correct it</p>
]]></description><pubDate>Sat, 02 May 2026 12:54:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47986007</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47986007</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47986007</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Have you tried telling the LLM to just skip the field and move to the next one?<p>I tried with various: "Skip it", "None, leave blank", "Skip this field" and all worked for me, but if may very well be missing something very obvious?</p>
]]></description><pubDate>Sat, 02 May 2026 12:39:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985897</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47985897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985897</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Hey Kiney!<p>It supports AcroForms (like in the example) but not XFA.<p>Why are you asking? gov forms support?</p>
]]></description><pubDate>Sat, 02 May 2026 11:52:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985597</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47985597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985597</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Thanks!<p>Anything you see missing in Copilot to achieve that?<p>Not sure if you noticed, but there's an arch-diagram in the info popup [1].<p>[1] <a href="https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228e6ff7b11eb3f2d945b6175913e87898ec96ca8076&form=w9&lang=en&show=info" rel="nofollow">https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228...</a></p>
]]></description><pubDate>Sat, 02 May 2026 10:23:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985094</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47985094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985094</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>I tried to make it clear with the popup message that appears when you start chatting: "Public demo. Use sample data only. Messages are processed by the selected AI provider."<p>But you're right that it's not as evident as I wanted to, I'm making a small copy update to make it clearer: "Public demo. Your chat messages leave your device and are sent to the selected AI provider. Use sample data only."<p>(Since there's support for local models, the popup is only displayed when NOT using your own model)<p>Thanks!<p>EDIT: the copy update is live, thanks again!</p>
]]></description><pubDate>Sat, 02 May 2026 10:10:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47985017</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47985017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47985017</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Just to be clear, this is a technical demo showing what's possible with client-side tool calling + local models: LLM-assisted form filling where no document data has to leave the user's machine.<p>Use cases range from:<p>- Filling foreign-language forms<p>- Navigating a contract before signing: "can I trust ALL the clauses here?"<p>- Pre-filling repetitive forms from existing data sources (CRM, EHR, etc. via MCP/RAG)<p>Copilot is designed to be embedded; our customers ship it white-labeled inside their own products.</p>
]]></description><pubDate>Sat, 02 May 2026 09:17:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47984790</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47984790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47984790</guid></item><item><title><![CDATA[Show HN: Filling PDF forms with AI using client-side tool calling]]></title><description><![CDATA[
<p>Hey HN!<p>I built SimplePDF Copilot: an AI assistant that can interact with the PDF editor. It fills fields, answers questions, focuses on a specific field, adds fields, deletes pages, and so on.<p>It's built on top of SimplePDF that I started 7 years ago, pioneering privacy-respecting client-side pdf editing, now used monthly by 200k+ people.<p>As for the privacy model: the PDF itself never leaves the browser. Parsing, rendering, and field detection all run client-side.<p>The text the model needs (and your messages) goes to whatever LLM you point at. By default that's our demo proxy (DeepSeek V4 Flash, rate-capped), but you can BYOK and point it at any cloud provider, or go fully local (I've been testing with LM Studio).<p>Unlike the existing "Chat with PDF" tools that only retrieve the text/OCR layer, Copilot can act on the PDF: filling fields, adding fields (detected client-side using CommonForms by Joe Barrow [1], jbarrow on HN with some post-processing heuristics I added on top), focusing on fields, deleting pages, and so on.<p>I built this because SimplePDF is mostly used by healthcare customers where document privacy is paramount, and I wanted an AI experience that didn't require shipping PII to a third party.
Stack is pretty standard:<p>- Tanstack Start<p>- AI SDK from Vercel<p>- Tailwind (I personally prefer CSS modules, I'm old-school but the goal since I open source it, I figured that Tailwind would be a better fit)<p>The more interesting part is the client-side tool calling: events are passed back and forth via iframe postMessage.<p>If you're not familiar with "tool calling" and "client-side tool calling", a quick primer:<p>Tool calling is what LLMs use to take actions. When Claude runs grep or ls, or hits an MCP server, those are tool calls.<p>Client-side tool calling means the intent to call a tool comes from the LLM, but the execution happens in the browser.<p>That matters for: speed, you can't go faster than client-to-client operations and also gives you the ability to limit the data you expose to the LLM. For the demo I do feed the content of the document to the LLM, but that connection could be severed as simply as removing the tool that exposes the content data.<p>The demo is fully open source, available on Github [2] and the demo is the same as the link of this post [3]<p>What's not open source is SimplePDF itself (loaded as the iframe).<p>I could talk on and on about this, let me know if you have any questions, anything goes!<p>[1] <a href="https://github.com/jbarrow/commonforms" rel="nofollow">https://github.com/jbarrow/commonforms</a><p>[2] <a href="https://github.com/SimplePDF/simplepdf-embed/tree/main/copilot" rel="nofollow">https://github.com/SimplePDF/simplepdf-embed/tree/main/copil...</a><p>[3] <a href="https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228e6ff7b11eb3f2d945b6175913e87898ec96ca8076&form=w9&lang=en" rel="nofollow">https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228...</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47984675">https://news.ycombinator.com/item?id=47984675</a></p>
<p>Points: 60</p>
<p># Comments: 29</p>
]]></description><pubDate>Sat, 02 May 2026 08:54:27 +0000</pubDate><link>https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228e6ff7b11eb3f2d945b6175913e87898ec96ca8076&amp;form=w9&amp;lang=en</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47984675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47984675</guid></item><item><title><![CDATA[New comment by nip in "Show HN: Filling PDF forms with AI using client-side tool calling"]]></title><description><![CDATA[
<p>Just to be clear, this is a technical demo showing what's possible with client-side tool calling + local models: LLM-assisted form filling where no document data has to leave the user's machine.<p>Use cases range from:<p>- Filling foreign-language forms<p>- Navigating a contract before signing: "can I trust ALL the clauses here?"<p>- Pre-filling repetitive forms from existing data sources (CRM, EHR, etc. via MCP/RAG)<p>Copilot is designed to be embedded; our customers ship it white-labeled inside their own products.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:49:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947591</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47947591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947591</guid></item><item><title><![CDATA[Show HN: Filling PDF forms with AI using client-side tool calling]]></title><description><![CDATA[
<p>Hey HN!<p>I built SimplePDF Copilot: an AI assistant that can interact with the PDF editor. It fills fields, answers questions, focuses on a specific field, adds fields, deletes pages, and so on.<p>It's built on top of SimplePDF that I started 7 years ago, pioneering privacy-respecting client-side pdf editing, now used monthly by 200k+ people.<p>As for the privacy model: the PDF itself never leaves the browser. Parsing, rendering, and field detection all run client-side.<p>The text the model needs (and your messages) goes to whatever LLM you point at. By default that's our demo proxy (DeepSeek V4 Flash, rate-capped), but you can BYOK and point it at any cloud provider, or go fully local (I've been testing with LM Studio).<p>Unlike the existing "Chat with PDF" tools that only retrieve the text/OCR layer, Copilot can act on the PDF: filling fields, adding fields (detected client-side using CommonForms by Joe Barrow [1], jbarrow on HN with some post-processing heuristics I added on top), focusing on fields, deleting pages, and so on.<p>I built this because SimplePDF is mostly used by healthcare customers where document privacy is paramount, and I wanted an AI experience that didn't require shipping PII to a third party.
Stack is pretty standard:<p>- Tanstack Start<p>- AI SDK from Vercel<p>- Tailwind (I personally prefer CSS modules, I'm old-school but the goal since I open source it, I figured that Tailwind would be a better fit)<p>The more interesting part is the client-side tool calling: events are passed back and forth via iframe postMessage.<p>If you're not familiar with "tool calling" and "client-side tool calling", a quick primer:<p>Tool calling is what LLMs use to take actions. When Claude runs grep or ls, or hits an MCP server, those are tool calls.<p>Client-side tool calling means the intent to call a tool comes from the LLM, but the execution happens in the browser.<p>That matters for: speed, you can't go faster than client-to-client operations and also gives you the ability to limit the data you expose to the LLM. For the demo I do feed the content of the document to the LLM, but that connection could be severed as simply as removing the tool that exposes the content data.<p>The demo is fully open source, available on Github [2] and the demo is the same as the link of this post [3]<p>What's not open source is SimplePDF itself (loaded as the iframe).<p>I could talk on and on about this, let me know if you have any questions, anything goes!<p>[1] <a href="https://github.com/jbarrow/commonforms" rel="nofollow">https://github.com/jbarrow/commonforms</a><p>[2] <a href="https://github.com/SimplePDF/simplepdf-embed/tree/main/copilot" rel="nofollow">https://github.com/SimplePDF/simplepdf-embed/tree/main/copil...</a><p>[3] <a href="https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228e6ff7b11eb3f2d945b6175913e87898ec96ca8076&form=w9&lang=en" rel="nofollow">https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228...</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47947347">https://news.ycombinator.com/item?id=47947347</a></p>
<p>Points: 7</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:22:15 +0000</pubDate><link>https://copilot.simplepdf.com/?share=a7d00ad073c75a75d493228e6ff7b11eb3f2d945b6175913e87898ec96ca8076&amp;form=w9&amp;lang=en</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47947347</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947347</guid></item><item><title><![CDATA[New comment by nip in "Ask HN: What's the point in creating a startup when anyone can copy it in days?"]]></title><description><![CDATA[
<p>Very likely, but you don’t need to be so aggressive and dismissive.<p>Anyone who has achieved “distribution” knows. Anyone else is just lacking experience.<p>Answering like you did is akin to gatekeeping. The world is better with more builders. We should encourage anyone who wants to give it a shot</p>
]]></description><pubDate>Thu, 16 Apr 2026 08:43:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47790354</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47790354</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47790354</guid></item><item><title><![CDATA[New comment by nip in "JSON formatter Chrome plugin now closed and injecting adware"]]></title><description><![CDATA[
<p>I was approached twice to add « a search and tracking script » to my 35k+ user-based extension.<p>Now I know what would have happened if I had accepted.</p>
]]></description><pubDate>Fri, 10 Apr 2026 21:13:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47723730</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47723730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47723730</guid></item><item><title><![CDATA[New comment by nip in "German implementation of eIDAS will require an Apple/Google account to function"]]></title><description><![CDATA[
<p>Agree on Smart-ID but the answer is to fix those flaws, not to replace the entire approach with one that depends on Google Play Integrity verdicts that even the German architects admit they can’t fully trust.<p>SIM-based solutions on their way out is a non-issue. For eSIM to support that use case, political will only is needed: the EU got Apple to abandon the lightning cable, this is not any different.</p>
]]></description><pubDate>Sun, 05 Apr 2026 12:33:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47648719</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47648719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47648719</guid></item><item><title><![CDATA[New comment by nip in "German implementation of eIDAS will require an Apple/Google account to function"]]></title><description><![CDATA[
<p>It is, mandated by the EU commission.<p>Instead they could have mandated the use of eIDAS 1 to all countries + extend it with attribute/credential support, and let countries choose their implementation (cards, SIM, server-side).<p>Instead we’re back to the drawing board with the big shortcomings highlighted in this thread.</p>
]]></description><pubDate>Sun, 05 Apr 2026 11:31:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47648320</link><dc:creator>nip</dc:creator><comments>https://news.ycombinator.com/item?id=47648320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47648320</guid></item></channel></rss>