<?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: Bobby</title>
    <description>The latest articles on DEV Community by Bobby (@karma0).</description>
    <link>https://dev.to/karma0</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1026012%2F37455780-ca63-4c8f-94c1-555454c96d00.jpeg</url>
      <title>DEV Community: Bobby</title>
      <link>https://dev.to/karma0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/karma0"/>
    <language>en</language>
    <item>
      <title>Tafy, A Meal Planner and Recipe Generator for Busy Devs!</title>
      <dc:creator>Bobby</dc:creator>
      <pubDate>Mon, 15 Apr 2024 06:23:11 +0000</pubDate>
      <link>https://dev.to/karma0/tafy-a-meal-planner-and-recipe-generator-for-busy-devs-2n1d</link>
      <guid>https://dev.to/karma0/tafy-a-meal-planner-and-recipe-generator-for-busy-devs-2n1d</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/devteam/join-us-for-the-cloudflare-ai-challenge-3000-in-prizes-5f99"&gt;Cloudflare AI Challenge&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;Tafy is an intuitive meal planner that takes all of the pain out of planning your meals for the week by generating recipes.&lt;/p&gt;

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

&lt;p&gt;You can demo the application here --&amp;gt; &lt;a href="https://tafy.recipes"&gt;https://tafy.recipes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftyzkeyap6tsmnjczealf.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftyzkeyap6tsmnjczealf.gif" alt="Image description" width="752" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;You can peruse at your leisure here: &lt;a href="https://github.com/tafy-io/tafy-demo"&gt;tafy-demo&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;This project has been something that I've been stewing on for years (pun intended)!  I decided to pursue it as a business, then shortly after ChatGPT came out and I thought I was done for ... but then I realized that it would just make it that much better!&lt;/p&gt;

&lt;p&gt;I decided to do this as soon as I heard about the challenge (about 5 days ago!) so I got to work, and decided to beg my family for forgiveness later - sorry, honey!&lt;/p&gt;

&lt;p&gt;In my work, I've been doing freelance with LLMs and generative AI and so I've been following the space heavily, and learned recently about &lt;code&gt;CopilotKit&lt;/code&gt; in an article on dev.to.  So I had to try it!&lt;/p&gt;

&lt;p&gt;With that, I had to hack it a bit to get the tooling to work with Cloudflare since a lot of text generation models don't support calling tools.  Luckily, &lt;code&gt;@hf/nousresearch/hermes-2-pro-mistral-7b&lt;/code&gt; hosted in Cloudflare Workers AI was able to rescue me, but the model did break my search integration.&lt;/p&gt;

&lt;p&gt;I also decided to go with the &lt;code&gt;@cf/bytedance/stable-diffusion-xl&lt;/code&gt; model for generating images, and so far I've been really impressed!&lt;/p&gt;

&lt;p&gt;Finally, I'm using OpenAI's text-to-speech model for verbal descriptions of the meal plans. Though I was hoping to turn this into a means of getting a recipe read off to you while you make it, I actually like the smooth-jazz DJ AI voice-over while I'm looking at the sweet pics of the food that it comes up with!&lt;/p&gt;

&lt;p&gt;I'm proud of what I've been able to accomplish what I did in such a short time, but I couldn't have done it without the help of folks in chat - thank you!!!&lt;/p&gt;

&lt;p&gt;Check out my README on GitHub for a list of things that I'll be working on next, and maybe someday, if everything works out, I'll make (this website)[&lt;a href="https://tafy.io"&gt;https://tafy.io&lt;/a&gt;] live!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multiple Models and/or Triple Task Types&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used multiple models and tasks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Models&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;@hf/nousresearch/hermes-2-pro-mistral-7b&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@cf/bytedance/stable-diffusion-xl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;OpenAI text-to-speech&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Tasks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm not sure what constitutes as a task, so I'll take a shot here...&lt;/p&gt;

&lt;p&gt;[x] The LLM calls tools which equate to "research," each a text generation task in its own right: search, curate, write, critique, revise.&lt;br&gt;
[x] The recipe's summary is sent to OpenAI's text-to-speech API.&lt;br&gt;
[x] Cloudflare Worker - text to image conversion.&lt;br&gt;
[x] Web search (partial, this works with GPT-4, but not Hermes because I can't get it to output JSON).&lt;/p&gt;

&lt;p&gt;Things I didn't get to, but may be partially setup:&lt;/p&gt;

&lt;p&gt;[] Vectorize store with recipes deposited and used to supplement.&lt;br&gt;
[] Preferences stored on disk, in a DB, or in object storage.&lt;/p&gt;

</description>
      <category>cloudflarechallenge</category>
      <category>devchallenge</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
