<?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: kishan sah</title>
    <description>The latest articles on DEV Community by kishan sah (@kishansah).</description>
    <link>https://dev.to/kishansah</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%2F4169618%2Fbc1654b7-9d5d-43b3-b511-6e34aa81979c.png</url>
      <title>DEV Community: kishan sah</title>
      <link>https://dev.to/kishansah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kishansah"/>
    <language>en</language>
    <item>
      <title>LocalReceipt AI</title>
      <dc:creator>kishan sah</dc:creator>
      <pubDate>Sun, 18 Oct 2026 12:05:11 +0000</pubDate>
      <link>https://dev.to/kishansah/localreceipt-ai-5ak8</link>
      <guid>https://dev.to/kishansah/localreceipt-ai-5ak8</guid>
      <description>&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;LocalReceipt AI&lt;/strong&gt; is a lightweight, privacy-focused expense classifier for freelancers and independent professionals.&lt;/p&gt;

&lt;p&gt;It converts pasted receipt text into structured expense information, including category, amount, currency, date, and reason.&lt;/p&gt;

&lt;p&gt;For example, the input:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Uber ride to client meeting, ₹420, 15 October 2026&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;produces a classification with category &lt;code&gt;Transport&lt;/code&gt;, amount &lt;code&gt;420&lt;/code&gt;, currency &lt;code&gt;INR&lt;/code&gt;, and date &lt;code&gt;2026-10-15&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The goal is to reduce repetitive expense organization and make bookkeeping preparation easier for freelancers and small business owners.&lt;/p&gt;

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

&lt;p&gt;LocalReceipt AI currently runs locally on my Mac using Ollama and Flask.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo evidence:&lt;/strong&gt; I tested the application with a sample receipt and confirmed that it returned the expected structured JSON output.&lt;/p&gt;

&lt;p&gt;I have included a screenshot of the working application in this post.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This is a local prototype, not a publicly deployed web application.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;GitHub repository:&lt;/strong&gt; &lt;a href="https://github.com/Kishan-shah12/localreceipt-ai" rel="noopener noreferrer"&gt;https://github.com/Kishan-shah12/localreceipt-ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the source code for the Flask interface and its connection to the local AI model.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Qwen2.5 3B:&lt;/strong&gt; Open-weight language model used for expense classification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ollama:&lt;/strong&gt; Runs the model locally on my Mac.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python:&lt;/strong&gt; Handles the application logic and local API requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flask:&lt;/strong&gt; Provides the browser-based interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON:&lt;/strong&gt; Structures the AI's output into expense fields.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The browser sends receipt text to the local Flask application, which calls Ollama on the same machine and displays the result.&lt;/p&gt;

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

&lt;p&gt;Open-weight AI is central to this project because it allows expense classification to run locally instead of relying on a hosted AI API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy:&lt;/strong&gt; Receipt text can remain on the user's machine rather than being sent to an external AI provider.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost control:&lt;/strong&gt; Local inference avoids per-request hosted AI API charges after the model has been downloaded, although hardware and electricity still have costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flexibility:&lt;/strong&gt; The model and prompts can be changed to suit different freelance workflows without depending entirely on one provider's API pricing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline capability:&lt;/strong&gt; After the initial model download, classification can run without an internet connection, provided the local model and application are available.&lt;/p&gt;

&lt;p&gt;Open innovation makes it practical to experiment with a privacy-conscious AI tool without requiring a paid inference API.&lt;/p&gt;

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

&lt;p&gt;This prototype helped me explore how open-weight AI can power a focused, useful application on personal hardware.&lt;/p&gt;

&lt;p&gt;The current version accepts pasted receipt text. Receipt image scanning, CSV export, and accounting integrations are possible future improvements. The output should be reviewed before being used for bookkeeping or tax reporting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;Side Hustle — a practical AI tool designed to reduce repetitive expense organization for freelancers.&lt;/p&gt;

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