Offline menu description writer for small restaurants with Gemma 3 4B
What they built
Many small restaurants and tea shops in Batticaloa list only a dish name and a price, so visitors may not know what the food is. Writing descriptions takes time or money, and cloud AI tools would mean sending the shop's menu and prices to a server the owner doesn't control.
The author built a small Python and Streamlit app for those owners. They enter the dish name in English and Tamil, add a note such as "spicy, fresh crab", and click one button; Gemma 3 4B running locally through Ollama writes a short, appetizing English description on an ordinary laptop with no internet access.
It is a working prototype tested on dishes like Chettinad Chicken, Idli and Filter Coffee, built for the Hacktoberfest Open-Source AI Challenge. The author has not yet tested it with a real shop owner.
Setup
- Gemma 3 4B (gemma3:4b) running locally through Ollama
- Python with Streamlit for a one-button page
- A normal laptop, offline once the model is downloaded
How it works
- The prompt asks for one appetizing English description, two sentences at most, with no extra text.
- The model is set in one line of code, so other open models (Llama, Qwen) can be swapped in.
Results & numbers
- A description in about 20 seconds per dish
- Good English output from the 4B model
Gotchas
- The 4B model's Tamil was unreliable: one Idli result was meaningless text and another mixed in broken transliteration
- Design fix: the owner types the Tamil name and the model writes only the English description
“A small model has limits, and designing around them made the product more honest and useful.”— ajaypraneeth15
Do it yourself
- Install Ollama and run ollama pull gemma3:4b
- pip install ollama streamlit
- python -m streamlit run app.py
- Enter the dish name in English and Tamil plus a short note, then generate
ollama pull gemma3:4b
pip install ollama streamlit
python -m streamlit run app.pyRelated
Order Ledger: WhatsApp order chats to a clean order book, offline
A no-dependency Node.js app that sends pasted WhatsApp order chats (English, Hinglish, Kannada) to qwen2.5:7b in Ollama and turns them into structured orders, a delivery schedule, pending payments and a CSV export, all on the seller's laptop.
Connecting a private Obsidian vault to Ollama on macOS
Meeting notes stay off public AI services. llama3.1 and nomic-embed-text in Ollama, wired up through the Local GPT and AI Providers plugins.
Offline chat on desktop or Android via Termux with Prefrontal
A privacy-first chat UI that works with Ollama on desktop or llama.cpp anywhere, including Android through Termux. No telemetry, no subscriptions.
Offline LLM on a Raspberry Pi 5 for classification and extraction
Phi-3 mini at Q4_K_M runs at 4-6 tokens per second on an 8 GB Pi 5 with no network at all. Under GDPR, data that never leaves the board isn't transferred anywhere.