cd /news/large-language-models/build-for-a-friend-a-local-first-mea… · home › topics › large-language-models › article
[ARTICLE · art-145120] src=dev.to ↗ pub= topic=large-language-models verified=true sentiment=↑ positive

Build for a Friend: a local-first meal planner on open-weight Gemma

A developer built Friend Meal Planner, a local-first web app that uses the open-weight gemma3:1b model via Ollama to generate 7-day Indian meal plans with grocery lists and budget checks for a lactose-intolerant, peanut-allergic roommate on a ₹2000/week budget. Testing revealed the 1B model repeatedly suggested paneer and yogurt despite explicit allergy instructions, so the developer added a deterministic allergy guardrail that scans each plan against an allergen keyword map and appends a flagged Allergy Check section. The app runs entirely offline with a zero-dependency Python server and vanilla HTML/JS, generating a plan in about 40 seconds on CPU.

by read1 min views1 publishedOct 5, 2026

My roommate Nagaraj needed high-protein vegetarian food on a ₹2000/week budget — while strictly avoiding peanuts and lactose. So for the Build for a Friend theme, I built him a meal planner that runs entirely on his laptop: no accounts, no API keys, no cloud.

Friend Meal Planner — a web app (vanilla HTML/JS + a zero-dependency Python server, stdlib only) that generates a 7-day Indian meal plan with a grocery list and budget check. You fill in your friend's profile — diet, allergies, dislikes, budget — and the plan streams in, token by token.

python3 app.py and open http://localhost:8000 (needs Ollama + gemma3:1b pulled; ~40s per plan on CPU) Nagaraj, my roommate in Bengaluru. Hostel-style cooking, 30-minute recipes, ingredients from local markets, everything priced in ₹. I handed him the first plan — his verdict: "now that's cooking" (he also immediately asked for a recipe mode and non-veg mode, so that's next).

Open-weight AI is what makes this project possible, not just cheaper:

Testing caught something important: the 1B model kept suggesting paneer and yogurt to my lactose-allergic friend, despite explicit instructions. Rather than hide that, I added a deterministic allergy guardrail — every plan is scanned line-by-line against an allergen keyword map (lactose → milk, curd, paneer, ghee…) and an ⚠️ Allergy Check section is appended flagging risky dishes for review. Prompt engineering sets the intent; code enforces the safety property. That's the architecture I'd defend: never let a probabilistic model be the last word on food safety.

This also enters the Best Use of Gemma category — the whole app is Gemma-powered, running the open-weight gemma3:1b model locally through Ollama.

── more in #large-language-models 4 stories · sorted by recency
dev.to · · #large-language-models
SAMJHO
── more on @gemma 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/build-for-a-friend-a…] indexed:0 read:1min 2026-10-05 · —