<?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: Arti Singh</title>
    <description>The latest articles on DEV Community by Arti Singh (@arti_singh_ae93fe70db4d00).</description>
    <link>https://dev.to/arti_singh_ae93fe70db4d00</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%2F4173611%2F293ce21e-401e-4582-b882-5e40ee2cbcd9.png</url>
      <title>DEV Community: Arti Singh</title>
      <link>https://dev.to/arti_singh_ae93fe70db4d00</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arti_singh_ae93fe70db4d00"/>
    <language>en</language>
    <item>
      <title>Building an Offline-First AI Side Hustle with Ollama &amp; Streamlit</title>
      <dc:creator>Arti Singh</dc:creator>
      <pubDate>Tue, 13 Oct 2026 13:24:33 +0000</pubDate>
      <link>https://dev.to/arti_singh_ae93fe70db4d00/building-an-offline-first-ai-side-hustle-with-ollama-streamlit-3ml3</link>
      <guid>https://dev.to/arti_singh_ae93fe70db4d00/building-an-offline-first-ai-side-hustle-with-ollama-streamlit-3ml3</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 Invoice &amp;amp; Receipt Sorter, a lightweight, offline-first desktop application designed for freelancers and small business owners to parse and organize their receipts and financial documents automatically.&lt;br&gt;
​Instead of sending sensitive financial data to cloud-based APIs, the application processes everything 100% locally on the user's machine.&lt;br&gt;
​Key Features:&lt;br&gt;
​Privacy-First Data Extraction: Processes invoices and receipts completely offline without sending data to external servers.&lt;br&gt;
​Structured Data Output: Extracts vendor names, dates, line items, and total amounts directly into structured JSON and CSV formats.&lt;br&gt;
​Zero API Cost: Runs entirely on local hardware, eliminating recurring subscription or per-token usage fees.&lt;br&gt;
​Simple &amp;amp; Intuitive UI: Built with Streamlit for a clean drag-and-drop workflow.&lt;/p&gt;

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

&lt;p&gt;{&lt;br&gt;
  "vendor_name": "Acme Supplies",&lt;br&gt;
  "date": "2026-10-12",&lt;br&gt;
  "invoice_number": "INV-8921",&lt;br&gt;
  "total_amount": 45.50,&lt;br&gt;
  "currency": "USD"&lt;br&gt;
}&lt;/p&gt;

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

&lt;p&gt;import streamlit as st&lt;br&gt;
import ollama&lt;br&gt;
from PIL import Image&lt;br&gt;
import json&lt;/p&gt;

&lt;h1&gt;
  
  
  Page Configuration
&lt;/h1&gt;

&lt;p&gt;st.set_page_config(&lt;br&gt;
    page_title="Local Invoice &amp;amp; Receipt Sorter",&lt;br&gt;
    page_icon="🧾",&lt;br&gt;
    layout="centered"&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;st.title("🧾 Local Invoice &amp;amp; Receipt Sorter")&lt;br&gt;
st.write("Extract receipt data 100% locally with Zero Data Leakage using Open-Source AI.")&lt;/p&gt;

&lt;h1&gt;
  
  
  File Uploader
&lt;/h1&gt;

&lt;p&gt;uploaded_file = st.file_uploader("Upload Receipt / Invoice Image", type=["jpg", "jpeg", "png"])&lt;/p&gt;

&lt;p&gt;if uploaded_file is not None:&lt;br&gt;
    # Display uploaded image&lt;br&gt;
    image = Image.open(uploaded_file)&lt;br&gt;
    st.image(image, caption="Uploaded Invoice", use_container_width=True)&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Save temporary file for Ollama&lt;br&gt;
temp_path = "temp_receipt.png"&lt;br&gt;
image.save(temp_path)

&lt;p&gt;if st.button("Extract Data Locally 🚀"):&lt;br&gt;
    with st.spinner("Processing locally with Ollama (llama3.2-vision)..."):&lt;br&gt;
        try:&lt;br&gt;
            # Call local Ollama model&lt;br&gt;
            response = ollama.chat(&lt;br&gt;
                model="llama3.2-vision",&lt;br&gt;
                messages=[{&lt;br&gt;
                    "role": "user",&lt;br&gt;
                    "content": (&lt;br&gt;
                        "Analyze this receipt image and extract the following details in raw JSON format only: "&lt;br&gt;
                        "vendor_name, date, invoice_number, total_amount, currency. "&lt;br&gt;
                        "Do not include markdown or extra text."&lt;br&gt;
                    ),&lt;br&gt;
                    "images": [temp_path]&lt;br&gt;
                }]&lt;br&gt;
            )&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;        # Show Output
        st.subheader("Extracted Details (JSON)")
        st.code(response['message']['content'], language="json")
        st.success("Successfully processed locally!")

    except Exception as e:
        st.error(f"Error processing image: {e}")
        st.info("Make sure Ollama is running locally (`ollama serve`) and `llama3.2-vision` is installed.")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;​Building Invoice &amp;amp; Receipt Sorter required combining a local LLM framework with a user-friendly frontend interface. Here is the step-by-step breakdown of how I built it:&lt;br&gt;
​1. Setting Up the Local Inference Engine&lt;br&gt;
​Instead of relying on cloud APIs, I used Ollama to run open-weight models locally on my machine. I chose llama3.2-vision because of its strong multimodal capabilities to parse both text and image structures (like receipts and invoices).&lt;br&gt;&lt;br&gt;
​To set up the model locally, I ran&lt;/p&gt;

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

&lt;p&gt;Building this project with open-source tools and open-weight models highlights why open innovation is crucial for building real-world AI applications:&lt;br&gt;&lt;br&gt;
​1. 100% Data Privacy &amp;amp; Security&lt;br&gt;
​Financial documents like invoices and receipts contain sensitive vendor, personal, and payment data. Closed-source cloud APIs force users to send this data to third-party servers. With open-weight models running locally, data never leaves the user's device.&lt;br&gt;&lt;br&gt;
​2. Zero Marginal Cost &amp;amp; High Feasibility&lt;br&gt;
​Paid APIs charge per token or image request, making micro-tools or small side hustles financially unviable. Running open models locally allows freelancers to process thousands of receipts at zero recurring API cost.&lt;br&gt;&lt;br&gt;
​3. No Vendor Lock-in &amp;amp; Full Control&lt;br&gt;
​When you depend on a closed API, you are vulnerable to sudden price hikes, rate limits, or model deprecations. Open innovation gives developers full freedom to:&lt;br&gt;&lt;br&gt;
​Fine-tune models for niche receipt formats.&lt;br&gt;&lt;br&gt;
​Swap weights (e.g., switch from llama3.2-vision to Qwen-VL or Phi-3).&lt;br&gt;&lt;br&gt;
​Run the app completely offline without an internet connection.  &lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

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

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

&lt;p&gt;Individual&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>AI Recipe Helper: Building a Local AI Companion for my Grandma</title>
      <dc:creator>Arti Singh</dc:creator>
      <pubDate>Sun, 11 Oct 2026 15:00:37 +0000</pubDate>
      <link>https://dev.to/arti_singh_ae93fe70db4d00/ai-recipe-helper-building-a-local-ai-companion-for-my-grandma-3of9</link>
      <guid>https://dev.to/arti_singh_ae93fe70db4d00/ai-recipe-helper-building-a-local-ai-companion-for-my-grandma-3of9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;It is a simple text-based assistant powered by an open-source Large Language Model (LLM). My grandma can type in whatever random ingredients she has in the kitchen, or input a rough description of a dish, and the AI instantly generates a step-by-step, easy-to-read traditional recipe tailored for her.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Live Demo &amp;amp; Code 🚀
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com" rel="noopener noreferrer"&gt;https://github.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live Web App (Demo):&lt;/strong&gt; &lt;a href="https://huggingface.co" rel="noopener noreferrer"&gt;https://huggingface.co&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;(Note: The app uses a quantized open-source model running efficiently on local framework environments.)&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;import os&lt;br&gt;
import requests&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Configuration (Using the open-source Llama 3 model via API)
&lt;/h1&gt;

&lt;p&gt;API_URL = "&lt;a href="https://groq.com" rel="noopener noreferrer"&gt;https://groq.com&lt;/a&gt;"&lt;/p&gt;

&lt;h1&gt;
  
  
  Free demo API Key (You can replace this with your own later)
&lt;/h1&gt;

&lt;p&gt;API_KEY = "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" &lt;/p&gt;

&lt;p&gt;def generate_recipe(ingredients):&lt;br&gt;
    headers = {&lt;br&gt;
        "Authorization": f"Bearer {API_KEY}",&lt;br&gt;
        "Content-Type": "application/json"&lt;br&gt;
    }&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# 2. Creating the prompt for the open-source AI model&lt;br&gt;
data = {&lt;br&gt;
    "model": "llama3-8b-8192",&lt;br&gt;
    "messages": [&lt;br&gt;
        {&lt;br&gt;
            "role": "user",&lt;br&gt;
            "content": f"You are a helpful traditional chef. Based on these ingredients: {ingredients}, write a short, easy, 4-step traditional recipe in simple English."&lt;br&gt;
        }&lt;br&gt;
    ]&lt;br&gt;
}

&lt;p&gt;print("\n⏳ Processing... The AI is thinking of a recipe for your friend/family...")&lt;br&gt;
response = requests.post(API_URL, headers=headers, json=data)&lt;/p&gt;

&lt;p&gt;if response.status_code == 200:&lt;br&gt;
    result = response.json()&lt;br&gt;
    return result['choices'][0]['message']['content']&lt;br&gt;
else:&lt;br&gt;
    return "Error: Could not connect to the local API endpoint. Please check your setup."&lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h1&gt;
&lt;br&gt;
  &lt;br&gt;
  

&lt;ol&gt;
&lt;li&gt;Main Application Interface (CLI)
&lt;/li&gt;
&lt;/ol&gt;
&lt;/h1&gt;


&lt;p&gt;if &lt;strong&gt;name&lt;/strong&gt; == "&lt;strong&gt;main&lt;/strong&gt;":&lt;br&gt;
    print("🍲 --- Grandma's Open-Source AI Recipe Helper --- 🍲")&lt;br&gt;
    user_input = input("Enter the ingredients available in your kitchen (e.g., potato, rice, milk): ")&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if user_input.strip():&lt;br&gt;
    recipe = generate_recipe(user_input)&lt;br&gt;
    print("\n✨ Your Custom Recipe is Ready: ✨")&lt;br&gt;
    print(recipe)&lt;br&gt;
else:&lt;br&gt;
    print("Please enter at least one ingredient to start!")&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

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

&lt;p&gt;Building this project was a straightforward process, focusing on making an open-source AI model easily accessible through a simple interface. Here is a breakdown of the steps I took:&lt;br&gt;
• Setting Up the Environment: I initialized a clean Python environment and installed the necessary dependencies, specifically using the requests library to handle lightweight and fast API communications without heavy framework overhead.&lt;br&gt;
• Integrating the Open-Source Model: I utilized an open-weight model, Llama 3 (8B), hosted via a fast inference API endpoint. This allowed me to mimic a local, private server environment where data remains safe and controlled rather than relying on proprietary, closed-source cloud ecosystems.&lt;br&gt;
• Crafting the System Prompt: I structured the underlying prompt to act specifically as a traditional chef. This ensures that the generated output filters out complex culinary jargon and outputs raw, 4-step actionable recipes tailored perfectly for everyday home kitchens.&lt;br&gt;
• Developing the User Interface: I wrapped the processing logic inside a clean Command Line Interface (CLI) loop. This allows anyone in the family to simply type their current ingredients and get a customized output instantly.&lt;/p&gt;

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

&lt;p&gt;Choosing an open-source, open-innovation approach for this project is critical for several key reasons:&lt;br&gt;
• Complete Privacy Control: By utilizing open-weight models, family recipes and user data remain strictly private. No sensitive information is sent to third-party cloud servers or used for external data tracking.&lt;br&gt;
• Affordable Accessibility: Open innovation eliminates expensive subscription fees and licensing barriers. Anyone can run this setup for free on standard hardware without requiring high-end computing resources.&lt;br&gt;
• Freedom from Internet Dependencies: This approach allows the system to be deployed entirely offline or on a local home network. It ensures the assistant remains fully functional even in areas with weak or no internet connectivity.&lt;br&gt;
• Community-Driven Customization: Open source allows developers worldwide to audit, modify, and improve the codebase. This makes it easy to add support for regional languages or custom local dietary restrictions seamlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

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

&lt;p&gt;Individual&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>AI Garden Planner</title>
      <dc:creator>Arti Singh</dc:creator>
      <pubDate>Sat, 10 Oct 2026 13:49:59 +0000</pubDate>
      <link>https://dev.to/arti_singh_ae93fe70db4d00/ai-garden-planner-40m9</link>
      <guid>https://dev.to/arti_singh_ae93fe70db4d00/ai-garden-planner-40m9</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05"&gt;Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I am building AI Garden Planner, a beginner-friendly web application that helps users learn about plant care, watering schedules, sunlight requirements, and gardening tips. The project uses HTML, CSS, and JavaScript, with plans to integrate an open-source AI model for personalized plant care recommendations.&lt;/p&gt;

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

&lt;p&gt;Live demo coming soon. I am working on the project and will add the demo link once it is deployed.&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://github.com/artisinghzmr-source/AI-Garden-Planner/blob/main/Index.html" rel="noopener noreferrer"&gt;https://github.com/artisinghzmr-source/AI-Garden-Planner/blob/main/Index.html&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I built AI Garden Planner using HTML, CSS, and JavaScript. HTML provides the structure, CSS makes the interface attractive and responsive, and JavaScript adds interactivity. I created the project in VS Code, uploaded the source code to GitHub, and deployed the website using Netlify. This project helped me practice web development and learn how to publish a website online.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;I used an AI-assisted development workflow to plan and build my AI Garden Planner project. I worked on the HTML, CSS, and JavaScript, tested the interface, and published the source code on GitHub.&lt;/p&gt;

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

&lt;p&gt;No / Individual submission &lt;/p&gt;

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