The itch I wanted to scratch
Walk into any neighbourhood kirana store and you’ll see the same chore: someone typing out product names, categories, descriptions and prices, one item at a time. It’s slow, boring, and easy to get wrong.
So I asked myself: what if the shopkeeper just took a photo of the product and the first draft of the listing wrote itself?
What DukaanAI does
You upload a picture of a product. The app suggests a name, a category and a short description. You check and fix anything that looks off, add your own price and stock count, and save it. That’s the whole loop.
Right now the MVP can:
Take a product photo and generate a draft listing
Let you edit every AI-suggested field before saving
Store price and quantity that you enter yourself
Search and delete items in your inventory
Export the full catalogue as a CSV file
The AI only proposes. The shopkeeper always has the final say.
Under the hood
Frontend: React + Vite
Backend: Node.js + Express, with Multer handling image uploads
AI: Gemma 3 (4B) running locally through Ollama
Storage: the browser’s localStorage, so everything stays on the device
Export: plain JavaScript to build the CSV
The backend forwards the image to the local model, which replies with structured JSON. The UI turns that JSON into an editable form.
Why I went with an open-weight model
For small businesses, every rupee of recurring cost matters. A hosted AI API charges per request and sends every photo to someone else’s server. Running Gemma locally avoids both, and it also lets me tune prompts and swap models freely.
It isn’t free of trade-offs. You need a reasonably capable machine, responses can be slower than a cloud API, and the model sometimes gets things wrong. That’s exactly why every suggestion is reviewed by a human before it is saved.
What building this taught me
Getting a model to describe an image is the easy part. The hard part is making the result fit into how a shopkeeper actually works, and making it accurate enough that they trust it instead of retyping everything.
Where this could go
My first users would be independent grocery stores and small retailers. Before anything else, I want to put the tool in front of real shopkeepers, compare manual entry against AI-assisted entry, and see how much time it really saves. A monthly subscription is one possible model, but I won’t pick a price until people tell me they’d actually pay.
Ideas for later: cloud sync, shop accounts, barcode scanning, low-stock alerts, and billing-software integration.
Check it out
GitHub: https://github.com/MohdOves/Dev-Weekeend-Challenge-2
Over to you
If you run or know a small shop: would listing products from photos save you time? What would need to be true before you’d use something like this?
Built for the Hacktoberfest Open-Source AI Challenge, Week 2: Side Hustle.
Top comments (0)