This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
Snaplist turns product photos into a publish-ready listing for eBay, Etsy or Vinted.
Anyone who sells online knows the grind: take photos, then write a title, a description, tags, and guess a price. For one item it's a few minutes. For fifty items it's an afternoon.
With Snaplist you upload 1-4 photos, add optional notes (brand, size, flaws), pick a platform, and get a title, description, tags, condition and a suggested price range.
Who would pay: small resellers and side-hustle sellers who list many items and would rather spend that time sourcing and shipping. No per-listing fee, and no photos sent to anyone.
Demo
[PASTE SCREENSHOT OR GIF HERE]
Code
Pardeep-Gir-404
/
snaplist
Snaplist turns product photos into publish-ready listings for eBay, Etsy and Vinted: title, description, tags and pricing in seconds. Built on open-weight Gemma via Ollama, it runs entirely on-device, so there are no API fees, no data leaves your machine, and models and prompts stay fully under your control.
How I Built It
-
Model: Gemma (
gemma3:4b), an open-weight vision model - Runtime: Ollama, fully local
- UI: a single-file Streamlit app
- Prompting: each platform has its own rules (title length, tag count, tone). The model is told never to invent brands or sizes, to write "check label" instead, and to trust the seller's notes over its own guesses from the photos.
The whole app is one readable Python file, so anyone can change the prompt or swap the model.
Why Open Innovation Matters Here
- Cost: paid vision APIs charge per image, which adds up for a reseller. With a local model, the marginal cost per listing is zero.
- Privacy: product photos can show the inside of a home, receipts or personal items. With local inference, nothing leaves the laptop.
- Control: I can tune prompts per platform, swap in a bigger Gemma, or fine-tune on a seller's past listings. A closed API limits me to what it offers.
- Offline: after the one-time model download, it works without internet.
Limitations
- A small local model can misread labels or small details, so the prompt tells it to say "check label" instead of guessing.
- The price range is an estimate, not live market data, so sellers should sanity-check it.
- Speed depends on the seller's hardware.
What's Next
- Batch mode: a folder of photos in, a CSV out
- A saved seller style (tone, sign-offs)
- Fine-tuning on a seller's own past listings
Top comments (0)