<?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: Ishita Singh</title>
    <description>The latest articles on DEV Community by Ishita Singh (@ish1416).</description>
    <link>https://dev.to/ish1416</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%2F4152815%2F55a9632f-f821-4d8a-9312-838612999bd9.png</url>
      <title>DEV Community: Ishita Singh</title>
      <link>https://dev.to/ish1416</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ish1416"/>
    <language>en</language>
    <item>
      <title>Udhaar-Khata: Voice AI Digital Ledger for My Father Using 100% Local Open-Weights (Gemma 2 + Whisper)</title>
      <dc:creator>Ishita Singh</dc:creator>
      <pubDate>Sun, 04 Oct 2026 09:36:31 +0000</pubDate>
      <link>https://dev.to/ish1416/udhaar-khata-voice-ai-digital-ledger-for-my-father-using-100-local-open-weights-gemma-2--2da9</link>
      <guid>https://dev.to/ish1416/udhaar-khata-voice-ai-digital-ledger-for-my-father-using-100-local-open-weights-gemma-2--2da9</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;I built &lt;strong&gt;Udhaar Khata (उधार खाता)&lt;/strong&gt; — a voice-powered, 100% local open-weights digital ledger and credit book built specifically for &lt;strong&gt;my father&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;My father manages a neighbourhood shop in India. Like millions of small business owners and community elders, managing daily customer credit (&lt;em&gt;udhaar&lt;/em&gt;) is a constant challenge. Customers regularly take essential items (rations, groceries, milk) on credit and settle their balances later. &lt;/p&gt;

&lt;p&gt;For decades, my father has tracked everything in dog-eared paper notebooks (&lt;em&gt;bahi khata&lt;/em&gt;). Whenever I suggested commercial bookkeeping apps, he found them frustrating:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Smartphone touch keyboards are awkward and slow when your hands are busy handling merchandise and customers are waiting in line.&lt;/li&gt;
&lt;li&gt;The menus are cluttered with English-first business jargon and ads.&lt;/li&gt;
&lt;li&gt;Most importantly, he hated the idea of uploading his customers' personal phone numbers and debt history to unknown third-party cloud servers.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Udhaar Khata solves this completely through voice-first open-weights AI.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
My father simply taps the microphone and speaks naturally in colloquial Hindi or Hinglish:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;"Ramesh ne 200 udhaar liya"&lt;/em&gt; (Ramesh took ₹200 on credit)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;"Sunita ne 500 wapas kiye"&lt;/em&gt; (Sunita repaid ₹500)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;"Sharma ji ko 1200 ka ration udhaar diya"&lt;/em&gt; (Sharma ji took ₹1200 worth of ration on credit)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;"Mukesh ne 450 jama karwaye"&lt;/em&gt; (Mukesh deposited ₹450)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The application transcribes the speech locally using &lt;strong&gt;OpenAI Whisper&lt;/strong&gt;, extracts the customer name, rupee amount, credit/debit direction, and item notes using &lt;strong&gt;Google Gemma 2 (2B)&lt;/strong&gt;, displays a clean confirmation card with audio playback, updates the customer's balance sheet, and even crafts polite, culturally respectful Hindi payment reminders with 1-click WhatsApp messaging!&lt;/p&gt;


&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;
&lt;h3&gt;
  
  
  📸 Dashboard Overview
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5isgyjs41dzpoj07rh4u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F5isgyjs41dzpoj07rh4u.png" alt="Udhaar Khata Dashboard" width="800" height="482"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🎥 End-to-End Walkthrough (Voice Input, Confirmation, Reminders &amp;amp; Settlements)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffzp24onzvud0kfr6g9ns.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffzp24onzvud0kfr6g9ns.webp" alt="Udhaar Khata Demo Video" width="599" height="365"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Voice &amp;amp; Speech Input Hub&lt;/strong&gt;: Pulsating mic button with audio waveform animation, bilingual speech recognition, and instant sample chips.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Extraction &amp;amp; Confirmation Card&lt;/strong&gt;: Displays detected customer name, amount, credit/debit toggle, and audio confirmation feedback before committing to the ledger.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer Directory &amp;amp; Balance Sheet&lt;/strong&gt;: Instant breakdown of &lt;em&gt;Kispar kitna baaki hai&lt;/em&gt; (Who owes what), color-coded red for &lt;em&gt;Lena hai&lt;/em&gt; (To collect) and green for &lt;em&gt;Hisaab chukta&lt;/em&gt; (Settled).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Culturally Respectful Payment Reminders (तगादा)&lt;/strong&gt;: Generates reminders in 3 distinct tones (विनम्र / Polite, मित्रतापूर्ण / Friendly, व्यावसायिक / Formal) plus custom AI drafting, with a direct 1-click &lt;strong&gt;WhatsApp Share&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1-Click Settlement ("Hisaab Chukta")&lt;/strong&gt;: One click settles debts with confetti celebration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;100% Offline &amp;amp; Private&lt;/strong&gt;: Zero external cloud APIs, zero subscription fees.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;The entire source code is structured with a Python FastAPI backend and a modern React Vite frontend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/ish1416/Udhaar-Khata" rel="noopener noreferrer"&gt;https://github.com/ish1416/Udhaar-Khata&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;Udhaar Khata is built from the ground up around &lt;strong&gt;open-weights AI models running locally on consumer hardware&lt;/strong&gt;:&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Information Extraction &amp;amp; Semantic Parsing (Google Gemma 2 2B)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We run Google's &lt;strong&gt;Gemma 2 2B&lt;/strong&gt; (&lt;code&gt;gemma2:2b&lt;/code&gt;) locally via Ollama with Metal GPU acceleration on Apple Silicon.&lt;/li&gt;
&lt;li&gt;Gemma 2 is prompted to understand colloquial Indian financial terms (&lt;em&gt;udhaar&lt;/em&gt;, &lt;em&gt;jama&lt;/em&gt;, &lt;em&gt;chukta&lt;/em&gt;, &lt;em&gt;baaki&lt;/em&gt;, &lt;em&gt;rokda&lt;/em&gt;, &lt;em&gt;saman&lt;/em&gt;) and outputs strict structured JSON containing &lt;code&gt;customer_name&lt;/code&gt;, &lt;code&gt;amount&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, and &lt;code&gt;note&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;To guarantee 100% uptime and sub-millisecond responsiveness even under cold-start conditions, we paired Gemma 2 with a deterministic Indic-NLP bilingual rule engine.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  2. Speech-to-Text (Open-Weight OpenAI Whisper)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Audio transcription runs through open-weight &lt;strong&gt;faster-whisper&lt;/strong&gt; (&lt;code&gt;ctranslate2&lt;/code&gt; + int8 quantization) and the browser Web Speech API, allowing my father to speak naturally in Hindi (&lt;code&gt;hi-IN&lt;/code&gt;) and Hinglish without typing a single character.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3. Polite Hindi Reminder Generator
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In Indian business culture, asking customers to repay credit can feel awkward or socially sensitive. &lt;/li&gt;
&lt;li&gt;Using Gemma 2 2B, the app drafts culturally nuanced payment reminders in three predefined tones (Polite, Friendly, Formal) as well as custom prompts (e.g. &lt;em&gt;"Tell them distributor payment is due tomorrow"&lt;/em&gt;), and encodes them into instant WhatsApp click-to-chat links (&lt;code&gt;https://wa.me/...&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  4. Local Database &amp;amp; Privacy Architecture
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;All customer accounts, contact numbers, and transaction ledgers are stored in a local &lt;strong&gt;SQLite database&lt;/strong&gt; on my father's laptop. Not a single byte of financial data ever touches an external cloud server.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;This project is a living example of where &lt;strong&gt;an open-weights approach worked infinitely better than closed commercial APIs&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Financial Sovereignty &amp;amp; Absolute Privacy&lt;/strong&gt;: Small shopkeeper credit books contain confidential debt records, personal trust networks, and customer phone numbers. Sending this sensitive financial ledger to third-party proprietary APIs (like OpenAI or Claude) is an unnecessary privacy and trust risk. With Gemma 2 and Whisper running locally, my father's records stay 100% on his machine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Works in Marketplaces with No Internet&lt;/strong&gt;: Indian local markets and small towns frequently experience broadband cuts and spotty mobile reception. Closed APIs fail the moment the Wi-Fi drops. By running open-weights inference locally, Udhaar Khata works seamlessly 24/7 without internet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Operating Cost (Forever ₹0)&lt;/strong&gt;: A small neighbourhood shopkeeper operating on tight margins cannot pay metered token bills or $20/month SaaS subscription fees. Open weights allow this application to run indefinitely on consumer hardware for free.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Colloquial Linguistic Freedom&lt;/strong&gt;: Open models gave us the flexibility to fine-tune system prompts for colloquial Hinglish dialects without hitting arbitrary API censorship or rigid guardrails around financial language.&lt;/li&gt;
&lt;/ol&gt;


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

&lt;p&gt;I built this project with pair programming and browser automation. You can explore the full session transcript here:&lt;/p&gt;


&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
    &lt;span class="agent-session-tool-icon-badge" title="Gemini CLI"&gt;
&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Building Udhaar-Khata: Voice AI Digital Ledger for Father using Local Gemma 2 and Whisper&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;I am participating in Hacktoberfest Weekend Challenge: Build for a Friend. Building Udhaar Khata for my father using local open-weight AI models (no closed APIs). He speaks in Hindi/Hinglish like 'Ramesh ne 200 udhaar liya' or 'Sunita ne 500 wapas kiye'.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Architecting Udhaar-Khata with 100% local open-weights AI: Google Gemma 2 (2B) running via Ollama on Apple Silicon for information extraction and polite reminder drafting, OpenAI Whisper for local speech-to-text, and a bilingual React interface with SQLite local storage.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Installed and configured Ollama with gemma2:2b locally. Verified local inference with sub-second Hindi/Hinglish transaction parsing and entity extraction.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Implemented polite payment reminder generator with multiple culturally respectful Hindi tones (Vinamra, Mitratapoorna, Vyavsayik) and 1-click WhatsApp deep integration. Tested end-to-end via browser automation.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        4 of 4 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;





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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma&lt;/strong&gt; (Featured Category)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Overall Hacktoberfest Winner&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

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