<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Anurag tiwari</title>
    <description>The latest articles on DEV Community by Anurag tiwari (@anuragtiwaricodes).</description>
    <link>https://dev.to/anuragtiwaricodes</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4189496%2Fe128f913-9541-4a43-ac8d-eaaf78cae70a.png</url>
      <title>DEV Community: Anurag tiwari</title>
      <link>https://dev.to/anuragtiwaricodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/anuragtiwaricodes"/>
    <language>en</language>
    <item>
      <title>PayGuard Local: A Zero-Cloud AI Invoice Sorter for Freelancers</title>
      <dc:creator>Anurag tiwari</dc:creator>
      <pubDate>Fri, 16 Oct 2026 20:52:36 +0000</pubDate>
      <link>https://dev.to/anuragtiwaricodes/payguard-local-a-zero-cloud-ai-invoice-sorter-for-freelancers-230e</link>
      <guid>https://dev.to/anuragtiwaricodes/payguard-local-a-zero-cloud-ai-invoice-sorter-for-freelancers-230e</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;PayGuard Local&lt;/strong&gt;, a zero-cloud AI invoice and receipt sorter designed for independent freelancers, student developers, and small agencies. Freelancers spend hours manually sorting client bills, calculating tax categories, and logging payments into spreadsheets. Freelancers and small studios would gladly pay a one-time fee for a lightweight desktop utility that organizes their messy billing texts into structured JSON/CSV records completely offline without risking client confidentiality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Below is a sample terminal execution showing how &lt;code&gt;invoice_sorter.py&lt;/code&gt; takes raw invoice text and extracts structured JSON fields locally:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ python3 invoice_sorter.py
Sorting Invoice Locally via Open-Weight Model...

{
  "client_name": "Acme Corp",
  "invoice_date": "2026-10-17",
  "total_amount": "$450.00",
  "category": "Software"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Anurag-tiwaricodes" rel="noopener noreferrer"&gt;
        Anurag-tiwaricodes
      &lt;/a&gt; / &lt;a href="https://github.com/Anurag-tiwaricodes/local-ai-invoice-sorter" rel="noopener noreferrer"&gt;
        local-ai-invoice-sorter
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;local-ai-invoice-sorter&lt;/h1&gt;

&lt;/div&gt;

&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Anurag-tiwaricodes/local-ai-invoice-sorter" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Direct Repository Link: &lt;a href="https://github.com/Anurag-tiwaricodes/local-ai-invoice-sorter" rel="noopener noreferrer"&gt;https://github.com/Anurag-tiwaricodes/local-ai-invoice-sorter&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;I built this project using &lt;strong&gt;Python&lt;/strong&gt; paired with &lt;strong&gt;Ollama&lt;/strong&gt; for local inference, running Meta's open-weight &lt;strong&gt;Llama 3.2&lt;/strong&gt; model (&lt;code&gt;llama3.2&lt;/code&gt;) on &lt;code&gt;localhost:11434&lt;/code&gt;. The script formats raw receipt or invoice strings into a structured extraction prompt and queries the local model endpoint using standard HTTP requests (&lt;code&gt;urllib.request&lt;/code&gt;), ensuring zero external dependencies and instant setup on any machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;For freelancers and independent contractors, invoices contain sensitive PII (Personally Identifiable Information), client names, bank details, and NDA-protected deliverables. Sending this data to a closed, proprietary cloud API creates severe privacy risks and adds recurring monthly API token costs.&lt;/p&gt;

&lt;p&gt;Using an &lt;strong&gt;open-weight model (Llama 3.2)&lt;/strong&gt; running locally made three crucial things possible that a closed API couldn't:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;100% Data Privacy (Zero Cloud):&lt;/strong&gt; Client financial records never leave the freelancer's laptop. Everything runs offline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Running Costs:&lt;/strong&gt; A side-hustle utility shouldn't charge per scan. Local inference makes the unit economics completely free after setup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full Model Swappability:&lt;/strong&gt; Users can easily swap &lt;code&gt;llama3.2&lt;/code&gt; with &lt;code&gt;mistral&lt;/code&gt; or &lt;code&gt;qwen&lt;/code&gt;, or fine-tune the extraction schema for local tax formats (such as Indian GST invoices) without vendor lock-in.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  My First User
&lt;/h2&gt;

&lt;p&gt;I shared this script with a college friend who does freelance web development and video editing. Earlier, he used to manually track his client payments in a notes app. He tested it on 5 of his past invoices and loved that it categorized them into clean JSON without needing an OpenAI API key or internet connection. He immediately asked for a CSV export feature next!&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
