ListCraft AI — Zero-Cost, 100% Private Product Listing Generator for Side Hustlers 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. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle https://dev.to/challenges/hacktoberfest-week2-2026-10-12 I 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 . Selling online is one of the most accessible side hustles today, but writing listings is exhausting: 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. 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. 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. 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. Repository structure: 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 ListCraft AI is built with a "Local-First, Zero-Dependency" architecture that connects client-side web primitives directly to local open-weight models: Browser Client ├─ Product Input Form ├─ Prompt Engine Etsy / eBay / Amazon └─ NDJSON Stream Parser & Glass UI │ ▼ HTTP / Streaming localhost:11434 Ollama Local AI Runtime └─ Open-Weight Models Llama 3.1 8B / Mistral / Gemma Instead of waiting for generations to complete, the client streams tokens using native browser fetch and TextDecoder: js const reader = res.body.getReader ; const decoder = new TextDecoder ; while true { const { done, value } = await reader.read ; if done break; const chunk = decoder.decode value, { stream: true } ; const lines = chunk.split '\n' .filter l = l.trim ; for const line of lines { const parsed = JSON.parse line ; if parsed.message?.content onChunk parsed.message.content ; } } Auto-Discovery: Queries /api/tags on startup to detect and populate installed models automatically. Heartbeat Check: Displays a setup guide if Ollama is offline. To handle strict marketplace SEO rules Etsy's 13-tag limit, eBay's 80-char title, Amazon's 5 key bullets , prompts enforce structured delimiters: ===TITLE=== ===DESCRIPTION=== ===TAGS=== ===BULLET POINTS=== A client-side regex engine splits this stream into distinct UI modules with one-click copy buttons and interactive tag chips. Cosmic Midnight Theme: Styled with 070913 dark mode, glass cards backdrop-filter: blur , and floating ambient orbs. Floating Product Cards: High-res craft photos leather journal, vintage timepiece, ceramic vase floating in the periphery to provide visual context. Interactive Canvas: Lightweight 60fps particle system that gently reacts to mouse movement. Zero Frameworks: Pure HTML5, CSS3, and JavaScript <50KB total bundle, sub-200ms load . Local Persistence: Past generations are saved locally in localStorage without tracking or external databases. Open innovation is what made ListCraft AI possible. For an independent side-hustle tool, open-weight models beat closed APIs in every dimension: Hacktoberfest Open-Source AI Challenge Week 2 Side Hustle : Overall Challenge Category. Best Use of Render: I deployed the project on Render to host the agent's front end and serve the API layer.