<?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: Jay Dosi</title>
    <description>The latest articles on DEV Community by Jay Dosi (@jay-dosi).</description>
    <link>https://dev.to/jay-dosi</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%2F4157582%2F7041818a-04cf-48cf-b5ca-1a7f05954503.jpg</url>
      <title>DEV Community: Jay Dosi</title>
      <link>https://dev.to/jay-dosi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jay-dosi"/>
    <language>en</language>
    <item>
      <title>Recipe Keeper: Turning Nani's Voice Memos into a 100% Local AI Cookbook</title>
      <dc:creator>Jay Dosi</dc:creator>
      <pubDate>Fri, 02 Oct 2026 17:15:56 +0000</pubDate>
      <link>https://dev.to/jay-dosi/recipe-keeper-turning-nanis-voice-memos-into-a-100-local-ai-cookbook-45jf</link>
      <guid>https://dev.to/jay-dosi/recipe-keeper-turning-nanis-voice-memos-into-a-100-local-ai-cookbook-45jf</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;Recipe Keeper is an application that turns rambling voice memos from home cooks into a clean, searchable, and printable family cookbook. &lt;/p&gt;

&lt;p&gt;I built this for my grandmother (Nani). Like many experienced home cooks, her recipes live entirely in her head. She cooks by feel, describing measurements as "a fistful of jeera," "enough water to cover plus two fingers," or "a good dollop of ghee." Asking her to type out recipes is a non-starter, and generic recipe apps demand precise metrics she doesn't use. &lt;/p&gt;

&lt;p&gt;This app solves that by letting her simply talk into her phone while cooking. We upload the audio, and the app transcribes and extracts the recipe while preserving her exact phrasing, highlighting estimated quantities, and saving all her tips and stories.&lt;/p&gt;

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

&lt;p&gt;Since this is a 100% offline, privacy-first desktop application designed to protect family data, there is no hosted live demo. You can test and demo it locally on your own machine by checking out the GitHub repository below!&lt;/p&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&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/Jay-Dosi" rel="noopener noreferrer"&gt;
        Jay-Dosi
      &lt;/a&gt; / &lt;a href="https://github.com/Jay-Dosi/DEV-Challenge-1" rel="noopener noreferrer"&gt;
        DEV-Challenge-1
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      
    &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;Recipe Keeper&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Turn a loved one's rambling voice memos about their cooking into a clean, searchable, printable family recipe book, entirely on a laptop, with no internet and no cloud.&lt;/p&gt;
&lt;p&gt;Built for Nani, who cooks from memory.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;100% Local&lt;/strong&gt;: Uses open-weight models (&lt;code&gt;faster-whisper&lt;/code&gt;, &lt;code&gt;Ollama&lt;/code&gt;). No cloud APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fidelity First&lt;/strong&gt;: Keeps the cook's original phrasing (e.g. "a fistful of jeera"). Approximations are flagged.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exportable&lt;/strong&gt;: Print a beautiful PDF cookbook, or export to Markdown/ZIP.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start&lt;/h2&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Install &lt;a href="https://ollama.ai/" rel="nofollow noopener noreferrer"&gt;Ollama&lt;/a&gt; and Python 3.10+.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make setup&lt;/code&gt; (or &lt;code&gt;bash scripts/setup.sh&lt;/code&gt;). This installs dependencies and pulls the default LLM model (&lt;code&gt;qwen2.5:7b&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;make run&lt;/code&gt; to start the server.&lt;/li&gt;
&lt;li&gt;Visit &lt;code&gt;http://127.0.0.1:8000&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Hardware &amp;amp; Model Swapping&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;16GB+ RAM&lt;/strong&gt;: The default &lt;code&gt;qwen2.5:7b&lt;/code&gt; is excellent.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;8GB RAM&lt;/strong&gt;: Change &lt;code&gt;model: "qwen2.5:7b"&lt;/code&gt; to &lt;code&gt;model: "llama3.2:3b"&lt;/code&gt; in &lt;code&gt;config.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Whisper defaults to &lt;code&gt;small&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Personalizing&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Edit &lt;code&gt;config.yaml&lt;/code&gt; to change the…&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/Jay-Dosi/DEV-Challenge-1" 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;The stack is built entirely around 100% open-source, locally run AI:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Speech-to-Text:&lt;/strong&gt; &lt;code&gt;faster-whisper&lt;/code&gt; (running the open-weight Whisper &lt;code&gt;small&lt;/code&gt; model) to handle multilingual offline transcription (e.g., mixing English and Hindi).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM Extraction:&lt;/strong&gt; &lt;code&gt;Ollama&lt;/code&gt; serving open-weight models (like &lt;code&gt;qwen2.5:7b&lt;/code&gt; or &lt;code&gt;llama3.2:3b&lt;/code&gt; for lower-RAM laptops).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend/Frontend:&lt;/strong&gt; Python 3.10+, FastAPI, SQLite, and vanilla HTML/CSS/JS (no build steps).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The core of the project relies on heavily engineered prompts that enforce strict "fidelity rules" on the LLM. The agent is instructed to &lt;strong&gt;never&lt;/strong&gt; invent ingredients, to map vague quantities to an &lt;code&gt;approx_metric&lt;/code&gt; flagged strictly as an &lt;code&gt;is_estimate&lt;/code&gt;, and to pull out exact quotes for an &lt;code&gt;original_phrase&lt;/code&gt; field.&lt;/p&gt;

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

&lt;p&gt;Family voices, stories, and recipes are incredibly personal and intimate. A cloud-based solution would require uploading my grandmother's private voice memos to third-party servers and paying per minute for transcription/extraction. &lt;/p&gt;

&lt;p&gt;Open-weight models make this project possible because they guarantee absolute privacy. The app runs completely offline, binding only to &lt;code&gt;127.0.0.1&lt;/code&gt;. It costs nothing to run, and because the weights are open, the app won't suddenly break when an API gets deprecated. It ensures this cookbook tool will work forever on a standard laptop.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

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

&lt;ul&gt;
&lt;li&gt;Open-Source Innovation&lt;/li&gt;
&lt;li&gt;Best Use of AI / Local Models&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
    <item>
      <title>HacktoberFest 2026</title>
      <dc:creator>Jay Dosi</dc:creator>
      <pubDate>Fri, 02 Oct 2026 16:26:20 +0000</pubDate>
      <link>https://dev.to/jay-dosi/hacktoberfest-2026-5d07</link>
      <guid>https://dev.to/jay-dosi/hacktoberfest-2026-5d07</guid>
      <description>&lt;p&gt;Participating in HacktoberFest 2026, already a open source contributor into multiple orgs.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
