This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
Offline Listing Writer: a tool for small sellers in Cameroon who post products on WhatsApp, Facebook, and Instagram. The seller types a few hints (product, condition, price, details, contact), picks the language (French or English), the platform, and the tone, and an AI model running on their own computer writes the listing. A listing takes about 3 seconds on my laptop [ 8GB].
Who would pay for it: sellers who post every day. Writing and describing every product is slow, is harder in a language you are not fluent in, and needs a good connection if you use an online AI tool. This tool works offline and has no subscription.
Demo
It runs locally on the seller's computer, so there is no deployed link. Here it is working:
[Screenshot: English listing]
[Screenshot: French listing]
Offline test, with the internet turned off and the network showing "Not connected":
Code
Queeninherprime
/
offline-listing-writer
Offline AI listing writer for small sellers, powered by Gemma and Ollama
Offline Listing Writer
Write product listings for WhatsApp, Facebook Marketplace and Instagram in French or English, using an open-weight AI model that runs entirely on your own computer. No internet, no subscription, and your prices and customer details never leave the machine

Built for the Hacktoberfest 2026 DEV Challenge (Week 2: Side Hustle).
Requirements
- Ollama installed
- Python 3.8+ (no extra packages needed)
- A small open-weight model, for example Gemma 4B
Setup (needs internet once)
ollama pull gemma3:4b
Run
python app.py
Open http://localhost:8000 in your browser.
To use a different model: MODEL=gemma3:1b python app.py (on Windows PowerShell: $env:MODEL="gemma3:1b"; python app.py).
How it works
app.py is a tiny local server. It serves the page and sends your product details to Ollama at localhost:11434, then returns the generated listing. Saved listings are kept in your browser on this computer.
Offline note
Writing and copying listings works with no connection. Posting to…
https://github.com/Queeninherprime/offline-listing-writer
How I Built It
- Model: Gemma 3 4B, an open-weight model from Google, running locally through Ollama.
- Backend: a small Python server using only the standard library, so there is nothing to install. It serves the page and sends the product details to Ollama on the same machine.
- Frontend: plain HTML and JavaScript with system fonts, so the page loads nothing from the internet. It shows the listing in a message-style preview with a copy button, a "Send on WhatsApp" link, and saved listings.
- AI assistance: I used an AI assistant (Claude) to help me plan and write the code, and I tested and fixed it on my own laptop.
What went wrong, and how I fixed it. In my first French test I entered a price of 100,000 FCFA, and the model wrote "100 000 FC". It dropped two letters, and "FC" is a different currency. Small local models sometimes change numbers and symbols even when told not to. I fixed it by having the model write placeholders for the price and phone number, then inserting the seller's exact values in code. If the model ignores the placeholder and writes its own amount, the app replaces it. The app also turns a plain number like 65000 into "65,000 FCFA".
I also learned that the app only repeats what it is given. When I entered a phone as "new" with an "88% battery", it wrote both. Sellers should still read each listing before posting.
Why Does Open Innovation Matter?
- It works offline. The model lives on the laptop, so a seller can write listings anywhere and connect only to post.
- It costs nothing to run. No subscription and no per-use fee, which matters for people with small margins.
- It keeps data private. Prices and phone numbers never leave the computer.
- It is not locked to one provider. I can swap the model or change the prompt without rewriting the app, and later fine-tune it for local products and wording.
A closed API would need a connection and a paid plan for every listing.
Limits: it needs a computer able to run the model, small models can be clumsy at times, and it cannot post for the seller. Most sellers use phones, so a phone-friendly version is the obvious next step.
My First User
I showed the app to a friend who is a seller. He tried it and said it is very nice, because it cuts down the time a seller spends writing and describing products. He said it would be especially useful for people who post every day and have a lot of work. His view was that sellers should pay for it, since it eases so much of their workload.
This is one person's reaction, not a market test. He did not name a price, and I have not yet tested whether sellers will actually pay.
Prize Categories
- Best Use of Gemma


Top comments (1)
So proud of myself my first live project