This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
I built ItemPilot, a local AI-powered eBay Listing Assistant that helps online sellers turn product photos and product details into compelling, editable listing drafts.
Writing product listings can be repetitive. Sellers need to come up with a search-friendly title, describe the product, highlight its useful features, and make the listing appealing to potential buyers.
ItemPilot aims to make that process easier.
Upload a product photo, provide the details you know, and let Gemma 3 4B generate a listing draft containing:
- Search-friendly eBay titles with an 80-character limit
- Buyer-focused product descriptions
- Key features and suggested item specifics
- Relevant search keywords
- Questions about missing information that the seller should verify
You can review and edit the generated content, then copy or download it before using it on eBay.
Who could pay for it?
The intended users are small eBay sellers, casual resellers, and people who regularly list second-hand electronics, clothing, and other products. For sellers handling multiple listings, saving time on product copy could be valuable.
I haven't validated willingness to pay with a real seller yet. That's an important next step for the project.
Demo
Code
The repository contains the application, prompts, local AI integration, validation logic, tests, and setup instructions.
sanjay067-cse / ItemPilot
A local AI-powered eBay listing assistant using Gemma 3 and Ollama
ItemPilot 🚀
Turn product photos into buyer-focused eBay listings with local AI.
ItemPilot is a local-first AI application that helps online sellers turn product photos and product details into compelling, editable eBay listing drafts using Gemma 3 4B and Ollama.
Instead of starting from a blank page, sellers can upload a product photo, provide the details they know, and generate a polished listing they can review and refine before publishing.
✨ Features
- 📸 Image-based listing generation — Analyze an uploaded product photo using Gemma 3 4B's vision capabilities.
- ✍️ Buyer-focused copywriting — Generate engaging, natural product descriptions that highlight the benefits of confirmed features.
- 🔎 Search-friendly titles — Create relevant eBay listing titles with an 80-character limit.
- 📋 Structured listing details — Generate product descriptions, key features, item specifics, and relevant search keywords.
- 🛡️ Accuracy safeguards — Identify missing information and prompt sellers to confirm important details rather than…
How I Built It
I built ItemPilot using Python, Streamlit, and Gemma 3 4B running locally through Ollama.
Here's how the application works:
- The seller uploads a product photo and enters any known product details.
- The application sends the image and supplied information to the local Gemma model.
- Gemma analyzes the product image and generates listing content.
- Python and Pydantic help validate the structured output, including the title-length constraint.
- The seller reviews, edits, copies, or downloads the generated listing
My stack:
- Python : application logic
- Streamlit : user interface
- Gemma 3 4B : image understanding and listing generation
- Ollama : local model runtime
- Pydantic : structured data validation
- Pillow : image validation and processing
- Pytest : automated testing
I also added safeguards against unsupported product claims. A photograph cannot reliably establish every product specification, so sellers need to confirm important details before publishing.
The current automated test suite passes 36 tests covering configuration, image validation, schemas, listing-service behaviour, title validation, and exports.
Why Does Open Innovation Matter?
I wanted to explore what becomes possible when an AI application is built around a locally running open-weight model rather than a hosted AI API.
With Gemma 3 4B running through Ollama, ItemPilot can perform its core AI generation workflow on the user's own computer after the model and dependencies have been installed.
That offers several advantages:
- More control over data: Product photos and prompts can be processed locally instead of being sent to a hosted AI inference API by the application.
- Offline capability: Once installation is complete, the core generation workflow can operate without an internet connection, provided the local services are running.
- Less dependence on hosted APIs: The application does not require a paid cloud AI API for its core generation workflow.
- Room to experiment: The model and prompting approach can be modified as the application evolves.
Local AI does have trade-offs. Performance depends on the user's hardware, and the model can still make mistakes. Local inference doesn't automatically guarantee that every form of data is erased or that every generated claim is correct.
For me, open innovation made it possible to experiment with an image-capable model as part of a practical application without building the entire product around a hosted AI service.
Prize Categories
- Best Use of Gemma : ItemPilot uses Gemma 3 4B as its core vision-language model for analyzing product photos and generating listing content locally through Ollama.




