This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.
What I Built
I built OpenSell AI, a local-first AI product listing generator that helps small business owners, handmade-product sellers, and side hustlers turn basic product information into ready-to-edit marketing copy.
Writing product descriptions and selling points for every product can take time, especially for people running small businesses without a dedicated marketing team. OpenSell AI makes this process easier.
Users enter a product's name, category, features, target audience, preferred tone, and platform. The application generates:
- A product title
- A product description
- Five selling points
- A call to action
For example, a seller can enter details about a handmade soap bar and receive a structured product listing they can review and adapt for their store.
The project is designed for people who want an accessible AI-assisted writing tool without relying on a hosted AI inference API for every generation.
Demo
🎥 Watch the demo video:
Watch OpenSell AI on Google Drive
Code
💻 GitHub repository:
https://github.com/Sri-Indu/opensell-ai
The repository contains the frontend, FastAPI backend, model integration, grounding logic, configuration example, and tests.
How I Built It
I built OpenSell AI using open-source technologies and local inference.
Technology stack
- Frontend: React, Vite, and TypeScript
- Backend: Python and FastAPI
- AI model: Gemma 2 2B
- Local inference: Ollama
- HTTP communication: HTTPX
The application follows a straightforward architecture:
- The user enters product facts in the React interface.
- The frontend sends the input to the FastAPI backend.
- The backend prepares the generation request and communicates with Ollama.
- Gemma generates the product listing locally.
- The generated content is returned to the frontend for review.
I used Cursor as a development assistant while implementing and debugging the application.
One important engineering consideration was grounding. Marketing copy should not invent product ingredients, certifications, health benefits, or other unsupported claims. I added validation intended to detect content that goes beyond the supplied product facts. Because language models can still produce inaccurate details, generated listings should be reviewed before publication.
I also tested the API's successful response and invalid-input handling during development.
Why Does Open Innovation Matter?
Open innovation made local experimentation with generative AI possible.
Using an open-weight model through Ollama gave me a way to build and test an AI-powered application on my own machine, without depending on a hosted inference API for each generation.
It also gave me more control over the model integration, application architecture, and development workflow. I could inspect the implementation, experiment with prompts, improve validation, and adapt the application to my needs.
For small businesses and independent creators, local inference can reduce dependence on per-request API charges and offer a more private workflow when the application is configured to keep processing local. Hardware and electricity still have costs, and privacy depends on the complete application configuration.
This project helped me explore how open-weight AI can be turned into a practical tool for a real-world side-hustle use case.
My First User
I shared the application with a tester, who tried it and told me that it was good.
That initial feedback was encouraging because it gave me an opportunity to see the project used by someone other than myself.
The tester did not pay for the application, so this was early user feedback rather than a paying customer validation. My next step is to collect more detailed feedback about the quality of generated listings, ease of use, and which features would be most valuable to sellers.
Prize Categories
- Best Use of Gemma — OpenSell AI uses Gemma 2 2B through Ollama for local AI-powered product listing generation.
Building OpenSell AI gave me practical experience integrating open-weight AI into a full-stack application, working with local inference, and thinking about grounding and reliability beyond simply generating text.
Thank you for checking out my project!
Top comments (0)