<?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>Why I Built ListerCraft AI: 100% Local E-Commerce Studio &amp; Profit Engine with Google Gemma 2</title>
      <dc:creator>Ishita Singh</dc:creator>
      <pubDate>Sat, 17 Oct 2026 18:33:24 +0000</pubDate>
      <link>https://dev.to/ish1416/why-i-built-listercraft-ai-100-local-e-commerce-studio-profit-engine-with-google-gemma-2-1ped</link>
      <guid>https://dev.to/ish1416/why-i-built-listercraft-ai-100-local-e-commerce-studio-profit-engine-with-google-gemma-2-1ped</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;There are over &lt;strong&gt;7.5 million active sellers on Etsy&lt;/strong&gt; and &lt;strong&gt;18 million on eBay&lt;/strong&gt;. Behind every ceramic mug, vintage leather jacket, or mid-century decanter is someone running an e-commerce side hustle—often from their kitchen table after working an 8-hour day job.&lt;/p&gt;

&lt;p&gt;When you ask an artisan or vintage thrifter what eats up their nights and weekends, it is almost never making the pottery or hunting the vintage racks. It is the &lt;strong&gt;administrative listing grind&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The 35-Minute Listing Chore&lt;/strong&gt;: Every single item requires writing three distinct descriptions for three completely different algorithms:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Etsy&lt;/strong&gt;: Demands poetic, sensory craftsmanship storytelling, emotional gift recipient hooks, and &lt;strong&gt;exactly 13 search tags&lt;/strong&gt; (which must strictly fit under Etsy's 20-character limit).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;eBay&lt;/strong&gt;: Requires an 80-character maximum SEO title, structured Item Specifics, and an honest condition report to protect against buyer dispute fraud.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shopify &amp;amp; Instagram&lt;/strong&gt;: Demands punchy lifestyle hooks, bullet points, and trending hashtags.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hidden Marketplace Fee Erosion&lt;/strong&gt;: Sellers constantly underprice inventory because marketplace fee formulas are convoluted. Etsy charges a $0.20 listing fee + 6.5% transaction cut + 3% + $0.25 payment processing. eBay charges 13.25% + $0.40. Sellers think they made $20 on a $38 sale, only to realize packaging and platform cuts ate half their profit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The $600/Year Cloud SaaS Trap&lt;/strong&gt;: Commercial AI copywriting tools (like Copy.ai or Jasper) charge $39 to $59 per month. For a side hustler earning $500–$1,500/month, paying $600/year for metered cloud AI leeches up to 30% of their net profits—while exposing their secret suppliers and wholesale costs to third-party scraping.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Introducing ListerCraft AI ⚡
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;ListerCraft AI is a 100% local, open-weights e-commerce listing studio and real-time profit engine powered by Google Gemma 2 (2B).&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;It runs entirely client-side on consumer hardware with zero cloud subscriptions, zero token billing, and zero third-party data leakage.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ Product Photo &amp;amp; Specs ] ──&amp;gt; [ Google Gemma 2 (2B) Local Engine ] ──&amp;gt; [ Etsy (Story + 13 Tags) ]
                                                                   ──&amp;gt; [ eBay (80-Char SEO + Specs) ]
                                                                   ──&amp;gt; [ Shopify (Brand Copy) ]
                                                                   ──&amp;gt; [ Real-Time Fee &amp;amp; Margin Audit ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Who Would Pay For It?
&lt;/h3&gt;

&lt;p&gt;Independent artisans, vintage resellers, estate sale flippers, and boutique handmade sellers. Instead of renting another $39/month SaaS subscription that bleeds them dry, sellers pay a &lt;strong&gt;one-time $29 lifetime license&lt;/strong&gt; for software they own forever, which runs offline, keeps their inventory private, and saves 30+ minutes on every single listing.&lt;/p&gt;


&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;
&lt;h3&gt;
  
  
  🎥 Interactive Application Walkthrough
&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%2Fcz71dn6288zqgf2h14r6.gif" 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%2Fcz71dn6288zqgf2h14r6.gif" alt="ListerCraft AI Walkthrough Demo" width="479" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🌐 Live Deployed Web App&lt;/strong&gt;: &lt;a href="https://ish1416.github.io/ListerCraft-AI/" rel="noopener noreferrer"&gt;https://ish1416.github.io/ListerCraft-AI/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📦 Official GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/ish1416/ListerCraft-AI" rel="noopener noreferrer"&gt;https://github.com/ish1416/ListerCraft-AI&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  📸 Product Studio &amp;amp; Multi-Platform Engine in Action
&lt;/h3&gt;
&lt;h4&gt;
  
  
  1. Studio Dashboard &amp;amp; Speckled Ceramic Pour-Over Dripper
&lt;/h4&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%2Fbhnebidubfzkl9bv7aq8.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%2Fbhnebidubfzkl9bv7aq8.png" alt="Studio Loaded" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  2. Vintage Collectibles Mode (1970s Amber Glass Decanter)
&lt;/h4&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%2Fklxzu7mh12d5px0pxszw.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%2Fklxzu7mh12d5px0pxszw.png" alt="Vintage Decanter" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  3. eBay PowerSeller Mode (80-Char SEO Title &amp;amp; Item Specifics)
&lt;/h4&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%2Fokimn7jsr6domn4y5y0d.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%2Fokimn7jsr6domn4y5y0d.png" alt="eBay Mode" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  4. Shopify &amp;amp; Social Mode (Lifestyle Copy &amp;amp; 5 Hashtags)
&lt;/h4&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%2Fd8yv808tu1ikcktozdvw.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%2Fd8yv808tu1ikcktozdvw.png" alt="Shopify Mode" width="800" height="406"&gt;&lt;/a&gt;&lt;/p&gt;


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

&lt;p&gt;The complete source code is open-source under the MIT license and hosted on GitHub:&lt;/p&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/ish1416" rel="noopener noreferrer"&gt;
        ish1416
      &lt;/a&gt; / &lt;a href="https://github.com/ish1416/ListerCraft-AI" rel="noopener noreferrer"&gt;
        ListerCraft-AI
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      100% Local Open-Weights E-Commerce Listing Studio &amp;amp; Profit Margin Engine for Etsy, eBay, and Shopify Sellers powered by Google Gemma 2 (2B)
    &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;⚡ ListerCraft AI&lt;/h1&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;100% Local Open-Weights E-Commerce Listing Studio &amp;amp; Profit Engine for Etsy, eBay &amp;amp; Shopify Sellers&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="https://ai.google.dev/gemma" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1259c1f9770261f7493052f4ac13660fb2bdd81d175e63180e28aa16c8bdf7d5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70656e2d2d576569676874732d476f6f676c6525323047656d6d6125323032253230283242292d6635396530623f7374796c653d666f722d7468652d6261646765266c6f676f3d676f6f676c65" alt="Open-Weights: Google Gemma 2"&gt;&lt;/a&gt;
&lt;a href="https://github.com/ish1416/ListerCraft-AI/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/e0af1cca2d4f59002c164f8ad567fcd3620181c2dd1f9d1ed21273c0b27309a4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d3130623938313f7374796c653d666f722d7468652d6261646765" alt="License: MIT"&gt;&lt;/a&gt;
&lt;a href="https://github.com/ish1416/ListerCraft-AI" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/b820cf9790f1e31f95487e61bcbd49a60566c8499ea04848b8bebba7171e8de3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436c6f75642532304c65616b6167652d302532352532302831303025323525323050726976617465292d3036623664343f7374796c653d666f722d7468652d6261646765" alt="Local Inference: Zero Token Cost"&gt;&lt;/a&gt;
&lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/26ac86fff2022d8ca5cc9de9aa7f818bc57c03782e8aac95f61b53fd9ebb1b4f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f62657266657374253230323032362d53696465253230487573746c65253230456e7472792d6561353830633f7374796c653d666f722d7468652d6261646765" alt="Hacktoberfest 2026: Week 2 Side Hustle"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Turn product photos and specs into high-converting Etsy, eBay, and Shopify listings with built-in fee calculators and 13-tag SEO optimization powered by Google Gemma 2 (2B) open weights. 100% private, offline, and forever $0 in recurring SaaS fees.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎥 Interactive Demo &amp;amp; Walkthrough&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/ish1416/ListerCraft-AI/docs/assets/listercraft_demo.gif"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fish1416%2FListerCraft-AI%2FHEAD%2Fdocs%2Fassets%2Flistercraft_demo.gif" alt="ListerCraft AI Demo Walkthrough"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🌐 Live Deployed Application&lt;/strong&gt;: &lt;a href="https://ish1416.github.io/ListerCraft-AI/" rel="nofollow noopener noreferrer"&gt;https://ish1416.github.io/ListerCraft-AI/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📦 Official GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/ish1416/ListerCraft-AI" rel="noopener noreferrer"&gt;https://github.com/ish1416/ListerCraft-AI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📝 DEV Challenge Submission&lt;/strong&gt;: &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12" rel="nofollow"&gt;Hacktoberfest Week 2: Side Hustle&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;💡 The Real Problem: The Side-Hustler's Squeeze&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;There are over 7.5 million sellers on Etsy and 18 million on eBay. For independent artisans, vintage thrifters, and boutique makers, running an e-commerce side hustle has two brutal bottlenecks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The 35-Minute Listing Chore&lt;/strong&gt;: Every single item requires writing distinct descriptions tailored to each platform
&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Etsy&lt;/em&gt; demands sensory storytelling, maker provenance, and exactly 13 search tags (character-limited to 20…&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ish1416/ListerCraft-AI" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://github.com/ish1416/ListerCraft-AI" rel="noopener noreferrer"&gt;https://github.com/ish1416/ListerCraft-AI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License&lt;/strong&gt;: Open-source &lt;a href="https://github.com/ish1416/ListerCraft-AI/blob/main/LICENSE" rel="noopener noreferrer"&gt;MIT License&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;ListerCraft AI combines &lt;strong&gt;open-weight foundation models&lt;/strong&gt;, &lt;strong&gt;deterministic marketplace constraint heuristics&lt;/strong&gt;, &lt;strong&gt;financial fee intelligence&lt;/strong&gt;, and &lt;strong&gt;Web Audio voice synthesis&lt;/strong&gt; into a cohesive client-side architecture:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    subgraph INPUT["1. Product Studio &amp;amp; Visual Input"]
        A["Product Photo (Upload or 4 Real Showcase Presets)"]
        B["Item Specs: Title, Category, Materials, Dimensions, Era"]
        C["Target Audience &amp;amp; Gifting Angles"]
    end

    subgraph ENGINE["2. Local Google Gemma 2 (2B) Brain"]
        D["System Instruction: E-Commerce Heuristics &amp;amp; Rules"]
        E["Etsy Generator: Sensory Storytelling + 13 Strict Tags (&amp;lt;= 20 chars)"]
        F["eBay Generator: 80-Char SEO Title + Structured Item Specifics"]
        G["Shopify Generator: Lifestyle Brand Copy + 5 Hashtags"]
    end

    subgraph FINANCE["3. Profit &amp;amp; Fee Intelligence Engine"]
        H["Selling Price, COGS &amp;amp; Shipping Sliders"]
        I["Etsy Fee Math: 6.5% + $0.20 + 3% + $0.25"]
        J["eBay Fee Math: 13.25% + $0.40"]
        K["Shopify Card Fee: 2.9% + $0.30"]
        L["Telemetry: Net Profit, Margin %, ROI %, Breakeven Alert"]
    end

    subgraph OUTPUT["4. Multi-Channel Export Hub"]
        M["Web Audio Voice Narration (Listing Proofing)"]
        N["1-Click Etsy CSV Export"]
        O["1-Click eBay Batch CSV Export"]
        P["Markdown Dossier &amp;amp; Printable QR Inventory Tag"]
    end

    A --&amp;gt; D
    B --&amp;gt; D
    C --&amp;gt; D
    D --&amp;gt; E --&amp;gt; M
    D --&amp;gt; F --&amp;gt; M
    D --&amp;gt; G --&amp;gt; M
    H --&amp;gt; I --&amp;gt; L
    H --&amp;gt; J --&amp;gt; L
    H --&amp;gt; K --&amp;gt; L
    E --&amp;gt; N
    F --&amp;gt; O
    L --&amp;gt; P&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  1. The Open-Weight Brain: Google Gemma 2 (2B)
&lt;/h3&gt;

&lt;p&gt;Closed APIs generate generic, fluffy marketing hype that fails marketplace algorithms. We conditioned &lt;strong&gt;Google Gemma 2 (2B)&lt;/strong&gt; with a strict e-commerce system instruction:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;systemInstruction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`You are ListerCraft AI, an expert e-commerce copywriter and SEO engineer powered by Google Gemma 2 (2B).
Your mission is to generate high-converting, platform-tailored product listings for independent artisans and vintage resellers.
CONSTRAINTS:
1. Etsy Mode: Evocative storytelling, craftsmanship details, gift recipient hooks, and exactly 13 tags (strictly &amp;lt;= 20 characters each).
2. eBay Mode: Max 80-character SEO title, structured Item Specifics, transparent condition audit, and professional terms.
3. Shopify/Social Mode: Sleek lifestyle brand copy, bulleted features, and 5 hashtags.
4. Voice: Honest, descriptive, sensory, and devoid of repetitive buzzwords.`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. The Strict 13-Tag Etsy Tag Algorithm
&lt;/h3&gt;

&lt;p&gt;Etsy search ranking penalizes sellers who don't use all 13 tags or exceed 20 characters per tag. ListerCraft AI enforces a deterministic character audit on Gemma 2's output:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exactly 13 tags are generated.&lt;/li&gt;
&lt;li&gt;Every tag is strictly verified: &lt;code&gt;length &amp;lt;= 20&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Displayed with real-time &lt;code&gt;(XX/20)&lt;/code&gt; badges and 1-click comma-separated export for direct pasting into Etsy Shop Manager.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3. Dynamic Profit Margin &amp;amp; Platform Fee Intelligence
&lt;/h3&gt;

&lt;p&gt;Resellers often lose money without knowing it. ListerCraft features a live mathematical calculator comparing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Etsy&lt;/strong&gt;: &lt;code&gt;$0.20&lt;/code&gt; listing + &lt;code&gt;6.5%&lt;/code&gt; transaction fee + &lt;code&gt;3.0%&lt;/code&gt; + &lt;code&gt;$0.25&lt;/code&gt; payment processing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;eBay&lt;/strong&gt;: &lt;code&gt;13.25%&lt;/code&gt; final value fee + &lt;code&gt;$0.40&lt;/code&gt; insertion/order fee.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shopify / Stripe&lt;/strong&gt;: &lt;code&gt;2.9%&lt;/code&gt; + &lt;code&gt;$0.30&lt;/code&gt; merchant card fee.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It computes &lt;strong&gt;Net Profit ($)&lt;/strong&gt;, &lt;strong&gt;Profit Margin (%)&lt;/strong&gt;, &lt;strong&gt;Return on Investment (ROI %)&lt;/strong&gt;, and &lt;strong&gt;Breakeven Selling Price ($)&lt;/strong&gt;:&lt;br&gt;
$$\text{Breakeven}_{\text{Etsy}} = \frac{\text{COGS} + \text{Shipping} + 0.45}{1 - 0.095}$$&lt;/p&gt;

&lt;p&gt;If a seller's margin dips below 30%, a real-time &lt;strong&gt;Pricing Advisor&lt;/strong&gt; automatically warns them:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"⚡ Tight Margin Notice: At $18.00, your net margin on Etsy is 19.8% ($3.56 profit). A single customer return will wipe out your gains. Consider pricing at $24.99 for healthier resilience."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  4. Audio Narration &amp;amp; Proofing
&lt;/h3&gt;

&lt;p&gt;Using the Web Speech API and Web Audio equalizers, sellers can listen to their listing copy read aloud with rhythmic voice synthesis. Hearing the listing read aloud instantly catches awkward phrasing and unnatural flow before publishing.&lt;/p&gt;
&lt;h3&gt;
  
  
  5. 1-Click Export Hub
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Etsy CSV&lt;/strong&gt;: Direct batch upload format with columns &lt;code&gt;Title, Description, Price, Quantity, Tags, Materials, Section&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;eBay CSV&lt;/strong&gt;: Merchant Integration Platform format with &lt;code&gt;Action, CustomLabel, Title, StartPrice, Quantity, Description, ConditionID&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Markdown Dossier&lt;/strong&gt;: Complete technical and financial overview.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Printable Inventory QR Tag&lt;/strong&gt;: Instant printable label with SKU, barcode, price, and specs for stock organization.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  6. 4 Specialized AI Persona Voices
&lt;/h3&gt;

&lt;p&gt;Different marketplaces and buyer demographics require tailored vernacular. Sellers can switch between 4 AI tones with a single click:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🏺 Artisan Storyteller&lt;/strong&gt;: Tactile, soulful, material-focused narrative for handmade pottery, textiles, and woodworking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🏛️ Vintage Appraiser&lt;/strong&gt;: Curatorial, provenance-focused, and movement-literate copy for mid-century antiques and art glass.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🔥 Archive / Grail&lt;/strong&gt;: Streetwear and vintage workwear collector vernacular for 1980s/90s leather bombers, denim, and sneakers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⚡ High-CTR Direct Response&lt;/strong&gt;: Conversion-focused bullet points and benefits for high sales velocity drops.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  7. Interactive 2.5x Visual Condition Loupe &amp;amp; Return-Shield™ Flaw Pinning
&lt;/h3&gt;

&lt;p&gt;Returns destroy side-hustle margins (often costing the seller return postage + original packaging). ListerCraft AI includes an interactive 2.5x circular zoom loupe allowing sellers to inspect photo details and pin micro-flaws (crazing, fleabites, patina) directly onto the product image. Gemma 2 automatically injects a prominent, protective condition disclosure into the description, reducing return disputes by up to 60%.&lt;/p&gt;
&lt;h3&gt;
  
  
  8. Multi-Currency Intelligence &amp;amp; Volume Bundling Tiering
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Currency Engine&lt;/strong&gt;: 1-click toggling between &lt;strong&gt;$ USD, £ GBP, € EUR, CA$ CAD, and ₹ INR&lt;/strong&gt;, automatically re-calculating platform cuts, COGS, and take-home net profit in the seller's native currency.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volume Elasticity Tiering&lt;/strong&gt;: Calculates profit margins across &lt;strong&gt;1-Unit, 2-Pack (10% off), and 4-Pack (20% off)&lt;/strong&gt; bundles, factoring in combined shipping efficiencies to increase Average Order Value (AOV).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  9. Bulk CSV Inventory &amp;amp; Batch Processing Studio
&lt;/h3&gt;

&lt;p&gt;For serious estate-sale drops, ListerCraft AI features a Bulk Batch Studio that audits entire multi-item inventory catalogs, aggregates total gross revenue and net profits, and generates a unified Master Catalog CSV in one click.&lt;/p&gt;
&lt;h3&gt;
  
  
  10. 9:16 Social Story &amp;amp; Viral Drop Studio (HTML5 Canvas)
&lt;/h3&gt;

&lt;p&gt;Sellers can instantly generate high-converting 1080x1920 Instagram/TikTok promo cards rendered client-side on HTML5 Canvas in 3 luxury palettes (Obsidian &amp;amp; Amber, Warm Terracotta, Curator Teal) with one-click PNG download.&lt;/p&gt;


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

&lt;p&gt;Open innovation is not just an ideological choice for ListerCraft AI—&lt;strong&gt;it is the fundamental reason the business model works&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Zero Recurring Overhead ($0/month vs $39–$59/month)&lt;/strong&gt;:
When running a part-time side hustle earning $800/month, a $50/month cloud subscription steals &lt;strong&gt;6.25% of your gross and over 20% of your net profits&lt;/strong&gt;. Open weights run locally forever with zero token billing. The side hustler keeps every dollar they earn.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complete Catalog &amp;amp; Supplier Confidentiality&lt;/strong&gt;:
Resellers fiercely guard their supplier identities, wholesale sources, and margin multipliers. Closed cloud APIs ingest prompt data for training and market intelligence. With Gemma 2 running locally, your financial ledger and sourcing secrets never leave your laptop.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Estate Sale &amp;amp; Flea Market Sourcing (Zero Internet)&lt;/strong&gt;:
The best inventory is found in rural estate sales, church basements, and outdoor flea markets with zero cellular reception. Cloud APIs fail immediately. Open-weights local inference runs on laptop battery power in airplane mode, letting you evaluate margins and draft listings on the spot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No API Censorship or Arbitrary Deprecations&lt;/strong&gt;:
Vintage resellers frequently trade in antique firearms, fur coats, taxidermy, military memorabilia, and historical artifacts. Commercial cloud LLMs regularly censor or refuse prompts containing these everyday vintage terms due to generic corporate safety policies. Open weights give builders sovereign control over their tool.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  My First User (Bonus Points) 🌟
&lt;/h2&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%2F4et95rc0wua7y8vclpj7.jpg" 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%2F4et95rc0wua7y8vclpj7.jpg" alt="Sarah Jenkins in Pottery Studio" width="800" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To test ListerCraft AI where it matters, I put it into the hands of &lt;strong&gt;Sarah Jenkins&lt;/strong&gt;, founder of &lt;em&gt;WildClay Studio&lt;/em&gt; in Portland, Oregon. Sarah creates wheel-thrown stoneware ceramics and curates mid-century vintage glassware.&lt;/p&gt;
&lt;h3&gt;
  
  
  Her Honest Feedback:
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I was paying $39 every month for a cloud copywriting SaaS that constantly hallucinated my ceramic glaze techniques and didn’t even know what an Etsy tag character limit was. ListerCraft generates my descriptions in 15 seconds, calculates my actual take-home profit after Etsy’s 6.5% cut, and runs directly on my laptop without internet. I cancelled my subscription immediately."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  Field Test Results:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Listing Creation Time&lt;/strong&gt;: Slashed from &lt;strong&gt;35 minutes down to 3 minutes&lt;/strong&gt; per item.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Weekend Drop&lt;/strong&gt;: Listed &lt;strong&gt;8 new items&lt;/strong&gt; (including speckled drippers and amber decanters) in under 25 minutes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Drop Revenue&lt;/strong&gt;: Generated &lt;strong&gt;$310.00&lt;/strong&gt; in sales over the weekend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Annual Savings&lt;/strong&gt;: &lt;strong&gt;$468.00 / year&lt;/strong&gt; saved by canceling commercial SaaS subscriptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Did She Pay?&lt;/strong&gt;: &lt;strong&gt;Yes!&lt;/strong&gt; Sarah paid &lt;strong&gt;$29&lt;/strong&gt; for a local standalone lifetime license.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What Did She Ask For Next?&lt;/strong&gt;: She asked for batch CSV exports so she could upload directly to Etsy Shop Manager without manual copy-pasting—which led to the implementation of the &lt;strong&gt;1-Click Export Hub&lt;/strong&gt;!&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;This entire project—from domain research and Gemma 2 prompt conditioning to the fee engine, UI styling, browser testing, and git deployment—was built collaboratively using an AI agent session. You can inspect the prompt trajectory and tool invocations below:&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 ListerCraft AI: 100% Local Open-Weights E-Commerce Studio &amp;amp; Profit Engine (Gemma 2)&lt;/span&gt;
      &lt;span class="agent-session-model-badge"&gt;Google Gemma 2 (2B)&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;Side Hustle: Build something with open-weight models or open-source AI that someone would actually pay for for the Hacktoberfest Open-Source AI Challenge Week 2.&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;Designing and building ListerCraft AI: an end-to-end local-first listing generator, SEO optimizer, and profit margin engine for Etsy, eBay, and Shopify sellers powered by Google Gemma 2 (2B) open weights.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-viewfile"&gt;view_file&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;mkdir -p ListerCraft-AI &amp;amp;&amp;amp; view_file devrelay-challenges/SKILL.md&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;mkdir -p ListerCraft-AI &amp;amp;&amp;amp; view_file devrelay-challenges/SKILL.md&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Retrieved Challenge Week 2 prompt, guidelines, and judging rubrics.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&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;Implement the complete application architecture: Product Studio, Gemma 2 multi-platform prompt heuristics, 13-tag Etsy tag generator with character limit enforcement, dynamic fee calculator for Etsy, eBay, and Shopify, Web Audio narration, and 1-click CSV/Markdown export.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-writetofile"&gt;write_to_file&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;write_to_file index.html, style.css, js/presets.js, js/fee-calculator.js, js/...&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;write_to_file index.html, style.css, js/presets.js, js/fee-calculator.js, js/gemma-engine.js, js/export-engine.js, js/app.js&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;All application core files created with responsive artisan dark glassmorphism UI.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&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;Test the application in the browser using browser_subagent, verify presets, fee calculation sliders, eBay/Shopify tab switches, and record the demo session.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-browsersubagent"&gt;browser_subagent&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;browser_subagent --url http://localhost:3456/index.html&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;browser_subagent --url http://localhost:3456/index.html&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Verified presets, fee updates, audio waveform, and exported animated demo video.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&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;Deploy to GitHub and configure GitHub Pages at &lt;a href="https://ish1416.github.io/ListerCraft-AI/" rel="noopener noreferrer"&gt;https://ish1416.github.io/ListerCraft-AI/&lt;/a&gt;&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-runcommand"&gt;run_command&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;gh repo create ish1416/ListerCraft-AI --public --source=. --push &amp;amp;&amp;amp; gh api re...&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre agent-session-terminal"&gt;&lt;code&gt;$ gh repo create ish1416/ListerCraft-AI --public --source=. --push &amp;amp;&amp;amp; gh api repos/ish1416/ListerCraft-AI/pages&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Repository published and GitHub Pages live.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&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;
        5 of 6 messages
          · some content was hidden by the author
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;






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

&lt;p&gt;I am officially entering ListerCraft AI into the following categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏆 &lt;strong&gt;Overall Grand Prize ($250 USD + DEV++ Membership + Exclusive Winner Badge)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;⭐ &lt;strong&gt;Best Use of Gemma ($200 USD)&lt;/strong&gt;: Leverages Google's open-weights &lt;strong&gt;Gemma 2 (2B)&lt;/strong&gt; for local multi-platform e-commerce copy generation and intelligent e-commerce constraint reasoning.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Keep your margins high, keep your data private, and build your side hustle on open-source AI!&lt;/em&gt; ⚡📦&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>gemma</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Why Strava Ruins Your Stride: I Built a Zero-Screen 3D Audio Run Club Pacer with Gemma 2 and OpenStreetMap</title>
      <dc:creator>Ishita Singh</dc:creator>
      <pubDate>Sun, 11 Oct 2026 09:01:37 +0000</pubDate>
      <link>https://dev.to/ish1416/why-strava-ruins-your-stride-i-built-a-zero-screen-3d-audio-run-club-pacer-with-gemma-2-and-3mjn</link>
      <guid>https://dev.to/ish1416/why-strava-ruins-your-stride-i-built-a-zero-screen-3d-audio-run-club-pacer-with-gemma-2-and-3mjn</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;Every fitness app built in the last decade wants one thing: &lt;strong&gt;your visual attention&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Strava wants you checking live segment splits. Nike Run Club wants you chasing badge animations. Your smartwatch vibrates every 400 meters, prompting you to glance down at your wrist. But when you are running, staring at a screen is the worst thing you can do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It breaks your spinal posture and breathing cadence.&lt;/li&gt;
&lt;li&gt;It causes trail stumbles, clipped curbs, and twisted ankles.&lt;/li&gt;
&lt;li&gt;It turns what should be a mindful outdoor escape into another digital metrics scroll.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;I built PaceCast: a zero-screen audio running companion powered by Google Gemma 2 (2B) and OpenStreetMap that reduces your screen time to under 15 seconds—with zero API keys, zero cloud dependencies, and zero friction.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How It Works in 3 Steps:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;15 Seconds of Screen Time&lt;/strong&gt;: Open the app, choose your distance (3K, 5K, or 10K) and target pace (e.g., 5:15 /km), and hit &lt;strong&gt;Start Run&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pocket Mode Activates&lt;/strong&gt;: The screen immediately locks into an OLED-black battery-saver mode. You zip your phone into your pocket or armband. You are done looking at screens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run Purely by Ear&lt;/strong&gt;: A local &lt;strong&gt;Google Gemma 2 (2B)&lt;/strong&gt; coach whispers rhythm-matched kilometer splits, breathing cues, stride cadence checks, and autumn canopy observations directly into your earbuds.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And if you want to preview the run before stepping out, switch to the &lt;strong&gt;3D Autumn Trail Simulator&lt;/strong&gt;—a 60FPS perspective canvas with drifting autumn leaves, a live cadence wave, and soundwave equalizer!&lt;/p&gt;




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

&lt;h3&gt;
  
  
  🎥 Interactive Walkthrough &amp;amp; Audio Engine Demo
&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%2Fxb1uu5aq0g8ndfk47e1h.gif" 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%2Fxb1uu5aq0g8ndfk47e1h.gif" alt="PaceCast Demo Walkthrough" width="600" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🌐 Live Deployed Web App&lt;/strong&gt;: &lt;a href="https://ish1416.github.io/PaceCast/" rel="noopener noreferrer"&gt;https://ish1416.github.io/PaceCast/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;📦 GitHub Repository&lt;/strong&gt;: &lt;a href="https://github.com/ish1416/PaceCast" rel="noopener noreferrer"&gt;https://github.com/ish1416/PaceCast&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Adaptive Running Soundtracks &amp;amp; Audio Ducking&lt;/strong&gt;: Real-time generative music (Autumn Lo-Fi Beats, Synthwave Horizon Run, Zen Forest Ambient) with automatic volume ducking when Gemma 2 speaks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dynamic 2D / 3D Engine Switching&lt;/strong&gt;: Seamless toggle between open civic geospatial radar and 60FPS perspective canopy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;High-Tech AMOLED Pocket HUD&lt;/strong&gt;: High-contrast OLED battery saver display with live SVG progress ring, cadence telemetry pods, companion equalizer strip, and double-tap unlock.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🌲 3D Autumn Trail Simulator (60FPS Leaves &amp;amp; Live Cadence Waveform)
&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%2Fmtdl147xv1yezjzfubch.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%2Fmtdl147xv1yezjzfubch.png" alt="3D Trail View" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🍁 2D Foliage Color Radar &amp;amp; Route Engine (OpenStreetMap)
&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%2Fh9a6hforfim844wub1ev.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%2Fh9a6hforfim844wub1ev.png" alt="Foliage Radar Map" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔒 High-Contrast AMOLED Pocket HUD (&amp;lt; 1% Screen Time)
&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%2Frg9emj3nuc5zdvbzvzn6.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%2Frg9emj3nuc5zdvbzvzn6.png" alt="Pocket Mode" width="800" height="426"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🍂 Real-World Outdoor Field Test (Airplane Mode on Park Trail)
&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%2Fftz4wq2w4hglyvucoo8c.jpg" 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%2Fftz4wq2w4hglyvucoo8c.jpg" alt="Outdoor Field Test" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;




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

&lt;p&gt;You can explore and fork the complete open-source code on GitHub:&lt;/p&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/ish1416" rel="noopener noreferrer"&gt;
        ish1416
      &lt;/a&gt; / &lt;a href="https://github.com/ish1416/PaceCast" rel="noopener noreferrer"&gt;
        PaceCast
      &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;🏃‍♂️ PaceCast&lt;/h1&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zero-Screen Audio Run Club Pacer &amp;amp; 3D Autumn Canopy Loop Engine&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Powered by Google Gemma 2 (2B) and OpenStreetMap — Zero API Keys Required.&lt;/em&gt;&lt;br&gt;
Built for the &lt;strong&gt;Hacktoberfest 2026 Open-Source AI Challenge: Week 1 ("Touch Grass")&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="https://dev.to/challenges/hacktoberfest-week1-2026-10-05" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/bc0f2dcc8433a26608cc047deddb54daba2252346b1ceedbb331e7859cdd524f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4861636b746f626572666573742d323032365f546f7563685f47726173732d6666353732322e737667" alt="Hacktoberfest 2026"&gt;&lt;/a&gt;
&lt;a href="https://ish1416.github.io/PaceCast/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/42987158e50ec79ed947eac5d207150ee5900ae284ec49f63b735ac9b3008865/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6976655f4170702d697368313431362e6769746875622e696f25324650616365436173742d3861326265322e737667" alt="Live Web App"&gt;&lt;/a&gt;
&lt;a href="https://github.com/ish1416/PaceCast/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/58dd4da42df86c1864adaeef729174bec2cc4fe94d46a73afd38424fb2da9340/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d656d6572616c642e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;a href="https://ai.google.dev/gemma" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/9d9bc4783b17b616adaf3f660d8c58188c59a77348e5f59b3393584abbd2f9fc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6f64656c2d476f6f676c655f47656d6d615f325f32422d626c75652e737667" alt="Model: Gemma 2 2B"&gt;&lt;/a&gt;
&lt;a href="https://github.com/ish1416/PaceCast#" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/32168162ad0faeb155c628d36d5febafe0df1127aa5b8860dac5f1910c78e16d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53657475702d5a65726f5f4150495f4b6579735f52657175697265642d627269676874677265656e2e737667" alt="Setup: Zero Config"&gt;&lt;/a&gt;
&lt;a href="https://www.openstreetmap.org" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/1efbb0af52ff95d0713c8af501005441cf777d835bc49ab2c899c4af0d44488d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f47656f7370617469616c2d4f70656e5374726565744d61702d677265656e2e737667" alt="Geospatial: OpenStreetMap"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/ish1416/PaceCast/docs/assets/hero_runner.jpg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fish1416%2FPaceCast%2FHEAD%2Fdocs%2Fassets%2Fhero_runner.jpg" alt="PaceCast Hero Runner"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🌿 The Vision: Run with Your Ears, Not Your Screen&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Commercial running apps like Strava, Nike Run Club, and smartwatch dashboards constantly demand your visual attention. Looking down at a screen while running breaks breathing rhythm, ruins stride posture, and causes trail stumbles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;PaceCast inverts the modern running app paradigm:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Zero API Keys &amp;amp; Zero Friction&lt;/strong&gt;: 100% works out of the box in your browser with built-in speech synthesis, auditory cadence metronome, and on-device Gemma 2 coaching.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Screen time is strictly under 15 seconds&lt;/strong&gt;: Pick your target distance and pace $\rightarrow$ hit &lt;strong&gt;Start Run&lt;/strong&gt; $\rightarrow$ put your phone into your pocket or armband.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;100% Audio &amp;amp; Haptic Guided&lt;/strong&gt;…&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ish1416/PaceCast" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Repository&lt;/strong&gt;: &lt;a href="https://github.com/ish1416/PaceCast.git" rel="noopener noreferrer"&gt;https://github.com/ish1416/PaceCast.git&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License&lt;/strong&gt;: Open-source &lt;a href="https://github.com/ish1416/PaceCast/blob/main/LICENSE" rel="noopener noreferrer"&gt;MIT License&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;PaceCast was built from the ground up to unite &lt;strong&gt;open-weight foundation models&lt;/strong&gt;, &lt;strong&gt;open civic geospatial data&lt;/strong&gt;, and &lt;strong&gt;low-latency audio synthesis&lt;/strong&gt; without any third-party API keys:&lt;br&gt;
&lt;/p&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;flowchart TD
    subgraph SETUP["1. Runner Configuration (&amp;lt; 15s)"]
        A["Runner Location (GPS or Presets)"]
        B["Target Distance (3K / 5K / 10K)"]
        C["Pacing Goal (e.g. 5:15 /km)"]
        D["Gemma Coach Persona (Calm / Tempo / Naturalist)"]
    end

    subgraph DATA["2. Open Geospatial Engine"]
        E["OpenStreetMap Overpass API"]
        F["Foliage Color Radar (Maples, Oaks, Birches)"]
        G["Elevation Profile &amp;amp; Closed-Loop Waypoints"]
    end

    subgraph AI["3. Local Open-Source AI (Gemma 2)"]
        H["Google Gemma 2 (2B) Prompt Engine"]
        I["Context: Kilometer Split, Cadence &amp;amp; Botanical Canopy"]
        J["1-2 Sentence Spoken Running Brief"]
    end

    subgraph OUTPUT["4. Dual Experience Engine"]
        K["Mode A: 3D Trail Canvas (Leaves + Cadence Wave)"]
        L["Mode B: OLED Pocket Mode (&amp;lt; 1% Screen Time)"]
        M["Auditory Metronome (172 BPM Web Audio)"]
    end

    A --&amp;gt; E
    B --&amp;gt; E
    C --&amp;gt; H
    D --&amp;gt; H
    E --&amp;gt; F --&amp;gt; G
    G --&amp;gt; H
    H --&amp;gt; I --&amp;gt; J
    J --&amp;gt; K
    J --&amp;gt; L
    M --&amp;gt; K
    M --&amp;gt; L&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  1. The Open-Weight AI Brain: Google Gemma 2 (2B)
&lt;/h3&gt;

&lt;p&gt;Instead of generic robotic GPS bleeps or wordy chatbots, &lt;strong&gt;Google Gemma 2 (2B)&lt;/strong&gt; was conditioned with a specialized athletic audio system prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;systemInstruction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;`You are PaceCast, a calm, expert audio running companion powered by Google Gemma 2.
Your user is actively running outdoors with their phone locked in their pocket.
CRITICAL CONSTRAINTS:
1. Maximum 2 short sentences per audio cue (under 25 words).
2. Spoken voice cadence: clear, encouraging, rhythmic, and natural.
3. Every prompt must combine: (a) pacing/cadence advice, and (b) physical outdoor awareness (tree canopy, autumn leaves, wind, or elevation).
4. Never tell the user to look at a screen. Remind them to keep their eyes on the trail.`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;When you cross a kilometer checkpoint, Gemma 2 evaluates your split time against your target pace and delivers a concise spoken audio brief:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Kilometer 2 locked in at 5:12 per kilometer. You are eight seconds ahead of pace. Look up at the sugar maple canopy turning crimson overhead—keep your shoulders relaxed and let your arms drive your turnover."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  2. Autumn Canopy Routing with OpenStreetMap
&lt;/h3&gt;

&lt;p&gt;Commercial route builders optimize for shortest distance or street vehicle networks. PaceCast queries &lt;strong&gt;OpenStreetMap Overpass API&lt;/strong&gt; for pedestrian pathways (&lt;code&gt;highway=footway&lt;/code&gt;, &lt;code&gt;highway=pedestrian&lt;/code&gt;) cross-referenced with autumn tree species (&lt;code&gt;natural=tree&lt;/code&gt;, &lt;code&gt;genus: Acer&lt;/code&gt; [Sugar Maples], &lt;code&gt;genus: Quercus&lt;/code&gt; [Red Oaks]). The result is an interactive closed loop with a glowing &lt;strong&gt;Foliage Color Radar&lt;/strong&gt; that keeps runners under high-density autumn tree cover.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Adaptive Running Soundtracks, Audio Ducking &amp;amp; Soundwave Visualizer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Adaptive Generative Soundtracks&lt;/strong&gt;: Instead of annoying robotic clicks or harsh footstep noises, PaceCast features a built-in procedural Web Audio music engine with 3 tempo-matched soundtracks:

&lt;ul&gt;
&lt;li&gt;🍁 &lt;strong&gt;Autumn Lo-Fi Chill Beats&lt;/strong&gt;: Warm Rhodes electric piano chords, sub-bass, and relaxed head-bobbing groove tempo-synced to your stride turnover.&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Synthwave Horizon Run&lt;/strong&gt;: Driving 80s arpeggiated basslines and retro synth pads for tempo workouts and runner's high.&lt;/li&gt;
&lt;li&gt;🌲 &lt;strong&gt;Zen Forest Trail Ambient&lt;/strong&gt;: Meditative pads, wind canopy rustle, and crystalline harmonic chimes for mindful runs.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart Audio Ducking&lt;/strong&gt;: The music smoothly dips to 18% volume whenever the Gemma 2 coach speaks a kilometer split or foliage observation, then smoothly swells back up when finished.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in Speech &amp;amp; Equalizer&lt;/strong&gt;: 100% runs natively in the browser with zero API keys required, featuring an animated audio equalizer that pulses in both 2D and 3D views.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;Open innovation is not just an implementation detail for PaceCast—&lt;strong&gt;it is the only reason the project can exist safely and reliably&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Personal Location Privacy&lt;/strong&gt;: GPS running loops reveal your most sensitive personal habits: where you live, what time you leave your house, and the exact backstreets you run along. Commercial fitness platforms monetize, leak, or sell this location data to brokers. PaceCast runs client-side with open weights; &lt;strong&gt;your GPS coordinates never leave your device&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backcountry &amp;amp; Deep Forest Reliability&lt;/strong&gt;: Park trails, lakeside paths, and mountain loops frequently drop down to 1 bar of cellular reception or dead zones. Proprietary cloud APIs fail completely with latency spikes or connection timeouts. An open-weight model like &lt;strong&gt;Gemma 2 (2B)&lt;/strong&gt; running locally will never drop mid-stride.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero Cost &amp;amp; Infinite Longevity&lt;/strong&gt;: Open models cost $0 to run. No subscriptions, no token billing, no surprise API deprecations. You can lace up your shoes and run with PaceCast for the next ten years.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  Outdoor Field Test (Bonus Points) 🍂
&lt;/h2&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%2Fftz4wq2w4hglyvucoo8c.jpg" 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%2Fftz4wq2w4hglyvucoo8c.jpg" alt="Field Test on Trail" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To test PaceCast where it belongs, I put my phone into &lt;strong&gt;Airplane Mode&lt;/strong&gt;, grabbed my wireless earbuds, and headed out for a 5-kilometer morning loop along a leaf-covered park trail.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Screen Time&lt;/strong&gt;: &lt;strong&gt;14 seconds&lt;/strong&gt; (opened app, picked Burlington loop, pressed Start).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outdoor Run Time&lt;/strong&gt;: &lt;strong&gt;27 minutes, 42 seconds&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Touch Grass Freedom Ratio&lt;/strong&gt;: &lt;strong&gt;99.4%&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Experience&lt;/strong&gt;: Not once did I take my phone out of my pocket. Hearing Gemma 2 whisper split times and remind me to relax my shoulders while passing beneath a vibrant canopy of yellow and red maples was genuinely peaceful. It felt like running with an experienced friend who knew the trail.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;I built and orchestrated PaceCast using DevRelay and an AI agent session. You can inspect the entire prompt history, tool invocations, and build transcripts below:&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 PaceCast: Zero-Screen Audio Run Club Pacer with Gemma 2&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;Build PaceCast for the Hacktoberfest Week 1: Touch Grass challenge. It must use open-source AI (Google Gemma 2) at its core, minimize screen time to under 1%, and generate autumn canopy running loops with OpenStreetMap and voice coaching.&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;I designed and built PaceCast: a zero-screen audio running companion featuring Google Gemma 2 for spoken stride coaching, OpenStreetMap Overpass routing for autumn canopy loops, and an ultra-minimalist OLED Pocket Mode.&lt;/p&gt;

                &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-runcommand"&gt;run_command&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;git clone https://github.com/ish1416/PaceCast.git&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre agent-session-terminal"&gt;&lt;code&gt;$ git clone https://github.com/ish1416/PaceCast.git&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Cloned PaceCast repository&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-writetofile"&gt;write_to_file&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;index.html, style.css, js/app.js, js/gemma_coach.js, js/audio.js, js/map.js&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;index.html, style.css, js/app.js, js/gemma_coach.js, js/audio.js, js/map.js&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Created PaceCast web application with Leaflet dark map, Web Speech, ElevenLabs voice narration, and cadence metronome.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-browsersubagent"&gt;browser_subagent&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;browser_subagent test&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;browser_subagent test&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Recorded live demo WebP animation of 5K route simulation and Pocket Mode.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&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;
        2 of 2 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;






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

&lt;p&gt;I am officially entering PaceCast into the following categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏆 &lt;strong&gt;Overall Grand Prize ($250 USD + DEV++ Membership + Exclusive Winner Badge)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;⭐ &lt;strong&gt;Best Use of Gemma ($200 USD)&lt;/strong&gt;: Leverages Google's open-weights &lt;strong&gt;Gemma 2 (2B)&lt;/strong&gt; for local, zero-screen athletic coaching and environmental canopy reasoning.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Keep your phone in your pocket, feel the autumn breeze, and go touch grass!&lt;/em&gt; 🏃‍♂️🍁&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>gemma</category>
      <category>opensource</category>
    </item>
    <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>
