<?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: Nasrul Faizin</title>
    <description>The latest articles on DEV Community by Nasrul Faizin (@nasrul21).</description>
    <link>https://dev.to/nasrul21</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%2F953388%2F41cd9a9e-8435-429f-b3d3-8a46baff54a6.jpeg</url>
      <title>DEV Community: Nasrul Faizin</title>
      <link>https://dev.to/nasrul21</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nasrul21"/>
    <language>en</language>
    <item>
      <title>MasakApa: Building a Local AI Meal Planner for My Wife</title>
      <dc:creator>Nasrul Faizin</dc:creator>
      <pubDate>Sun, 04 Oct 2026 13:52:01 +0000</pubDate>
      <link>https://dev.to/nasrul21/masakapa-building-a-local-ai-meal-planner-for-my-wife-2pkj</link>
      <guid>https://dev.to/nasrul21/masakapa-building-a-local-ai-meal-planner-for-my-wife-2pkj</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built MasakApa for my wife, who works and also cares for our children.&lt;/p&gt;

&lt;p&gt;After a long day, deciding what to cook can become another source of stress. MasakApa helps by turning the ingredients already available at home into practical meal ideas.&lt;/p&gt;

&lt;p&gt;The user enters available ingredients, selects a cooking mood, and chooses the number of servings. MasakApa then generates three recipe suggestions, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why the recipe fits the situation&lt;/li&gt;
&lt;li&gt;Available ingredients&lt;/li&gt;
&lt;li&gt;Required missing ingredients and seasonings&lt;/li&gt;
&lt;li&gt;Optional additions&lt;/li&gt;
&lt;li&gt;Simple cooking instructions&lt;/li&gt;
&lt;li&gt;Copy and download actions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/nasrul21/MasakApa/blob/main/MasakApa_Demo.mov" rel="noopener noreferrer"&gt;Watch the MasakApa demo recording&lt;/a&gt;&lt;/p&gt;


  
  Your browser does not support the video tag.


&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/nasrul21/MasakApa" rel="noopener noreferrer"&gt;View the MasakApa source code on GitHub&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/nasrul21" rel="noopener noreferrer"&gt;
        nasrul21
      &lt;/a&gt; / &lt;a href="https://github.com/nasrul21/MasakApa" rel="noopener noreferrer"&gt;
        MasakApa
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Local AI meal planner using Gemma and Ollama to help busy families cook with ingredients they already have.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;MasakApa&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;MasakApa is a local AI meal planner for busy families. It was built for my wife, who works and also cares for our children. After a long day, the app turns the ingredients already available at home into practical meal ideas.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why it exists&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;I made MasakApa for my wife. She works and also cares for our children
so deciding what to cook after a long day can become another source of stress.
This project is a small, practical tool designed around her real situation:
limited time, limited energy, and the ingredients already available at home.&lt;/p&gt;
&lt;p&gt;Choosing what to cook can be difficult when time, energy, and ingredients are limited. MasakApa helps by considering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ingredients already available&lt;/li&gt;
&lt;li&gt;Cooking mood&lt;/li&gt;
&lt;li&gt;Family serving size&lt;/li&gt;
&lt;li&gt;Required missing ingredients and seasonings&lt;/li&gt;
&lt;li&gt;Optional ingredients&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Solution&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;MasakApa turns a short list of ingredients into practical meal ideas that fit
the user's situation. The user enters…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/nasrul21/MasakApa" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;MasakApa is built with Python and Streamlit. It uses Gemma 3 4B through a local Ollama server and the OpenAI-compatible API.&lt;/p&gt;

&lt;p&gt;The application flow is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Streamlit UI
    ↓
Application state and meal services
    ↓
OpenAI-compatible client
    ↓
Ollama → Gemma 3 4B
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The app includes defensive response parsing because local models may return Markdown, explanations, thinking blocks, or imperfect JSON. It also validates recipe data and ensures that missing seasonings are included in the cooking instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Using a local open-weight model made it possible to build a private and accessible household tool.&lt;br&gt;
Ingredient information can remain on the user’s computer instead of being sent to a hosted AI service. The model, prompt, and response-processing logic are also visible and changeable.&lt;br&gt;
This makes the solution easier to understand, adapt, and run without depending on a paid closed API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Best Use of Gemma — Gemma 3 4B running locally through Ollama&lt;/li&gt;
&lt;/ul&gt;

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