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:
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)



Top comments (0)