DEV Community

Cover image for MarketMate: Gemma 4 Turns Rough Product Notes Into Ready-to-Edit Listings
ROHINI RAY
ROHINI RAY

Posted on

MarketMate: Gemma 4 Turns Rough Product Notes Into Ready-to-Edit Listings

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission đź’¸

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

What I Built

MarketMate turns rough product notes into a marketplace-ready title, description, search tags, opening line, and positioning suggestion. It’s for independent Etsy, Shopify, eBay, and Instagram Shop sellers who want to spend less time writing listings. I haven’t tested willingness to pay yet.

Demo

https://market-mate-gamma.vercel.app/

Code

https://github.com/rohini-ray/MarketMate.git

How I Built It

MarketMate uses Flask with an HTML, CSS, and JavaScript interface. The backend sends product notes to Gemma 4 through OpenRouter. It defaults to google/gemma-4-26b-a4b-it; the model can be switched using OPENROUTER_MODEL. The OpenRouter key is stored in Vercel’s environment variables, not in browser code. MarketMate doesn’t save drafts. Notes are sent to OpenRouter for generation, so users shouldn’t include private customer information.

Why Does Open Innovation Matter?

Gemma 4’s open weights give me the flexibility to change models and a possible path to self-hosting or fine-tuning later. This version uses hosted inference through OpenRouter; it doesn’t run offline, and product notes leave the app to generate copy.

My Agent Session

Building MarketMate with Gemma 4, OpenRouter, and Vercel Gemma 4 via OpenRouter
You

Build a useful side-hustle project around open-source AI, Gemma 4 through OpenRouter, Render, and GitHub Copilot.

Agent

Built MarketMate, a listing-copy assistant for independent marketplace sellers. It uses a Flask backend and a browser UI to turn seller notes into a title, description, search tags, opening hook, and positioning suggestion. Gemma 4 is called through OpenRouter; the model can be changed through OPENROUTER_MODEL. The app does not save drafts, and its UI explains that notes are sent to OpenRouter for generation.

You

I deployed using Vercel. Where do I add the OpenRouter API key?

Agent

Add OPENROUTER_API_KEY under Vercel Project Settings > Environment Variables, select the environments that need it, save, then redeploy. Store the key in the Value field; do not commit it.

Agent

The GitHub secret scanner found a key in an earlier .env.example commit. The local branch history was replaced with a clean commit that excludes environment files, and .env remains ignored.

Prize Categories

Best Use of Gemma

Solo builder

@rohiniray

Top comments (0)