This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

I built the E-Commerce Product Description Generator, a lightweight desktop web application designed for small business owners, Etsy makers, and eBay sellers.

Writing compelling product descriptions, titles, and SEO keywords for dozens of items is tedious and time-consuming. Commercial AI writing tools often charge monthly subscriptions or per-token API fees that eat into small profit margins. My app solves this by running entirely on the seller's local computer—generating complete, high-converting product listings in seconds with zero API costs.

Demo

Here is the application running locally:

Interface screenshot of the E-Commerce Product Description Generator app
E-Commerce Generator Output Screen
E-Commerce Generator Input Screen

The seller enters the Product Name (e.g., Handcrafted Leather Wallet).

Input key features or bullet points.

Select a desired Tone of Voice (e.g., Professional & Elegant, Casual & Friendly, Bold & Catchy).

Click Generate Listing to instantly get an SEO-optimized title, product description, bullet points, and 10 search tags.

Code

The complete source code is open source and available on GitHub:

How I Built It
The application is built using a simple, modern Python stack:

Open-Weight AI Model: Google's Gemma (gemma:2b) model, running locally via Ollama.

Frontend UI: Streamlit, providing a clean, interactive browser interface.

Backend Bridge: Python's ollama client library to pass seller inputs directly to the local Gemma instance.

import streamlit as st import ollama st.title("🛍️ E-Commerce Product Description Generator") st.write("Generate SEO-friendly titles, descriptions, and tags locally using Gemma!") product_name = st.text_input("Product Name", placeholder="e.g., Handcrafted Leather Wallet") keywords = st.text_area("Key Features / Keywords", placeholder="e.g., Genuine full-grain leather, 4 card slots, RFID blocking") tone = st.selectbox("Tone of Voice", ["Professional & Elegant", "Casual & Friendly", "Bold & Catchy"]) if st.button("Generate Listing"): if product_name and keywords: with st.spinner("Generating listing using local Gemma model..."): prompt = f""" You are an expert e-commerce copywriter. Write a product listing based on these details: - Product: {product_name} - Features: {keywords} - Tone: {tone} Output format: 1. Catchy Title (SEO optimized) 2. Product Description (2-3 engaging paragraphs) 3. Key Bullet Points 4. 10 Recommended Search Tags / Keywords """ response = ollama.chat(model='gemma:2b', messages=[ {'role': 'user', 'content': prompt} ]) st.success("Generated Successfully!") st.markdown(response['message']['content']) else: st.warning("Please provide a product name and features.") 

Why Does Open Innovation Matter?

Building with open-weight models like Gemma makes local tools viable for small side hustles in three key ways:

Zero Operating Costs ($0 API Fees): Small sellers shouldn't have to pay $20/month just to write product descriptions. Running gemma:2b locally means generating thousands of listings costs nothing beyond basic electricity.

Complete Data Privacy: Unreleased handmade designs, raw notes, or proprietary product specs never touch cloud servers or third-party training pipelines.

Offline Capability: Sellers can create product listings anytime, anywhere—even while travelling or working in areas without internet access.

My First User

I showed this tool to a friend who sells handmade products online. They tested it by generating a listing for a custom journal and loved that it created 10 ready-to-copy tags instantly—saving them 15 minutes per listing without needing a paid AI subscription.

Prize Categories

Best Use of Gemma (Using Google's Gemma model locally via Ollama)