<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Prem Munot</title>
    <description>The latest articles on DEV Community by Prem Munot (@prem_munot_bd600f7836ee87).</description>
    <link>https://dev.to/prem_munot_bd600f7836ee87</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4155097%2Fe74c68c4-fb41-4f32-abd6-1ebcb01329f1.png</url>
      <title>DEV Community: Prem Munot</title>
      <link>https://dev.to/prem_munot_bd600f7836ee87</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prem_munot_bd600f7836ee87"/>
    <language>en</language>
    <item>
      <title>My mom asks "what should I cook?" every day, so I built her an app using an open model</title>
      <dc:creator>Prem Munot</dc:creator>
      <pubDate>Sun, 04 Oct 2026 13:15:30 +0000</pubDate>
      <link>https://dev.to/prem_munot_bd600f7836ee87/my-mom-asks-what-should-i-cook-every-day-so-i-built-her-an-app-using-an-open-model-ji5</link>
      <guid>https://dev.to/prem_munot_bd600f7836ee87/my-mom-asks-what-should-i-cook-every-day-so-i-built-her-an-app-using-an-open-model-ji5</guid>
      <description>&lt;p&gt;What I Built&lt;br&gt;
My mom always has the same question: what should I make today? Breakfast, lunch or dinner, it comes back every time. So I built her Aaj Kay Banvu? ("What shall we cook today?"), a page on her phone that answers it.&lt;br&gt;
Here is what she sees:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Three big buttons: Breakfast, Lunch, Dinner. It picks the right one for the time of day.&lt;/li&gt;
&lt;li&gt;A grid of vegetables and staples she taps to say what's at home (potato, onion, palak, moong dal). She can type in anything else.&lt;/li&gt;
&lt;li&gt;A fasting day (upvas) checkbox that switches the ideas to sabudana, rajgira, varai and potato, with no grains, onion or garlic.&lt;/li&gt;
&lt;li&gt;One large button: Give me ideas.
She gets three dishes. Each has a short reason, a cooking time, what she already has and what she'd need to buy. Show recipe gives simple steps in katoris and teaspoons, not grams. Show me different ones gives three more. We're making this tells the app, so it won't suggest that dish again for a week.
It cooks the way her house cooks: strictly vegetarian, Maharashtrian and North Indian home food. Everything specific to her lives in one plain text file, profile.json, that either of us can edit.
What she said: [FILL IN AFTER YOU HAND IT OVER: what she tapped first, what confused her, the first dish she cooked from it, and her exact words with a translation if she said them in her own language.]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Code:&lt;br&gt;
[&lt;a href="https://github.com/premmunot007-premmu/Hacktober_fest" rel="noopener noreferrer"&gt;https://github.com/premmunot007-premmu/Hacktober_fest&lt;/a&gt; ]&lt;br&gt;
The whole app is three files, with no dependencies and no build step: server.py (Python standard library only), index.html (the interface) and profile.json (everything specific to her). START_HERE.md walks a non-technical person through setup.&lt;br&gt;
How I Built It&lt;br&gt;
The model. An open-weight model, openai/gpt-oss-20b, running on a free hosting service (Groq). The app also supports running the model on your own computer through Ollama, llama.cpp or a llamafile.&lt;br&gt;
The app around it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Backend: one Python file. It builds the prompt from her profile, the time of day, what's in her kitchen and what she cooked this week.&lt;/li&gt;
&lt;li&gt;Frontend: one HTML file with big text and big tap targets, because she's the user, not me.&lt;/li&gt;
&lt;li&gt;Structured output: the model must reply in a fixed JSON shape (dish, reason, time, what she has, what to buy), with limits on how long each field can be. The page always gets clean fields, and short answers stay fast on slow machines.&lt;/li&gt;
&lt;li&gt;A guardrail that doesn't trust the model: her household is strictly vegetarian. Models occasionally slip, so every suggestion and recipe is also checked against a non-vegetarian word list in plain code. Anything that fails is dropped before she sees it. (My first test showed that a naive check blocks "eggplant", so it now matches whole words only.)&lt;/li&gt;
&lt;li&gt;Memory: a small JSON history, so poha doesn't appear three days in a row.&lt;/li&gt;
&lt;li&gt;Honest footer: the app tells her whether her questions stay at home or go to a hosting service.
Where my plan changed. I wanted the model to run on a computer at home, so nothing about her kitchen would leave the house. I built that path too. Then I hit a wall: my only machine is an 8 GB Intel MacBook Air stuck on macOS 12.7.6. Current Ollama needs macOS 14, and the alternatives were too confusing to set up in a weekend. So the version she uses runs on a hosting service. I wrote and tested the local paths against stand-in model servers, not a real local model.
Built with an AI coding assistant. I built this with Claude (Anthropic's coding assistant) as my pair programmer. I made the decisions: who it was for, what it should do and which trade-offs to accept. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why Does Open Innovation Matter?&lt;br&gt;
I'll be straight about this, because my project didn't go the way I planned.&lt;br&gt;
What open gave me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I was never locked in. The app talks to the model through the same common API that local servers use. When Ollama refused to install on my old Mac, I rebuilt nothing. I changed one setting and pointed the app somewhere else.&lt;/li&gt;
&lt;li&gt;The private version is one setting away. The model's weights are open, so anyone can run it themselves. What a family eats, when, and who is fasting is an intimate record of a household. Today that data goes to a hosting service, and the app says so in its footer. When she gets a newer laptop, I can move the same model and the same app to a computer at home. With a closed API, "run it at home" isn't an option.&lt;/li&gt;
&lt;li&gt;I could shape its behaviour. Her rules are a text file. Model servers can force a reply to match a schema while the model writes, which let me keep answers short and clean. I made the model responsible for ideas and the code responsible for safety.
Where open cost me: a closed hosted API would have been easier. It would have taken an afternoon instead of an evening of fighting installs on an old Mac, and it may well be better at Marathi dish names. For this project, the real advantage of open wasn't price or convenience. It was keeping the exit door open.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
