<?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: Sanjay Choudhary</title>
    <description>The latest articles on DEV Community by Sanjay Choudhary (@sannjay).</description>
    <link>https://dev.to/sannjay</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%2F4153675%2Fdfb59186-7de3-4115-a2ac-59e5acbf1163.png</url>
      <title>DEV Community: Sanjay Choudhary</title>
      <link>https://dev.to/sannjay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sannjay"/>
    <language>en</language>
    <item>
      <title>BillSnap: Privacy-First Local Invoice &amp; Receipt Extractor for Freelancers</title>
      <dc:creator>Sanjay Choudhary</dc:creator>
      <pubDate>Sat, 17 Oct 2026 03:05:12 +0000</pubDate>
      <link>https://dev.to/sannjay/billsnap-privacy-first-local-invoice-receipt-extractor-for-freelancers-1b5e</link>
      <guid>https://dev.to/sannjay/billsnap-privacy-first-local-invoice-receipt-extractor-for-freelancers-1b5e</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;BillSnap&lt;/strong&gt; to solve a critical problem faced by freelancers and independent contractors: sorting through piles of messy invoices, client receipts, and tax deductions without leaking sensitive financial data to expensive cloud SaaS platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BillSnap&lt;/strong&gt; is a local-first, privacy-focused micro-SaaS tool designed for freelancers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instant Optical Extraction:&lt;/strong&gt; Drag and drop photos or PDFs of receipts, client invoices, and bank statements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;100% Local Financial Parsing:&lt;/strong&gt; Runs lightweight open-weight vision models locally to extract vendor names, dates, tax amounts, line items, and currencies directly on the user's device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Data Leakage:&lt;/strong&gt; Keeps client billing details, bank balances, and tax records completely off third-party AI servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-Click Export:&lt;/strong&gt; Organizes transactions into structured CSV, JSON, and QuickBooks-compatible formats for accounting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I gave the build to my friend Rohan, a freelance UI/UX designer who was stressing over tracking his quarterly expenses. He dropped 42 mixed PDF receipts and physical receipt photos into BillSnap. It parsed and categorized every transaction in under 45 seconds locally with 0 cloud calls. He offered to pay a one-time $15 license on the spot, saying: &lt;em&gt;"I stopped using online PDF converters because of NDAs. Having this run offline on my laptop is an immediate buy."&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;The core philosophy behind &lt;strong&gt;BillSnap&lt;/strong&gt; is keeping operational costs at $0 so the micro-SaaS remains profitable while giving users total data privacy.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   +-------------------------------------------------------+
   |               Freelancer / Small Business             |
   |             (Uploads Invoice or Receipt Photo)        |
   +---------------------------+---------------------------+
                               |
                               v
   +-------------------------------------------------------+
   |               FastAPI + Web Application               |
   |                (Hosted on Render / Local)             |
   +-------+-------------------+-------------------+-------+
           |                   |                   |
           v                   v                   v
  +-----------------+  +---------------+  +-------------------+
  | Gemma 2 /       |  | SQLite /      |  | Local Export      |
  | PaliGemma Nano  |  | Local Expense |  | Engine (CSV /     |
  | Vision Parser   |  | Store         |  | JSON Formatters)  |
  +-----------------+  +---------------+  +-------------------+

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Technical Stack:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vision Intelligence (PaliGemma / Gemma 2 Vision via Ollama):&lt;/strong&gt; Extracts key-value pairs, vendor details, totals, and line items from unstructured receipt images and PDFs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Database (SQLite):&lt;/strong&gt; Stores categorized expense logs locally without external cloud sync requirements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend Framework (Python FastAPI):&lt;/strong&gt; Lightweight API processing requests and file uploads asynchronously.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deployment &amp;amp; Monitoring (Render &amp;amp; Sentry):&lt;/strong&gt; Hosts the web interface container and monitors local parsing execution traces.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Uncompromised Financial Privacy:&lt;/strong&gt; Freelancers handle confidential client billing details and personal tax information. Running open-weight vision models locally ensures sensitive financial records never touch proprietary third-party training servers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Per-Document API Costs:&lt;/strong&gt; Proprietary OCR and vision APIs charge per page processed, making a cheap expense-tracking micro-SaaS unit economics unprofitable. Open-weight models allow infinite local processing for $0 recurring cost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model Customizability:&lt;/strong&gt; Open weights enable fine-tuning specifically for regional tax formats (such as GST, VAT, or local receipt templates) that general-purpose commercial APIs frequently misread.&lt;/li&gt;
&lt;/ol&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; Uses Gemma 2 / PaliGemma open vision models for document extraction and line-item categorization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Render:&lt;/strong&gt; Hosts the FastAPI backend application, web interface, and background processing container on Render.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Sentry Agent Tracing:&lt;/strong&gt; Tracks local model extraction latency, token usage, and tool pipeline performance.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>FloraTrace: Offline Trail Botanist &amp; Plant Identifier for Offline Hikes</title>
      <dc:creator>Sanjay Choudhary</dc:creator>
      <pubDate>Mon, 12 Oct 2026 06:24:13 +0000</pubDate>
      <link>https://dev.to/sannjay/floratrace-offline-trail-botanist-plant-identifier-for-offline-hikes-1fbd</link>
      <guid>https://dev.to/sannjay/floratrace-offline-trail-botanist-plant-identifier-for-offline-hikes-1fbd</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 built &lt;strong&gt;FloraTrace&lt;/strong&gt; to solve a problem my friends and I face every time we go hiking on trails around the Western Ghats: we see incredible wild flora, native trees, and medicinal plants, but we have zero cellular network signal to search for what they are.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FloraTrace&lt;/strong&gt; is a lightweight, offline-first mobile web app designed to get people exploring outdoors without staring at screens:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Snap &amp;amp; Go:&lt;/strong&gt; You take a photo of a leaf, bark, or wildflower while on a trail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-Device Offline Plant Identification:&lt;/strong&gt; It runs a lightweight open-weight vision model directly in the browser/locally to identify native flora species, edible plants, and ecological facts—without needing cellular connectivity or Wi-Fi.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screen-Time Minimizer:&lt;/strong&gt; Instead of endless scrolling or long textual paragraphs, it delivers a 2-sentence audio summary about the plant and logs your location badge so you can lock your phone and get right back to enjoying nature.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I took it on a 6 km weekend trail hike to a testing spot near Savandurga. I snapped 8 native plant species deep in the forest zone with my phone on Airplane Mode. FloraTrace parsed every sample offline in under 2 seconds and read out the species name via voice, letting me keep moving without eyes glued to a screen.&lt;/p&gt;

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

&lt;p&gt;The core philosophy behind &lt;strong&gt;FloraTrace&lt;/strong&gt; was making the tech entirely self-contained so it works deep in the woods without paid APIs or cloud dependencies.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;   +-------------------------------------------------------+
   |             Hiker / User on Outdoor Trail             |
   |                (Captures Plant Snapshot)              |
   +---------------------------+---------------------------+
                               |
                               v
   +-------------------------------------------------------+
   |               FastAPI + Web Application               |
   |                (Hosted on Render / Local)             |
   +-------+-------------------+-------------------+-------+
           |                   |                   |
           v                   v                   v
  +-----------------+  +---------------+  +-------------------+
  | Gemma 2 /       |  | Web Speech /  |  |  SQLite /         |
  | PaliGemma Nano  |  | Edge TTS      |  | Local Trail       |
  | Vision Parser   |  | Audio Engine  |  | Field Database    |
  +-----------------+  +---------------+  +-------------------+

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

&lt;/div&gt;



&lt;h3&gt;
  
  
  Technical Stack:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vision Intelligence (PaliGemma / Gemma 2 Vision via Ollama):&lt;/strong&gt; Analyzes botanical photos to extract species names, native status, and safety notes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio Output Engine (&lt;code&gt;edge-tts&lt;/code&gt; / Web Speech API):&lt;/strong&gt; Converts plant facts into spoken audio clips so hikers can listen while walking without looking at their phones.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Storage &amp;amp; Database (SQLite / Browser Cache):&lt;/strong&gt; Caches offline field guides, regional flora maps, and trail logbooks directly on device.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting &amp;amp; Telemetry (Render &amp;amp; Sentry):&lt;/strong&gt; Serves the web interface and handles background sync when back in network coverage.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;True Offline Independence:&lt;/strong&gt; Cloud-based proprietary APIs fail the moment you step onto a mountain trail without cell towers. Open-weight vision models allow real AI reasoning on local hardware deep in nature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Operating Expense:&lt;/strong&gt; Running open-weight models locally or self-hosting on lightweight servers means zero per-query cost, keeping the app completely free for outdoor communities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy First in the Wild:&lt;/strong&gt; Location tags and personal outdoor activity logs stay strictly on your local device rather than being sold or harvested by central ad networks.&lt;/li&gt;
&lt;/ol&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; Uses Gemma 2 / PaliGemma open vision models for offline plant identification and instant field guide summaries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Render:&lt;/strong&gt; Hosts the web frontend application, service workers, and backend sync pipelines on Render.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Sentry Agent Tracing:&lt;/strong&gt; Tracks local model inference latency and offline tool invocation performance.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>week1challenge</category>
    </item>
    <item>
      <title>FlameDesk: Local-First Telegram Voice &amp; Order Desk for Artisanal Businesses</title>
      <dc:creator>Sanjay Choudhary</dc:creator>
      <pubDate>Mon, 05 Oct 2026 09:26:54 +0000</pubDate>
      <link>https://dev.to/sannjay/flamedesk-local-first-telegram-voice-order-desk-for-artisanal-businesses-35j6</link>
      <guid>https://dev.to/sannjay/flamedesk-local-first-telegram-voice-order-desk-for-artisanal-businesses-35j6</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;Kritika&lt;/strong&gt; for my friend &lt;strong&gt;Ananya&lt;/strong&gt;, who launched a handcrafted candle studio in Bengaluru ahead of the Diwali festive rush.&lt;/p&gt;

&lt;p&gt;As order volume grew across social channels, manual order handling became a bottleneck:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customers routinely sent 30-to-60-second voice notes on Telegram in mixed English and Hindi requesting custom candle gift sets and local delivery timelines.&lt;/li&gt;
&lt;li&gt;Ananya spent upwards of 4 hours each evening listening to audio clips, checking inventory levels, calculating shipping fees, and manually recording customer addresses into spreadsheets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Kritika&lt;/strong&gt; is a lightweight, open-source order desk integrated directly into Telegram. It automates customer communication and back-office order logging by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ingesting incoming Telegram audio voice notes and text messages.&lt;/li&gt;
&lt;li&gt;Transcribing regional speech into clean text.&lt;/li&gt;
&lt;li&gt;Extracting structured order metadata (items, quantities, delivery address, preferred dates).&lt;/li&gt;
&lt;li&gt;Calculating totals, verifying stock availability, and sending instant confirmation summaries back to the user.&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;The architecture relies entirely on open-weight models, open-source audio tooling, and free-tier infrastructure. The system is designed to run efficiently inside a single Docker container deployed on Render.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       +-------------------------------------------------------+
       |                  Customer on Telegram                 |
       |             (Sends Voice Message or Text)             |
       +---------------------------+---------------------------+
                                   |
                                   v
       +-------------------------------------------------------+
       |             Python FastAPI Engine (Render)            |
       +-------+-------------------+-------------------+-------+
               |                   |                   |
               v                   v                   v
      +-----------------+  +---------------+  +-------------------+
      | Speech Parser   |  | Open LLM      |  | Catalog &amp;amp; Order   |
      | Faster-Whisper  |  | Gemma 2       |  | Database          |
      | &amp;amp; Edge-TTS      |  | (Ollama/Groq) |  | MongoDB Atlas     |
      +-----------------+  +---------------+  +-------------------+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Technical Implementation Details:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Telegram Webhook Layer (&lt;code&gt;python-telegram-bot&lt;/code&gt;):&lt;/strong&gt; Captures incoming audio files (&lt;code&gt;.ogg&lt;/code&gt;) and text payloads, routing them through asynchronous processing queues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open Audio Pipeline (Faster-Whisper &amp;amp; Edge-TTS):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Transcribes incoming customer voice messages locally without relying on paid speech-to-text APIs.&lt;/li&gt;
&lt;li&gt;Synthesizes audio responses when customers request spoken status updates.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language Intelligence (Google Gemma 2):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Parses unstructured customer conversations into strict JSON schemas.&lt;/li&gt;
&lt;li&gt;Handles multi-turn inquiries, stock validation, and shipping address verification.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Persistence (MongoDB Atlas):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Maintains product catalog records, stock counts, customer conversation histories, and structured order entries.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Observability &amp;amp; Hosting (Render &amp;amp; Sentry):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Deployed on Render's web service architecture.&lt;/li&gt;
&lt;li&gt;Monitored via Sentry Agent Tracing to measure end-to-end voice processing latency and function execution stability.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Zero Marginal Operational Cost:&lt;/strong&gt; Small independent creators operate on thin margins. Using open-weight language models and open speech engines eliminates per-token and per-minute transcription costs, allowing automated order desks to run affordably at scale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accurate Context &amp;amp; Local Speech Adaptation:&lt;/strong&gt; Proprietary global APIs often fail when transcribing regional accents, local neighborhood landmarks, or mixed-language queries. Open models allow tailored system prompts and localized fine-tuning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Control &amp;amp; Independence:&lt;/strong&gt; All customer information, contact details, and order transactions remain strictly within open-source databases under the owner's direct control, preventing unauthorized data processing by commercial API vendors.&lt;/li&gt;
&lt;/ol&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; Uses Google Gemma 2 as the primary intelligence engine for intent classification, JSON extraction, and conversational responses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Render:&lt;/strong&gt; Hosts the complete FastAPI engine, Telegram webhook worker, and order pipeline on Render.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of MongoDB Atlas:&lt;/strong&gt; Manages inventory catalogs, vector-based product queries, and structured customer order states.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Sentry Agent Tracing:&lt;/strong&gt; Tracks voice transcription latency, tool execution pipelines, and error rates across processing workflows.&lt;/li&gt;
&lt;/ul&gt;

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