<?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: Nishant Gaurav</title>
    <description>The latest articles on DEV Community by Nishant Gaurav (@ng19nishant).</description>
    <link>https://dev.to/ng19nishant</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F99mvlsfu5tfj9m7ku25d.png</url>
      <title>DEV Community: Nishant Gaurav</title>
      <link>https://dev.to/ng19nishant</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ng19nishant"/>
    <language>en</language>
    <item>
      <title>From Raw Notes to First Sale: The Complete Guide to Building a Privacy-First E-Commerce AI Copywriter with Google Gemma 2 &amp; ElevenLabs</title>
      <dc:creator>Nishant Gaurav</dc:creator>
      <pubDate>Thu, 15 Oct 2026 22:06:37 +0000</pubDate>
      <link>https://dev.to/ng19nishant/from-raw-notes-to-first-sale-the-complete-guide-to-building-a-privacy-first-e-commerce-ai-41o6</link>
      <guid>https://dev.to/ng19nishant/from-raw-notes-to-first-sale-the-complete-guide-to-building-a-privacy-first-e-commerce-ai-41o6</guid>
      <description>&lt;h1&gt;
  
  
  From Raw Notes to First Sale: The Complete Guide to Building a Privacy-First E-Commerce AI Copywriter with Google Gemma 2 &amp;amp; ElevenLabs
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Submitted for the **Hacktoberfest Open-Source AI Challenge: Week 2 — Side Hustle&lt;/em&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 The Problem: The Copywriting Chokehold on Solo Side Hustlers
&lt;/h2&gt;

&lt;p&gt;If you run an e-commerce side hustle—selling vintage decor, handcrafted leather goods, custom mechanical keyboards, or 3D-printed workshop tools—you know the feeling: &lt;strong&gt;creating the item is the fun part. Writing listings for multiple marketplaces is painful.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each marketplace speaks its own dialect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌿 &lt;strong&gt;Etsy&lt;/strong&gt; expects sensory, artisanal storytelling, tactile material descriptions, and long-tail comma-separated search tags.&lt;/li&gt;
&lt;li&gt;📦 &lt;strong&gt;Amazon&lt;/strong&gt; demands punchy, keyword-dense bullet points with zero filler.&lt;/li&gt;
&lt;li&gt;🏷️ &lt;strong&gt;eBay&lt;/strong&gt; demands condition grading clarity, straight-to-the-point specs, and reassuring return/shipping guarantees.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────┐       ┌────────────────────────────────────────────────────────┐
│  Raw Item Notes │  ──►  │ How do I write 3 different formats for Etsy, Amazon,   │
│  "Leather card  │       │ &amp;amp; eBay without paying $30/mo or giving up my catalog?  │
│   holder wallet"│       └────────────────────────────────────────────────────────┘
└─────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Why Existing Cloud Solutions Fail Side-Hustlers
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Subscription Tax&lt;/strong&gt;: $20–$50/month per-seat fees or unpredictable OpenAI API token bills eat away at thin profit margins on $15–$30 items.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Catalog Privacy &amp;amp; Leakage&lt;/strong&gt;: Side-hustlers often draft listings weeks before a collection drop. Unreleased designs, wholesale margins, and proprietary supplier details get fed into commercial cloud LLMs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "Silent Copy" Trap&lt;/strong&gt;: When writing copy silently in your head, awkward phrasing slips through. You only discover your listing sounds stiff and robotic after a buyer ignores it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;ListingGenius&lt;/strong&gt; was built to solve all three issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Runs &lt;strong&gt;100% locally&lt;/strong&gt; using &lt;strong&gt;Google's Gemma 2&lt;/strong&gt; via Ollama: &lt;strong&gt;$0.00 in API costs&lt;/strong&gt;, total privacy, and full offline capability.&lt;/li&gt;
&lt;li&gt;Features &lt;strong&gt;instant voice auditions&lt;/strong&gt; via &lt;strong&gt;ElevenLabs Multilingual v2&lt;/strong&gt;: Hear how your listing sounds to a real shopper before publishing, or export the MP3 audio directly for &lt;strong&gt;TikTok Shop, Reels, and Amazon Video&lt;/strong&gt; listings.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🎥 Video Demo &amp;amp; Walkthrough
&lt;/h2&gt;

&lt;p&gt;Watch ListingGenius in action generating listings with Google Gemma 2 and auditioning voice with ElevenLabs:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/yHkvyK9Pdlw" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;


&lt;h2&gt;
  
  
  📸 The Application: Live Walkthrough
&lt;/h2&gt;

&lt;p&gt;Here is the live generator in action showing the new marketplace card selector and generated listing output:&lt;/p&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%2F15711327c0fo1btyqr3d.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%2F15711327c0fo1btyqr3d.png" alt="ListingGenius Live Demo" width="799" height="529"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Source Code&lt;/strong&gt;: &lt;a href="https://github.com/Imbiber/listing-genius" rel="noopener noreferrer"&gt;https://github.com/Imbiber/listing-genius&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Agent Session&lt;/strong&gt;: &lt;a href="https://dev.to/agent_sessions/building-listinggenius-privacy-first-ai-listing-generator-with-gemma-2-elevenlabs-ehfj8r"&gt;Building ListingGenius on DEV&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🛠️ Step-by-Step Walkthrough: How It Works
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Step 1: Platform Selection &amp;amp; Raw Bullet Input
&lt;/h3&gt;

&lt;p&gt;Instead of struggling over sentence structure, sellers select their target marketplace (&lt;strong&gt;Etsy&lt;/strong&gt;, &lt;strong&gt;eBay&lt;/strong&gt;, or &lt;strong&gt;Amazon&lt;/strong&gt;) and paste raw bullet points or photos:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Product: Minimalist front pocket cardholder wallet
Material: Full grain Italian vegetable-tanned leather
Capacity: Holds 8 cards + cash slot
Features: Hand-stitched with waxed linen thread, RFID blocking layer
Who it's for: Everyday carry enthusiasts, minimalist gift idea
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Local Gemma 2 Inference ($0 Cost &amp;amp; Instant JSON)
&lt;/h3&gt;

&lt;p&gt;When the user clicks &lt;strong&gt;"✨ Generate Listing"&lt;/strong&gt;, the request hits the local Ollama instance running Google's &lt;code&gt;gemma2:latest&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Gemma 2 evaluates the marketplace prompt template and returns structured JSON containing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Title&lt;/strong&gt;: Search-ranked and formatted to character limits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;: Polished body copy tailored for the selected audience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tags&lt;/strong&gt;: High-volume marketplace search tags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Call to Action&lt;/strong&gt;: Direct closing pitch to drive immediate checkouts.&lt;/li&gt;
&lt;/ol&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%2Ffdscik0lsxs9qh6qedl5.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%2Ffdscik0lsxs9qh6qedl5.png" alt="ListingGenius Generated Output" width="800" height="577"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  Step 3: Audio Auditioning with ElevenLabs
&lt;/h3&gt;

&lt;p&gt;Once generated, the seller clicks &lt;strong&gt;"Read Aloud"&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;ListingGenius calls ElevenLabs' &lt;code&gt;eleven_multilingual_v2&lt;/code&gt; model with natural speech synthesis:&lt;/p&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%2F2v0mpqqope8rqmurjznt.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%2F2v0mpqqope8rqmurjznt.png" alt="ElevenLabs Audio Audition Engine" width="799" height="316"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  Why This Changes the Game:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Catches awkward cadence&lt;/strong&gt;: When spoken aloud, run-on sentences and robotic marketing buzzwords immediately stand out.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multichannel Video Commerce&lt;/strong&gt;: Sellers can export the audio file with one click and overlay it on product video shorts for &lt;strong&gt;TikTok Shop, Pinterest Idea Pins, or Instagram Reels&lt;/strong&gt;—turning text into a voiceover video ad in 30 seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility&lt;/strong&gt;: Provides immediate audio descriptions for visually impaired buyers.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🏛️ Local Architecture: How We Built It
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌──────────────────────────────────────────────────────────────────┐
│                   Next.js 16 (App Router &amp;amp; Turbopack)            │
│   • Marketplace Switcher (Etsy / Amazon / eBay)                  │
│   • Form Input &amp;amp; One-Click Copy System                           │
│   • Audio Waveform &amp;amp; MP3 Streamer                                │
└─────────────────────────────────┬────────────────────────────────┘
                                  │
                  ┌───────────────┴───────────────┐
                  ▼                               ▼
  ┌──────────────────────────────┐┌──────────────────────────────┐
  │      Google Gemma 2          ││    ElevenLabs TTS Engine     │
  │  (Local Ollama Inference)    ││   (eleven_multilingual_v2)   │
  │                              ││                              │
  │ • Runs on localhost:11434    ││ • Lifelike voice synthesis   │
  │ • Zero API Token Bills       ││ • Audio auditioning          │
  │ • 100% Private &amp;amp; Offline     ││ • TikTok/Reels exportable    │
  │ • Structured JSON Schema     ││ • Natural phrasing validator │
  └──────────────────────────────┘└──────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  The Prompt Architecture
&lt;/h3&gt;

&lt;p&gt;To ensure Gemma 2 produces predictable, production-ready listings, we constructed platform-tailored system instructions that constrain output to verified JSON schemas:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// lib/prompts.ts&lt;/span&gt;
&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getPlatformPrompt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Platform&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;notes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;constraints&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;etsy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Craft an emotional, artisanal narrative. Emphasize craftsmanship and materials. Provide 13 search tags.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;amazon&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Create 5 structured bullet points highlighting benefits, dimensions, and materials. Include high-intent SEO keywords.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;ebay&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Prioritize clear condition grading, precise technical specs, and reassuring buyer policies (shipping/returns).&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;system&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`You are an elite e-commerce copywriter. Output MUST be valid JSON with keys: title, description, tags, callToAction.`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Target Platform: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;. Specifications: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;constraints&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;]}&lt;/span&gt;&lt;span class="s2"&gt;. Product Notes: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;notes&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ⚡ Quickstart: Run It Locally in 3 Steps
&lt;/h2&gt;

&lt;p&gt;Want to run ListingGenius on your laptop for your own products?&lt;/p&gt;
&lt;h3&gt;
  
  
  1. Install Ollama and Pull Gemma 2
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install Ollama&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://ollama.com/install.sh | sh

&lt;span class="c"&gt;# Pull Google's open-weight model (5.4 GB)&lt;/span&gt;
ollama pull gemma2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Clone the Repository &amp;amp; Install Dependencies
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Imbiber/listing-genius.git
&lt;span class="nb"&gt;cd &lt;/span&gt;listing-genius
npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  3. Add Keys &amp;amp; Start
&lt;/h3&gt;

&lt;p&gt;Create &lt;code&gt;.env.local&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ELEVENLABS_API_KEY=your_key_here
OLLAMA_BASE_URL=http://localhost:11434
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Start development server:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Open &lt;code&gt;http://localhost:3000&lt;/code&gt; and start generating!&lt;/p&gt;


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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Theme: Side Hustle (Hacktoberfest Week 2)&lt;/strong&gt;: Solves the copywriting bottleneck for micro-sellers with local AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of Gemma ($200)&lt;/strong&gt;: Runs Google Gemma 2 locally for zero-token-cost, private inference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best Use of ElevenLabs ($100)&lt;/strong&gt;: Employs &lt;code&gt;eleven_multilingual_v2&lt;/code&gt; for voice auditioning and video listing voiceovers.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  🤖 The Agent Session: Show Your Work
&lt;/h2&gt;

&lt;p&gt;ListingGenius was planned, built, and debugged collaboratively using an AI coding agent. We configured local Ollama fallback pipelines, fixed deprecated ElevenLabs model endpoints, and styled the UI.&lt;/p&gt;

&lt;p&gt;You can inspect the entire prompt history, tool calls, and code diffs in the interactive transcript on DEV:&lt;/p&gt;


&lt;div class="crayons-card my-2 p-4"&gt;
  &lt;p class="color-base-60"&gt;Post not found or has been removed.&lt;/p&gt;
&lt;/div&gt;






&lt;h2&gt;
  
  
  💬 Community Feedback
&lt;/h2&gt;

&lt;p&gt;Are you a maker, vintage curator, or digital seller? What marketplace formats would you like added next (Shopify, Depop, Poshmark)? Let me know in the comments below!&lt;/p&gt;

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