Programming

Menu Description Writer: An Offline AI Tool for Small Restaurants in Batticaloa

Menu Description Writer: An Offline AI Tool for Small Restaurants in Batticaloa
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle What I Built Many small restaurants and tea shops in Batticaloa list only a dish name and price on their menus. Visitors may not know what the food is, and writing good descriptions takes time or money. Cloud AI tools also mean sending the shop's menu and prices to a server the owner doesn't control. I built Menu Description Writer, a simple app for these shop owners. They enter a dish name in English and Tam

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

Many small restaurants and tea shops in Batticaloa list only a dish name and price on their menus. Visitors may not know what the food is, and writing good descriptions takes time or money. Cloud AI tools also mean sending the shop's menu and prices to a server the owner doesn't control.

I built Menu Description Writer, a simple app for these shop owners. They enter a dish name in English and Tamil, add a short note such as "spicy, fresh crab," and click one button. A local AI model writes a short, appetizing English description in about 20 seconds. It runs on a normal laptop without internet access.

Who would pay? Small restaurant and tea shop owners who want a better menu without a subscription. The idea is a one-time service fee per menu, since running the model costs nothing.

Demo

The app runs locally, so there is no deployed link. The screenshot above shows the Streamlit page generating a description for Chettinad Chicken.

Code

Menu Description Writer

A small offline tool that writes appetizing English menu descriptions for local restaurants and tea shops in Tamil Nadu.

Why open-source AI?

  • Private: The restaurant's menu and prices never leave the computer.
  • Free to run: No API fees, so even a small shop can afford it.
  • Works offline: No internet needed once the model is downloaded.
  • Swappable: Change one line of code to try a different model (Llama, Qwen, etc.).

Built with

  • Gemma 3 (4B) running locally through Ollama
  • Python and Streamlit

How to run

  1. Install Ollama and run: ollama pull gemma3:4b
  2. Install the libraries: pip install ollama streamlit
  3. Start the app: python -m streamlit run app.py

Honest limitations

The 4B model writes good English, but its Tamil was unreliable (some outputs were meaningless). So the shop owner types the Tamil dish name, and the model writes only the English description.




How I Built It
Model: Gemma 3 (4B), an open-weight model, running locally through Ollama
App: Python with Streamlit for a simple one-button page
Design: The owner types the dish name (English and Tamil) and a short note. The prompt asks the model for one appetizing English description, two sentences at most, with no extra text.

Where it didn't work: I first asked the model to write Tamil descriptions too. The 4B model's Tamil was unreliable: one result for Idli was meaningless text, and another mixed in broken transliteration. So I changed the design. The owner types the Tamil dish name, and the model writes only the English description, where it is strong. A small model has limits, and designing around them made the product more honest and useful.

Why Does Open Innovation Matter?
Private: The menu and prices never leave the laptop.
Free to run: There are no API fees, so a small shop can pay once instead of a monthly subscription.
Offline: It works even with weak or unavailable internet.
Swappable: The model is one line of code, so I can try other open models without rebuilding the app. When a larger Tamil-capable open model fits on a laptop, I can swap it in and still run offline.

A closed API would have meant per-request costs, sending shop data to someone else's server, and no way to run without internet.

What's Next
Upload a CSV to write a whole menu at once
Try a larger open model for Tamil
Add local Batticaloa dishes such as buffalo curd, prawn fry, and puttu

Status: this is a working prototype, tested on dishes like Chettinad Chicken, Idli, and Filter Coffee. I have not yet tested it with a real shop owner.