{"slug": "listcraft-ai-zero-cost-100-private-product-listing-generator-for-side-hustlers", "title": "ListCraft AI — Zero-Cost, 100% Private Product Listing Generator for Side Hustlers", "summary": "A developer built ListCraft AI, a browser-based product listing generator for Etsy, eBay, and Amazon sellers that runs entirely against a local Ollama instance. The tool streams tokens from open-weight models such as Llama 3.1 8B, Mistral, and Gemma via fetch and TextDecoder, parses delimited output into title, description, tags, and bullet points, and stores listing history in localStorage without cloud databases or user tracking.", "body_md": "*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle](https://dev.to/challenges/hacktoberfest-week2-2026-10-12)*\n\nI built **ListCraft AI** — a high-performance, privacy-first product listing generator designed specifically for e-commerce side hustlers and online sellers on **Etsy, eBay, and Amazon**.\n\nSelling online is one of the most accessible side hustles today, but writing listings is exhausting:\n\n*Figure 1: The primary workspace featuring our custom faceted crystal SVG logo, connection telemetry, and a cosmic midnight glassmorphic UI. Notice the floating showcase cards in the periphery depicting real artisan items (leather journals, mechanical timepieces, sculptural ceramics) that provide visual inspiration while keeping the focus on copywriting.*\n\n*Figure 2: Real-time listing generation in progress. Utilizing Ollama's HTTP streaming protocol with `ReadableStream` and `TextDecoder`, tokens appear with sub-50ms latency alongside an animated terminal cursor, eliminating waiting spinners.*\n\n*Figure 3: Completed Etsy listing output. The raw model output is automatically parsed into discrete, production-ready modules: an algorithmically front-loaded Title, rich storytelling Description, interactive Tag Chips (strictly formatted for Etsy's 13-tag limit), and conversion-focused Bullet Points with one-click clipboard copying.*\n\n*Figure 4: The slide-out History Drawer. Every generated listing is persisted locally in the browser's `localStorage` via a lightweight FIFO queue, allowing sellers to switch between catalog drafts without cloud databases or user tracking.*\n\n*Repository structure:*\n\n`index.html` — Semantic HTML5 with SVG branding and ambient canvas layers`css/styles.css` — Custom design system with glassmorphism tokens, micro-animations, and responsive layout`js/ollama.js` — Client-side streaming connector to local Ollama endpoints (`/api/generate` and `/api/tags`)` js/templates.js` — Platform-engineered prompts tailored for Etsy, eBay, and Amazon SEO algorithms`js/app.js` — Reactive UI orchestrator, clipboard manager, local storage history cache, and ambient particle engine\nListCraft AI is built with a **\"Local-First, Zero-Dependency\"** architecture that connects client-side web primitives directly to local open-weight models:\n\n```\n[ Browser Client ]\n  ├─ Product Input Form\n  ├─ Prompt Engine (Etsy / eBay / Amazon)\n  └─ NDJSON Stream Parser & Glass UI\n            │\n            ▼ HTTP / Streaming (localhost:11434)\n[ Ollama Local AI Runtime ]\n  └─ Open-Weight Models (Llama 3.1 8B / Mistral / Gemma)\n```\n\nInstead of waiting for generations to complete, the client streams tokens using native browser fetch and TextDecoder:\n\n``` js\nconst reader = res.body.getReader();\nconst decoder = new TextDecoder();\n\nwhile (true) {\n  const { done, value } = await reader.read();\n  if (done) break;\n  const chunk = decoder.decode(value, { stream: true });\n  const lines = chunk.split('\\n').filter((l) => l.trim());\n  for (const line of lines) {\n    const parsed = JSON.parse(line);\n    if (parsed.message?.content) onChunk(parsed.message.content);\n  }\n}\n```\n\nAuto-Discovery: Queries /api/tags on startup to detect and populate installed models automatically.\n\nHeartbeat Check: Displays a setup guide if Ollama is offline.\n\nTo handle strict marketplace SEO rules (Etsy's 13-tag limit, eBay's 80-char title, Amazon's 5 key bullets), prompts enforce structured delimiters:\n\n```\n===TITLE===\n===DESCRIPTION===\n===TAGS===\n===BULLET_POINTS===\n```\n\nA client-side regex engine splits this stream into distinct UI modules with one-click copy buttons and interactive tag chips.\n\nCosmic Midnight Theme: Styled with #070913 dark mode, glass cards (backdrop-filter: blur), and floating ambient orbs.\n\nFloating Product Cards: High-res craft photos (leather journal, vintage timepiece, ceramic vase) floating in the periphery to provide visual context.\n\nInteractive Canvas: Lightweight 60fps particle system that gently reacts to mouse movement.\n\nZero Frameworks: Pure HTML5, CSS3, and JavaScript (<50KB total bundle, sub-200ms load).\n\nLocal Persistence: Past generations are saved locally in localStorage without tracking or external databases.\n\nOpen innovation is what made ListCraft AI possible. For an independent side-hustle tool, open-weight models beat closed APIs in every dimension:\n\nHacktoberfest Open-Source AI Challenge Week 2 (Side Hustle): Overall Challenge Category.\n\nBest Use of Render: I deployed the project on Render to host the agent's front end and serve the API layer.", "url": "https://wpnews.pro/news/listcraft-ai-zero-cost-100-private-product-listing-generator-for-side-hustlers", "canonical_source": "https://dev.to/lakshya_mulchandani_2ea8f/listcraft-ai-zero-cost-100-private-product-listing-generator-for-side-hustlers-dao", "published_at": "2026-10-17 15:31:35+00:00", "updated_at": "2026-10-17 15:34:11.396101+00:00", "lang": "en", "topics": ["ai-tools", "large-language-models", "generative-ai", "ai-products"], "entities": ["ListCraft AI", "Ollama", "Etsy", "eBay", "Amazon", "Llama 3.1 8B", "Mistral", "Gemma"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/listcraft-ai-zero-cost-100-private-product-listing-generator-for-side-hustlers", "markdown": "https://wpnews.pro/news/listcraft-ai-zero-cost-100-private-product-listing-generator-for-side-hustlers.md", "text": "https://wpnews.pro/news/listcraft-ai-zero-cost-100-private-product-listing-generator-for-side-hustlers.txt", "jsonld": "https://wpnews.pro/news/listcraft-ai-zero-cost-100-private-product-listing-generator-for-side-hustlers.jsonld"}}