<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Generative AI Publication]]></title><description><![CDATA[All the latest news and resources on generative AI space.]]></description><link>https://www.generativeaipub.com</link><image><url>https://substackcdn.com/image/fetch/$s_!zpBt!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89245e08-b78a-49e5-b222-7bd053f63e61_1000x1000.png</url><title>Generative AI Publication</title><link>https://www.generativeaipub.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 01 May 2026 08:40:14 GMT</lastBuildDate><atom:link href="https://www.generativeaipub.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Jim Clyde Monge]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[generativeaipub@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[generativeaipub@substack.com]]></itunes:email><itunes:name><![CDATA[Jim Clyde Monge]]></itunes:name></itunes:owner><itunes:author><![CDATA[Jim Clyde Monge]]></itunes:author><googleplay:owner><![CDATA[generativeaipub@substack.com]]></googleplay:owner><googleplay:email><![CDATA[generativeaipub@substack.com]]></googleplay:email><googleplay:author><![CDATA[Jim Clyde Monge]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[My Ultimate Claude Code Setup]]></title><description><![CDATA[Here&#8217;s how I do my Claude Code setup that 10x my agentic development productivity.]]></description><link>https://www.generativeaipub.com/p/my-ultimate-claude-code-setup</link><guid isPermaLink="false">https://www.generativeaipub.com/p/my-ultimate-claude-code-setup</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Wed, 29 Apr 2026 11:16:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!09Gj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!09Gj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!09Gj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 424w, https://substackcdn.com/image/fetch/$s_!09Gj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 848w, https://substackcdn.com/image/fetch/$s_!09Gj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 1272w, https://substackcdn.com/image/fetch/$s_!09Gj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!09Gj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp" width="1400" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79200,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/195857338?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!09Gj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 424w, https://substackcdn.com/image/fetch/$s_!09Gj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 848w, https://substackcdn.com/image/fetch/$s_!09Gj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 1272w, https://substackcdn.com/image/fetch/$s_!09Gj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b105c06-9278-4325-bdc8-b72e0eb9bb0f_1400x788.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For the past few years, I&#8217;ve been experimenting with how software gets built when you have coding agents doing the heavy lifting.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>I come from a developer background, and like most people who build software products for a living, I&#8217;ve watched the tooling change fast. What started as autocomplete and code suggestions has become something much more capable: agents that can reason through a task, scaffold features, refactor large sections of a codebase, debug issues, and even help ship full-stack apps with surprising speed.</p><p>Over the last three years of what people now call vibe coding, I&#8217;ve tried a bunch of tools and workflows. Most of them fall into three buckets:</p><ol><li><p>IDEs (Integrated Development Environments)</p></li><li><p>Coding agents inside the CLI</p></li><li><p>Desktop apps</p></li></ol><p>Of course, all of these tools have their own pros and cons.</p><h4>IDE vs CLI vs desktop app</h4><p>IDEs like Antigravity, Cursor, or Kiro are all forks of VS Code. They offer a familiar environment for developers and an easy-to-use UI for beginners.</p><p>But the tradeoff is speed.</p><p>Because of all the UI components loaded at once, latency can become noticeable. Speed matters a lot to me, so when IDEs lag or crash, I get really frustrated.</p><p>Another thing is having to switch between the prompt field and the terminal. I find that part a bit cumbersome, and I often get confused between the two.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pgJc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pgJc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 424w, https://substackcdn.com/image/fetch/$s_!pgJc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 848w, https://substackcdn.com/image/fetch/$s_!pgJc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 1272w, https://substackcdn.com/image/fetch/$s_!pgJc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pgJc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png" width="1456" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Agent prompt and Terminal inside Antigravity. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Agent prompt and Terminal inside Antigravity. Image by Jim Clyde Monge" title="Agent prompt and Terminal inside Antigravity. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!pgJc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 424w, https://substackcdn.com/image/fetch/$s_!pgJc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 848w, https://substackcdn.com/image/fetch/$s_!pgJc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 1272w, https://substackcdn.com/image/fetch/$s_!pgJc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19a7d9dc-215b-4569-bfc9-c9ca5bc59e64_1600x990.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Agent prompt and Terminal inside Antigravity. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Then there is the terminal.</p><p>Hardcore devs will always prefer using the terminal. You can run commands quickly, and you don&#8217;t suffer as much from latency. It&#8217;s fast, flexible, and feels natural once you&#8217;re used to it.</p><p>Before Warp, I was running Claude Code in a plain CLI on Mac. Fast, flexible, and useful to me as a developer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WWNR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WWNR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 424w, https://substackcdn.com/image/fetch/$s_!WWNR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 848w, https://substackcdn.com/image/fetch/$s_!WWNR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!WWNR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WWNR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png" width="1456" height="1006" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1006,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Code running in CLI. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code running in CLI. Image by Jim Clyde Monge" title="Claude Code running in CLI. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!WWNR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 424w, https://substackcdn.com/image/fetch/$s_!WWNR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 848w, https://substackcdn.com/image/fetch/$s_!WWNR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 1272w, https://substackcdn.com/image/fetch/$s_!WWNR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3f3fcac-6075-4b34-89b3-b46829868af4_1600x1106.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Claude Code running in CLI. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>But a few things kept bugging me:</p><ul><li><p>If I wanted to check the source code, I&#8217;d have to open a separate IDE to look at what changed.</p></li><li><p>Organizing multiple instances of coding agents across multiple open terminals was messy without tabs.</p></li><li><p>There were no notifications when an agent was thinking, out of tokens, or done working.</p></li></ul><p>As the project gets bigger, code review, task monitoring, and managing multiple agents get painful.</p><p>The desktop app is the option I enjoy least. OpenAI&#8217;s Codex and Anthropic&#8217;s Claude desktop app are two of the most popular right now.</p><p>Too simple and too slow for how I work. For beginners, it&#8217;s probably fine because you don&#8217;t have to deal with technical stuff like commands. All you really need to worry about is writing a good prompt and letting the AI handle most of the work.</p><p>But here&#8217;s the thing: <strong>you don&#8217;t have to pick between these environments.</strong></p><p>There&#8217;s another agentic coding tool called <a href="https://go.warp.dev/jimmed">Warp</a> that gives me the speed and lightness of the CLI and the ease of use of a more visual tool.</p><p>Let me walk through how I use Claude Code with it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>Why I switched to Warp</h4><p>Warp is an agentic development environment, born out of the terminal. I tried it about a year ago and liked it immediately.</p><p>What hooked me right away was that it didn&#8217;t feel like a bloated IDE, but it also didn&#8217;t feel like a bare terminal that leaves you to figure everything out on your own. It sits somewhere in the middle, and that&#8217;s exactly where I want to be when I&#8217;m working with coding agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JvAK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JvAK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JvAK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JvAK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JvAK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JvAK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg" width="1024" height="683" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:683,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;A preview of a working project in Warp. Image from Warp.dev&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A preview of a working project in Warp. Image from Warp.dev" title="A preview of a working project in Warp. Image from Warp.dev" srcset="https://substackcdn.com/image/fetch/$s_!JvAK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JvAK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JvAK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JvAK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5055ac6-e12e-4645-a9fe-f39c346b1ee1_1024x683.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A preview of a working project in Warp. Image from Warp.dev</figcaption></figure></div><p>It&#8217;s lightweight. It&#8217;s fast. It supports multiple models. It feels agentic. And it gives me something between a terminal and a full IDE without making me commit to either one.</p><p>It didn&#8217;t replace the parts I liked about using Claude Code in the terminal. It just made the experience around it better.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?coupon=e4c34d5e&amp;utm_content=195857338&quot;,&quot;text&quot;:&quot;Get 20% off for 1 year&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?coupon=e4c34d5e&amp;utm_content=195857338"><span>Get 20% off for 1 year</span></a></p><h4>How I use Claude Code in Warp</h4><p>In the prompt field, Warp accepts terminal commands, so when you type &#8220;/model,&#8221; it&#8217;ll show all supported models. Open the &#8220;Full Terminal Use&#8221; tab, and you can see every Claude model available to you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OW32!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OW32!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 424w, https://substackcdn.com/image/fetch/$s_!OW32!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 848w, https://substackcdn.com/image/fetch/$s_!OW32!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 1272w, https://substackcdn.com/image/fetch/$s_!OW32!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OW32!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png" width="1456" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Bringing up the Claude models in Warp. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bringing up the Claude models in Warp. Image by Jim Clyde Monge" title="Bringing up the Claude models in Warp. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!OW32!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 424w, https://substackcdn.com/image/fetch/$s_!OW32!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 848w, https://substackcdn.com/image/fetch/$s_!OW32!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 1272w, https://substackcdn.com/image/fetch/$s_!OW32!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e71be08-eb7d-41bc-9e6a-a9aa4d5cdd56_1600x1011.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Bringing up the Claude models in Warp. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>You can also choose other models or launch Warp&#8217;s <a href="https://www.warp.dev/blog/oz-orchestration-platform-cloud-agents">Oz orchestrator</a> to handle the agent scaffolding for you.</p><p>Now, whenever I prefer to work inside Claude Code instead of Warp&#8217;s built-in composer, I can simply run &#8220;claude&#8221; and continue using it as I would inside the CLI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XJ5c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XJ5c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 424w, https://substackcdn.com/image/fetch/$s_!XJ5c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 848w, https://substackcdn.com/image/fetch/$s_!XJ5c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!XJ5c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XJ5c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png" width="1456" height="974" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:974,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Switching to Claude Code from Warp&#8217;s composer. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Switching to Claude Code from Warp&#8217;s composer. Image by Jim Clyde Monge" title="Switching to Claude Code from Warp&#8217;s composer. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!XJ5c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 424w, https://substackcdn.com/image/fetch/$s_!XJ5c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 848w, https://substackcdn.com/image/fetch/$s_!XJ5c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 1272w, https://substackcdn.com/image/fetch/$s_!XJ5c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc19ac9-630e-4bb2-9a6c-94dd9d3a35e5_1600x1070.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Switching to Claude Code from Warp&#8217;s composer. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>This is pretty cool, right? To switch back to the composer, I just click on the &#8220;Compose&#8221; button.</p><h4>CLI Agent Toolbar</h4><p>Another reason I prefer Warp over a default CLI terminal is the customizable controls in the toolbar section.</p><p>Power users want their agent workflow tailored to them. The toolbar puts the right controls at your fingertips without leaving the terminal.</p><p>To get to it, right-click on the toolbar section and select &#8220;Edit CLI agent toolbelt.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ROf-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ROf-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 424w, https://substackcdn.com/image/fetch/$s_!ROf-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 848w, https://substackcdn.com/image/fetch/$s_!ROf-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 1272w, https://substackcdn.com/image/fetch/$s_!ROf-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ROf-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png" width="1396" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1396,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Editing the CLI agent toolbelt. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Editing the CLI agent toolbelt. Image by Jim Clyde Monge" title="Editing the CLI agent toolbelt. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!ROf-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 424w, https://substackcdn.com/image/fetch/$s_!ROf-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 848w, https://substackcdn.com/image/fetch/$s_!ROf-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 1272w, https://substackcdn.com/image/fetch/$s_!ROf-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69cbe675-eb3f-4800-b2cf-88feb8e71cc9_1396x876.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Editing the CLI agent toolbelt. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>This brings up a modal where you can customize which tools appear on both the left and right sides of the toolbelt.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dzyv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dzyv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 424w, https://substackcdn.com/image/fetch/$s_!dzyv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 848w, https://substackcdn.com/image/fetch/$s_!dzyv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 1272w, https://substackcdn.com/image/fetch/$s_!dzyv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dzyv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png" width="1456" height="867" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:867,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The CLI agent toolbelt menu. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The CLI agent toolbelt menu. Image by Jim Clyde Monge" title="The CLI agent toolbelt menu. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!dzyv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 424w, https://substackcdn.com/image/fetch/$s_!dzyv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 848w, https://substackcdn.com/image/fetch/$s_!dzyv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 1272w, https://substackcdn.com/image/fetch/$s_!dzyv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e41b24-9edc-4d94-a5b9-a113cf003895_1600x953.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The CLI agent toolbelt menu. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Here&#8217;s my default setup: no voice input since I prefer typing my prompts, no session sharing since I&#8217;m a solo dev, and I always want to see which branch is active on which project folder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zs-y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zs-y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 424w, https://substackcdn.com/image/fetch/$s_!Zs-y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 848w, https://substackcdn.com/image/fetch/$s_!Zs-y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!Zs-y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zs-y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png" width="1456" height="989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d43438dd-688f-478e-958f-88020987ffbc_1534x1042.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:989,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;My personal toolbelt menu. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="My personal toolbelt menu. Image by Jim Clyde Monge" title="My personal toolbelt menu. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!Zs-y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 424w, https://substackcdn.com/image/fetch/$s_!Zs-y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 848w, https://substackcdn.com/image/fetch/$s_!Zs-y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 1272w, https://substackcdn.com/image/fetch/$s_!Zs-y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd43438dd-688f-478e-958f-88020987ffbc_1534x1042.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">My personal toolbelt menu. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>If you work on a team, it&#8217;s worth enabling the current logged in user and the shortcut to share your session with other team members.</p><p>I stay in one environment with quick access to the things I actually need when working with an agent. No bouncing between different apps just to give better context or review what changed.</p><p>That is a big part of why Warp feels more complete than a plain terminal.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>Unified Notifications</h4><p>Agents run in the background, and they do not always need your attention right away.</p><ul><li><p>Sometimes they are still thinking.</p></li><li><p>Sometimes they are waiting for a response. S</p></li><li><p>Sometimes they are out of tokens.</p></li><li><p>Sometimes they are done and ready for the next instruction.</p></li></ul><p>In a regular terminal, you kind of have to babysit all of that yourself.</p><p>Warp fixes this with a unified notifications UI that keeps you in sync with all your agents across tabs. You do not have to keep checking every session manually just to see whether something happened. Desktop notifications are also supported, which is especially useful when you are multitasking.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FI8x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FI8x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 424w, https://substackcdn.com/image/fetch/$s_!FI8x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 848w, https://substackcdn.com/image/fetch/$s_!FI8x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 1272w, https://substackcdn.com/image/fetch/$s_!FI8x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FI8x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png" width="1456" height="905" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:905,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Enabling Claude Code notifications. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Enabling Claude Code notifications. Image by Jim Clyde Monge" title="Enabling Claude Code notifications. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!FI8x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 424w, https://substackcdn.com/image/fetch/$s_!FI8x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 848w, https://substackcdn.com/image/fetch/$s_!FI8x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 1272w, https://substackcdn.com/image/fetch/$s_!FI8x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff193cfc2-69b9-44de-b5ef-3c24fb44242a_1600x994.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h5PU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h5PU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 424w, https://substackcdn.com/image/fetch/$s_!h5PU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 848w, https://substackcdn.com/image/fetch/$s_!h5PU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 1272w, https://substackcdn.com/image/fetch/$s_!h5PU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!h5PU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png" width="441" height="398" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:398,&quot;width&quot;:441,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!h5PU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 424w, https://substackcdn.com/image/fetch/$s_!h5PU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 848w, https://substackcdn.com/image/fetch/$s_!h5PU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 1272w, https://substackcdn.com/image/fetch/$s_!h5PU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde8f1048-02d2-4c17-97e2-16b5788d4320_441x398.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Enabling Claude Code notifications. Image by Jim Clyde Monge</figcaption></figure></div><p>Click on the &#8220;Enable Claude Code notifications,&#8221; and this will install the Claud Code plugin.</p><p>On bigger projects with longer-running tasks, I rely on notifications constantly. I used to alt-tab through terminal windows just to check whether an agent was stuck or waiting on me. That got old fast. Now I don&#8217;t have to.</p><h4>Code Review Comments</h4><p>Agents can write code fast. But humans are still the ones responsible for making sure the code is actually good.</p><p>That&#8217;s why I like Warp&#8217;s code review comments feature.</p><p>Instead of treating code review as something completely separate from the agent workflow, Warp keeps the loop tight. I can review agent-generated code, leave inline comments, and send that feedback directly to a running third-party agent session.</p><p>Here&#8217;s an example:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x5ia!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x5ia!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 424w, https://substackcdn.com/image/fetch/$s_!x5ia!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 848w, https://substackcdn.com/image/fetch/$s_!x5ia!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 1272w, https://substackcdn.com/image/fetch/$s_!x5ia!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x5ia!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png" width="1456" height="1072" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1072,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Adding comments in the AI geenarated code changes. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Adding comments in the AI geenarated code changes. Image by Jim Clyde Monge" title="Adding comments in the AI geenarated code changes. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!x5ia!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 424w, https://substackcdn.com/image/fetch/$s_!x5ia!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 848w, https://substackcdn.com/image/fetch/$s_!x5ia!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 1272w, https://substackcdn.com/image/fetch/$s_!x5ia!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93cab5c9-4b6a-4b4e-85a9-729135470805_1600x1178.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adding comments in the AI geenarated code changes. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>That means the agent can iterate based on very specific feedback without me having to manually re-explain everything in another window.</p><p>This is a really smart workflow improvement.</p><p>One of the biggest gaps in agentic development right now is that generation is easy, but iteration can still feel clunky. Warp makes that feel much smoother. You can generate, review, comment, and course-correct all in one place.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?coupon=e4c34d5e&amp;utm_content=195857338&quot;,&quot;text&quot;:&quot;Get 20% off for 1 year&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?coupon=e4c34d5e&amp;utm_content=195857338"><span>Get 20% off for 1 year</span></a></p><h4>Why this setup matters</h4><p>If you&#8217;re already using coding agents or thinking seriously about building with them more often, this kind of setup matters for a few reasons.</p><p>The first reason is speed.</p><p>And I do not just mean model speed. I mean your actual working speed as a developer. How quickly can you launch the right setup, hand over context, review changes, monitor progress, and move across tasks without breaking focus? That&#8217;s where the environment around the agent makes a difference. A plain terminal doesn&#8217;t help you much there. An IDE might, but you pay for it in weight and latency.</p><p>The second reason is visibility.</p><p>Once you start using agents more heavily, you need better awareness of what each session is doing. You want an easy way to know when an agent needs attention, when it&#8217;s done, or when you&#8217;re about to hit a token limit. That&#8217;s much easier when your environment is actually designed for it, rather than something you&#8217;re duct-taping together across multiple windows.</p><p>The third reason is flexibility.</p><p>You&#8217;re not limited to one model. You can switch between them depending on what you need. Sometimes you want something faster. Sometimes you want stronger reasoning. Sometimes you want to save money. Being able to pick the right model for the right task is one of the easiest ways to work more efficiently and keep costs under control.</p><p>The fourth reason is that Warp seems to listen to developers.</p><p>This matters a lot in a space that&#8217;s changing as quickly as agentic development. The tools that win here are the ones that move fast, pay attention to how developers actually work, and keep shipping useful stuff. From what I&#8217;ve seen, Warp has been more consistent about that than most of the competition.</p><p>I encourage you to follow their X account to see how much they listen and how quickly they make sure all major concerns are addressed.</p><p>And from personal experience: it&#8217;s been useful. I&#8217;ve been building my apps with Warp, and my Claude Code workflow is noticeably better for it. Not because it changes what Claude can do on its own, but because it makes everything around Claude smoother.</p><h4>Final thoughts</h4><p>To summarize everything, my ultimate Claude Code setup is really about combining the strengths of different environments without being forced to fully commit to only one.</p><p>I talked about the tradeoffs between IDEs, the CLI, and desktop apps. IDEs are familiar and approachable, but they can feel heavy. The CLI is fast and flexible, but it gets messy as projects and agent sessions grow. Desktop apps are simple, but for me, they often feel too limited for serious work.</p><p>That is why Warp works so well in this setup.</p><p>It gives me the speed and lightness I want from the terminal, while also giving me a better experience around code review, task monitoring, multiple agent sessions, and prompt composition. Features like Vertical Tabs, notifications, the CLI agent toolbar, Code Review Comments, and model flexibility all add up to a workflow that feels much more practical for real agentic development.</p><p>Personally, using Claude Code with Warp has made me more productive, more organized, and a lot more comfortable working across larger projects. It helps me stay in flow, manage more agents at once, and spend less time dealing with the awkward parts of the workflow.</p><p>Of course, this is still based on my own personal preferences. Everyone has a different way of working, and that is completely fine. The good thing is that Warp gives you enough flexibility to explore the app and customize the setup however you want.</p><p>If you are already using Claude Code, I think Warp is worth trying.</p><p>Give Claude Code in Warp a shot, test a setup that fits your workflow, and let me know what you think about the experience.</p><div><hr></div><p><em>Hi there! Thanks for making it to the end of this post! If you enjoyed this content and would like to support my work, consider becoming a paid subscriber. Your support means a lot!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe&quot;,&quot;text&quot;:&quot;Support my work&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.generativeaipub.com/subscribe"><span>Support my work</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[5 Exciting New Features and Updates to BloggFast]]></title><description><![CDATA[Five new tools and features I added to my AI blog boilerplate project that I think you will love and get excited about.]]></description><link>https://www.generativeaipub.com/p/5-exciting-new-features-and-updates</link><guid isPermaLink="false">https://www.generativeaipub.com/p/5-exciting-new-features-and-updates</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Fri, 24 Apr 2026 13:38:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oZ23!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oZ23!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oZ23!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!oZ23!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!oZ23!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!oZ23!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oZ23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1181422,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/195349342?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oZ23!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!oZ23!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!oZ23!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!oZ23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95ac8b92-300d-4a6b-a553-b12baf77662d_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hey guys, it has been a week since I launched <a href="https://www.blogg.fast/">BloggFast</a>.</p><p>For those who are new here, BloggFast is a Next.js blog boilerplate that gives you a fully wired, production-ready AI-powered blog site out of the box. Instead of spending weeks integrating authentication, database, CMS, email, hosting, and AI services, you get all of that configured and connected on day one.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>So, if you are still paying for platforms like Webflow, Framer, or WordPress, you can finally ditch them and use BloggFast instead.</p><p>You do not need to keep paying a monthly subscription just because you reached a certain limit on content, pages, storage, or traffic. You have full control over your content. You own the source code. You can modify it, extend it, self-host it, or turn it into something completely different.</p><p>It is also very easy to set up.</p><p>In this post, I want to share five of the latest features and improvements I shipped this week. Here is a quick summary:</p><ol><li><p>New article scheduler</p></li><li><p>OpenClaw integration</p></li><li><p>New comment section on articles</p></li><li><p>New model support with <a href="https://www.anthropic.com/news/claude-opus-4-7">Opus 4.7</a></p></li><li><p>Reduced pricing</p></li></ol><p>Let me get into the details.</p><div><hr></div><h4>1. New article scheduler</h4><p>BloggFast now has a new <a href="https://demo.blogg.fast/admin/calendar">Calendar</a> tab on the left menu.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yRqn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yRqn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 424w, https://substackcdn.com/image/fetch/$s_!yRqn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 848w, https://substackcdn.com/image/fetch/$s_!yRqn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 1272w, https://substackcdn.com/image/fetch/$s_!yRqn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yRqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png" width="1456" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast new Calendar tab. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast new Calendar tab. Image by Jim Clyde Monge" title="BloggFast new Calendar tab. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!yRqn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 424w, https://substackcdn.com/image/fetch/$s_!yRqn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 848w, https://substackcdn.com/image/fetch/$s_!yRqn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 1272w, https://substackcdn.com/image/fetch/$s_!yRqn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d12960e-5810-4541-a5c2-f783f5ec6683_2400x1582.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast new Calendar tab. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>From here, users can schedule posts by hovering over a calendar date and clicking the <strong>+</strong> button. This makes it much easier to plan content ahead of time instead of manually publishing every article the moment it is ready.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e02H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e02H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 424w, https://substackcdn.com/image/fetch/$s_!e02H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 848w, https://substackcdn.com/image/fetch/$s_!e02H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!e02H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e02H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png" width="1456" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast new article scheduler modal. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast new article scheduler modal. Image by Jim Clyde Monge" title="BloggFast new article scheduler modal. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!e02H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 424w, https://substackcdn.com/image/fetch/$s_!e02H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 848w, https://substackcdn.com/image/fetch/$s_!e02H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!e02H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02379a35-a086-463f-8a74-03892d9f9ee3_1600x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast new article scheduler modal. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Users can also click Generate with AI, which redirects them to the AI article generator page. On that page, there is now a new Schedule button beside the publish button. This allows you to generate an article with AI and schedule it for a later date.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L78n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L78n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 424w, https://substackcdn.com/image/fetch/$s_!L78n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 848w, https://substackcdn.com/image/fetch/$s_!L78n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 1272w, https://substackcdn.com/image/fetch/$s_!L78n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L78n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png" width="1456" height="1130" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1130,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast new article scheduler. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast new article scheduler. Image by Jim Clyde Monge" title="BloggFast new article scheduler. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!L78n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 424w, https://substackcdn.com/image/fetch/$s_!L78n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 848w, https://substackcdn.com/image/fetch/$s_!L78n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 1272w, https://substackcdn.com/image/fetch/$s_!L78n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6815db6b-ab32-4b77-8d34-1b843e7d7df3_1600x1242.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast new article scheduler. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Going back to the calendar page, you can switch between three views.</p><ol><li><p>The first one is the Calendar view, which gives you a clean monthly view of your scheduled articles.</p></li><li><p>The second one is the List view, which shows a full list of articles with their status and publishing date.</p></li><li><p>The third one is the Board view, which works like a Trello board. It organizes articles based on their status, so you can quickly see what is still in draft, what is scheduled, and what has already been published.</p></li></ol><p>Here&#8217;s what the list view and the board view looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_kSE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_kSE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 424w, https://substackcdn.com/image/fetch/$s_!_kSE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 848w, https://substackcdn.com/image/fetch/$s_!_kSE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 1272w, https://substackcdn.com/image/fetch/$s_!_kSE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_kSE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png" width="1200" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_kSE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 424w, https://substackcdn.com/image/fetch/$s_!_kSE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 848w, https://substackcdn.com/image/fetch/$s_!_kSE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 1272w, https://substackcdn.com/image/fetch/$s_!_kSE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda18d1d-aa60-40f2-a76b-3af94a5901d5_1200x791.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJ-0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJ-0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 424w, https://substackcdn.com/image/fetch/$s_!MJ-0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 848w, https://substackcdn.com/image/fetch/$s_!MJ-0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 1272w, https://substackcdn.com/image/fetch/$s_!MJ-0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJ-0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png" width="1200" height="786" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88d70aa5-d972-404a-a275-775169c7515f_1200x786.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:786,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJ-0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 424w, https://substackcdn.com/image/fetch/$s_!MJ-0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 848w, https://substackcdn.com/image/fetch/$s_!MJ-0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 1272w, https://substackcdn.com/image/fetch/$s_!MJ-0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88d70aa5-d972-404a-a275-775169c7515f_1200x786.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast new article scheduler. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Why add this?</p><p>I wanted to give writers the ability to prepare content ahead of time and put everything in a proper publishing queue. There are many cases where this becomes useful. For example, a new LLM might be teased for release, and you already want to prepare an article before the official launch. You can write it ahead of time, schedule it, and let BloggFast handle the publishing for you.</p><p>This is especially useful if you run a news-style blog or publish multiple articles per week. Instead of rushing every time you want to post something, you can plan your content calendar properly and keep your site active even when you are busy.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>2. OpenClaw integration</h4><p>This is the update I am most excited to share, but it is also the most technical one.</p><p>If you have not heard about <a href="https://openclaw.ai/">OpenClaw</a> yet, it is an open-source tool that lets you connect AI agents to real workflows. You can think of it as a bridge between your messaging apps, automation tools, and your own apps. Instead of opening your dashboard every time you want to perform an action, you can send a command through a bot and let the system do the work for you.</p><p>When I first released BloggFast, I wanted to give writers the ability to write and publish content to their own blog or news website through the built-in AI article generator.</p><p>However, there was still one blocker in the workflow.</p><p>To publish content, you still had to open your laptop, go to the BloggFast dashboard, write the content, review it, and publish it. It usually takes around 5 to 10 minutes for a 1,000-word article to go live.</p><p>That is already fast compared to the usual blogging workflow, but I wanted to improve it even more.</p><p>What if you could simply send a topic to a bot from WhatsApp, and then the bot asks BloggFast to write and publish the content for you?</p><p>That is the idea behind the OpenClaw integration.</p><p>Instead of manually opening the admin dashboard, you can send a topic from your phone. OpenClaw receives the request, sends it to BloggFast, and BloggFast generates the article for you. The article can then be prepared, saved, or published depending on your setup.</p><p>The turnaround time can go from around 10 minutes to about 1 minute.</p><p>Here is a simple visualization of the process:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aoRi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aoRi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 424w, https://substackcdn.com/image/fetch/$s_!aoRi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 848w, https://substackcdn.com/image/fetch/$s_!aoRi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 1272w, https://substackcdn.com/image/fetch/$s_!aoRi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aoRi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png" width="1456" height="835" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:835,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast&#8217;s OpenClaw architecture. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast&#8217;s OpenClaw architecture. Image by Jim Clyde Monge" title="BloggFast&#8217;s OpenClaw architecture. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!aoRi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 424w, https://substackcdn.com/image/fetch/$s_!aoRi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 848w, https://substackcdn.com/image/fetch/$s_!aoRi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 1272w, https://substackcdn.com/image/fetch/$s_!aoRi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88441483-b4f9-470c-bea9-61a0e1636d24_1600x918.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast&#8217;s OpenClaw architecture. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>On the left side menu of the admin panel, I also created a new menu called <strong>OpenClaw</strong>. This acts as the dashboard for all the requests sent by the bot and the articles created through OpenClaw.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!udnG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!udnG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 424w, https://substackcdn.com/image/fetch/$s_!udnG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 848w, https://substackcdn.com/image/fetch/$s_!udnG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 1272w, https://substackcdn.com/image/fetch/$s_!udnG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!udnG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png" width="1456" height="1127" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1a85bde-d610-4638-a751-519819a32130_1600x1239.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1127,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!udnG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 424w, https://substackcdn.com/image/fetch/$s_!udnG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 848w, https://substackcdn.com/image/fetch/$s_!udnG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 1272w, https://substackcdn.com/image/fetch/$s_!udnG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1a85bde-d610-4638-a751-519819a32130_1600x1239.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ow8z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ow8z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 424w, https://substackcdn.com/image/fetch/$s_!Ow8z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 848w, https://substackcdn.com/image/fetch/$s_!Ow8z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 1272w, https://substackcdn.com/image/fetch/$s_!Ow8z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ow8z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png" width="1200" height="1022" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1022,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ow8z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 424w, https://substackcdn.com/image/fetch/$s_!Ow8z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 848w, https://substackcdn.com/image/fetch/$s_!Ow8z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 1272w, https://substackcdn.com/image/fetch/$s_!Ow8z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7b48f66-53dc-4c26-9e6d-69e313d53314_1200x1022.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast&#8217;s OpenClaw screen. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Here&#8217;s a sample curl reference:</p><pre><code># Trigger generation
curl -X POST https://&lt;your-domain&gt;/api/openclaw/articles/trigger \
  -H &#8220;Content-Type: application/json&#8221; \
  -H &#8220;x-api-key: $BLOGG_FAST_OPENCLAW_API_KEY&#8221; \
  -d &#8216;{&#8221;topic&#8221;:&#8221;Your topic here&#8221;,&#8221;source&#8221;:&#8221;whatsapp&#8221;,&#8221;chatId&#8221;:&#8221;optional&#8221;}&#8217;

# Poll status  
curl https://&lt;your-domain&gt;/api/openclaw/articles/status/&lt;jobId&gt; \
  -H &#8220;x-api-key: $BLOGG_FAST_OPENCLAW_API_KEY&#8221;

# Cancel a job
curl -X POST https://&lt;your-domain&gt;/api/openclaw/articles/cancel/&lt;jobId&gt; \
  -H &#8220;x-api-key: $BLOGG_FAST_OPENCLAW_API_KEY&#8221;</code></pre><p>For now, I will not go into the full setup process because it is a bit complicated. I will prepare a separate post that explains the step-by-step guide on how to set up your own OpenClaw workflow for free and connect it to BloggFast.</p><p>But honestly, this is one of the most exciting parts of the project for me.</p><p>It makes BloggFast feel less like a normal blog template and more like a real publishing system that can work with agents, bots, and automated workflows.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>3. New comment section on articles</h4><p>When you open an article, you will now see a new comment section at the end.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5JQw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5JQw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 424w, https://substackcdn.com/image/fetch/$s_!5JQw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 848w, https://substackcdn.com/image/fetch/$s_!5JQw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 1272w, https://substackcdn.com/image/fetch/$s_!5JQw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5JQw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png" width="1456" height="1121" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1121,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast&#8217;s new comment feature. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast&#8217;s new comment feature. Image by Jim Clyde Monge" title="BloggFast&#8217;s new comment feature. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!5JQw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 424w, https://substackcdn.com/image/fetch/$s_!5JQw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 848w, https://substackcdn.com/image/fetch/$s_!5JQw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 1272w, https://substackcdn.com/image/fetch/$s_!5JQw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2310e288-b04f-4e65-b2e3-51509bef8410_1600x1232.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast&#8217;s new comment feature. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Guest visitors are allowed to view comments, but only logged-in users can leave a comment. The owner of the comment can also delete their own comments. Users can also upvote or downvote comments.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4V7y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4V7y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 424w, https://substackcdn.com/image/fetch/$s_!4V7y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 848w, https://substackcdn.com/image/fetch/$s_!4V7y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 1272w, https://substackcdn.com/image/fetch/$s_!4V7y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4V7y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png" width="1456" height="785" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04a45262-39b9-4009-8e83-1745709257b5_1600x863.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:785,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast&#8217;s new comment feature. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast&#8217;s new comment feature. Image by Jim Clyde Monge" title="BloggFast&#8217;s new comment feature. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!4V7y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 424w, https://substackcdn.com/image/fetch/$s_!4V7y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 848w, https://substackcdn.com/image/fetch/$s_!4V7y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 1272w, https://substackcdn.com/image/fetch/$s_!4V7y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a45262-39b9-4009-8e83-1745709257b5_1600x863.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast&#8217;s new comment feature. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>This makes the article page feel more alive. Instead of just publishing content and letting readers leave quietly, you can now start conversations around your posts.</p><p>I am also planning to allow anonymous comments in the future. Another feature I am considering is giving the author the option to turn off comments for specific posts.</p><p>That is still just a plan for now, so let me know what you think about it.</p><p>This new comment feature should have been part of the initial launch, but I had to delay it because I wanted to prioritize more important features first. But hey, it is finally here now.</p><p>You can now enjoy reading and commenting on other people&#8217;s posts directly inside BloggFast.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>4. New model (Opus 4.7)</h4><p>In case you missed it, Anthropic launched their latest and most capable model, <a href="https://www.anthropic.com/news/claude-opus-4-7">Opus 4.7</a>.</p><p>For BloggFast, this matters a lot because the AI article generator depends heavily on instruction following, long-form reasoning, research quality, and writing consistency. A better model does not just mean better text. It also means the system can follow your writing rules more carefully, understand article structure better, and produce content that needs less editing.</p><p>From my own testing, Opus 4.7 works very well for deep research, article writing, outlines, rewrites, and long-form content generation. It is especially useful when you want the AI to follow a specific tone, avoid certain words, or write in a format that matches your existing content style.</p><p>To switch the default model to Opus 4.7, open the Settings page. Under the AI Config tab, set the AI model to Claude 4.7 Opus Reasoning.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D1uB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D1uB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 424w, https://substackcdn.com/image/fetch/$s_!D1uB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 848w, https://substackcdn.com/image/fetch/$s_!D1uB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!D1uB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D1uB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png" width="1456" height="919" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:919,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast&#8217;s new LLM support. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast&#8217;s new LLM support. Image by Jim Clyde Monge" title="BloggFast&#8217;s new LLM support. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!D1uB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 424w, https://substackcdn.com/image/fetch/$s_!D1uB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 848w, https://substackcdn.com/image/fetch/$s_!D1uB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 1272w, https://substackcdn.com/image/fetch/$s_!D1uB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3fef6bb-885f-460b-b8b8-36a960600752_1600x1010.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">BloggFast&#8217;s new LLM support. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Save the settings and you are good to go.</p><p>How is the improvement?</p><p>Well, I noticed that Opus 4.7 is by far one of the best models to use for BloggFast. It follows instructions almost all the time, and it also uses the writing skills properly. Of course, you are free to try the other models, but this is the one I highly recommend right now for serious article writing.</p><p>Take note that the backend is wired to Vercel AI Gateway, so make sure that you have enough credits in your AI Gateway account.</p><p>And by the way, OpenAI just launched <a href="https://openai.com/index/introducing-gpt-5-5/">GPT-5.5</a>, but the model&#8217;s API access is not publicly available yet. Once it becomes available, I will immediately add support for it inside BloggFast.</p><h4>5. Reduced pricing</h4><p>I received comments from writers saying that the pricing of BloggFast is a bit high.</p><p>So, I decided to offer a 75% discount to the first 50 customers.</p><p>I have poured a lot of sweat, time, and effort into this project. The amount of features and complexity inside BloggFast is not small. It is not just a UI template. It is a full-stack blog boilerplate with authentication, database, CMS, email, AI generation, article management, scheduling, comments, and now even automation support through OpenClaw.</p><p>The goal is to empower writers, publishers, indie hackers, and small teams who want real control and ownership over their platform.</p><p>So yes, I still believe the original pricing is justified. But I also understand that many writers and builders are careful with their budget, especially when starting something new.</p><p>That is why I decided to make the offer more accessible for the first batch of users.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>What&#8217;s next?</h4><p>I have worked on <a href="https://www.blogg.fast/">BloggFast</a> for two months with the goal of giving writers and publishers more control and ownership over their platform.</p><p>I am committed to growing this product and continuously adding more features, improvements, and integrations to it.</p><p>In the next iterations, I am planning to work on these updates:</p><ol><li><p>Add support for OpenAI&#8217;s GPT-5.5 model for article writing</p></li><li><p>Add support for OpenAI&#8217;s ChatGPT Image 2.0 model for image generation</p></li><li><p>Add newsletters so writers can compose daily or weekly emails with AI</p></li><li><p>Add research agents that can help find topics and gather useful information</p></li><li><p>Add the ability to share articles directly to social media</p></li></ol><p>These are just some of the most exciting features I can think of at the moment, and many of them are already in the work pipeline.</p><p>I want <a href="https://www.blogg.fast/">BloggFast</a> to become more than just a boilerplate. I want it to become a full publishing system for people who want to own their content, move fast, and use AI in a practical way.</p><p>Let me know if you have any other features or tools you want to see on BloggFast.</p><p>Thank you everyone for the support.</p>]]></content:encoded></item><item><title><![CDATA[How to Set Up BloggFast - An AI-Driven Blog Site Boilerplate]]></title><description><![CDATA[Here's a detailed guide on how to build production-ready blogging platforms with auth, CMS, database, email, and AI built in.]]></description><link>https://www.generativeaipub.com/p/how-to-set-up-bloggfast-an-ai-driven</link><guid isPermaLink="false">https://www.generativeaipub.com/p/how-to-set-up-bloggfast-an-ai-driven</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Sat, 18 Apr 2026 10:24:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qxwZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qxwZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qxwZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qxwZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qxwZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qxwZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qxwZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:483244,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/194597437?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qxwZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qxwZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qxwZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qxwZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72634c85-a7b9-4c1b-b828-1cadafe44c5e_1536x1024.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you want to launch your own blog or news website with full control over the source code, I built <a href="https://www.blogg.fast/">BloggFast</a> for you. It is a full-stack NextJS boilerplate built to help you move faster without having to piece everything together from scratch.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>Instead of spending days setting up authentication, the database, CMS, email, hosting, and AI article generation, you can start with a production-ready foundation that already has those core parts wired in. That means you can focus more on building your platform, customizing the experience, and publishing content.</p><p>Here&#8217;s a quick summary of the steps:</p><ul><li><p><strong>Step 1: </strong>Getting the project</p></li><li><p><strong>Step 2: </strong>Setting up the environment variables</p></li><li><p><strong>Step 3: </strong>Set up the database</p></li><li><p><strong>Step 4:</strong> Testing locally</p></li><li><p><strong>Step 5:</strong> Deploy the project</p></li></ul><p>In this guide, I will walk through the detailed steps for setting up the project locally and deploying it to production.</p><p>Let&#8217;s get started.</p><div><hr></div><h4>Step #1: Get the project</h4><p>The first step is to get access to the <a href="https://www.blogg.fast/">BloggFast</a> project files.</p><p>Go to <strong>blogg.fast</strong> and choose the access option that fits your needs: <a href="https://www.blogg.fast/#pricing">Starter or Lifetime</a>.</p><p>If you choose the <strong>Starter</strong> plan, you will receive an email containing a download link for the project. Open the email, click the link, and download the project as a ZIP archive.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vWGa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vWGa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 424w, https://substackcdn.com/image/fetch/$s_!vWGa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 848w, https://substackcdn.com/image/fetch/$s_!vWGa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 1272w, https://substackcdn.com/image/fetch/$s_!vWGa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vWGa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png" width="1400" height="1133" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1133,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast sample email after purchase. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast sample email after purchase. Image by Jim Clyde Monge" title="BloggFast sample email after purchase. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!vWGa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 424w, https://substackcdn.com/image/fetch/$s_!vWGa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 848w, https://substackcdn.com/image/fetch/$s_!vWGa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 1272w, https://substackcdn.com/image/fetch/$s_!vWGa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08e3ec65-fc34-42ea-99bc-92c39682102c_1400x1133.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Once the download is complete, extract the archive to a location on your machine where you want to work on the project.</p><p>If you choose Lifetime access, your email address will be added to the private GitHub repository automatically. You will receive this email like this:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VGwk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VGwk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 424w, https://substackcdn.com/image/fetch/$s_!VGwk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 848w, https://substackcdn.com/image/fetch/$s_!VGwk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 1272w, https://substackcdn.com/image/fetch/$s_!VGwk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VGwk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png" width="1400" height="1186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1186,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast sample email after purchase. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast sample email after purchase. Image by Jim Clyde Monge" title="BloggFast sample email after purchase. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!VGwk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 424w, https://substackcdn.com/image/fetch/$s_!VGwk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 848w, https://substackcdn.com/image/fetch/$s_!VGwk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 1272w, https://substackcdn.com/image/fetch/$s_!VGwk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdb563cf-e025-406d-96ce-f707b60ed498_1400x1186.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Open that email and click View repository to access the source code. From there, you can either download the repository as a ZIP file or clone it directly to your local machine using Git.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IHwc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IHwc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 424w, https://substackcdn.com/image/fetch/$s_!IHwc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 848w, https://substackcdn.com/image/fetch/$s_!IHwc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!IHwc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IHwc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png" width="1456" height="932" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:932,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast official project repo on GitHub. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast official project repo on GitHub. Image by Jim Clyde Monge" title="BloggFast official project repo on GitHub. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!IHwc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 424w, https://substackcdn.com/image/fetch/$s_!IHwc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 848w, https://substackcdn.com/image/fetch/$s_!IHwc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!IHwc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacd4daf-b050-4ef6-ba93-672d5706833f_1600x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.blogg.fast/">BloggFast</a> official project repo on GitHub. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>After downloading or cloning the project, extract the files if needed, and confirm that the full project directory is available locally.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p5Jh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p5Jh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 424w, https://substackcdn.com/image/fetch/$s_!p5Jh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 848w, https://substackcdn.com/image/fetch/$s_!p5Jh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 1272w, https://substackcdn.com/image/fetch/$s_!p5Jh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p5Jh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png" width="1368" height="998" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:998,&quot;width&quot;:1368,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast project file content inside the zip file. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast project file content inside the zip file. Image by Jim Clyde Monge" title="BloggFast project file content inside the zip file. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!p5Jh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 424w, https://substackcdn.com/image/fetch/$s_!p5Jh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 848w, https://substackcdn.com/image/fetch/$s_!p5Jh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 1272w, https://substackcdn.com/image/fetch/$s_!p5Jh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F58f112f7-8d76-4fa6-bb6f-dd4729c3e5a4_1368x998.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Once that is done, you are ready to continue with the setup.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>Step #2: Setting up the environment variables</h4><p>Open the project folder in your preferred IDE. In this example, I will be using <a href="https://antigravity.google/">Google Antigravity IDE</a>, but any modern editor, such as VS Code, Cursor, or Antigravity, will work just fine.</p><p>Before doing anything else, rename the <code>env.example</code> file to <code>.env</code>. This file will hold all of the local environment variables the application needs in order to run.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jroa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jroa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 424w, https://substackcdn.com/image/fetch/$s_!Jroa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 848w, https://substackcdn.com/image/fetch/$s_!Jroa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 1272w, https://substackcdn.com/image/fetch/$s_!Jroa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jroa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png" width="1400" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast project in Antigavity. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast project in Antigavity. Image by Jim Clyde Monge" title="BloggFast project in Antigavity. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!Jroa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 424w, https://substackcdn.com/image/fetch/$s_!Jroa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 848w, https://substackcdn.com/image/fetch/$s_!Jroa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 1272w, https://substackcdn.com/image/fetch/$s_!Jroa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd28ae92-9e58-4a19-bfc1-27dfba3b98e5_1400x966.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Next, open a terminal in the root of the project and install the dependencies:</p><pre><code>npm install</code></pre><p>This command downloads all the required packages defined in <code>package.json</code> and creates a <code>node_modules</code> folder in the project root. Depending on your internet speed and machine, this may take a minute or two.</p><p>Once the installation finishes successfully, the application is ready for configuration.</p><p>At this stage, the main goal is to replace the placeholder values in <code>.env</code> with real credentials and service configuration values. BloggFast uses multiple services that work together to power the application, including:</p><ul><li><p>Database</p></li><li><p>Authentication</p></li><li><p>Sanity CMS</p></li><li><p>Resend email delivery</p></li><li><p>Cloudflare R2 storage</p></li><li><p>Vercel AI Gateway</p></li></ul><p>Before filling in those values, it is a good idea to connect the project to a remote Git repository and import it into Vercel. This makes the environment setup easier to manage and lets you validate the deployment configuration early.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FNMd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FNMd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 424w, https://substackcdn.com/image/fetch/$s_!FNMd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 848w, https://substackcdn.com/image/fetch/$s_!FNMd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 1272w, https://substackcdn.com/image/fetch/$s_!FNMd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FNMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png" width="1400" height="998" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:998,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Creating a BloggFast repo in GitHub desktop. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Creating a BloggFast repo in GitHub desktop. Image by Jim Clyde Monge" title="Creating a BloggFast repo in GitHub desktop. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!FNMd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 424w, https://substackcdn.com/image/fetch/$s_!FNMd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 848w, https://substackcdn.com/image/fetch/$s_!FNMd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 1272w, https://substackcdn.com/image/fetch/$s_!FNMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48f3286e-f807-405b-b8f5-8b04d78a3a02_1400x998.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you are using GitHub Desktop, create a new private repository for the project and push the local source code to GitHub.</p><p>Once the upload is complete, go to <a href="https://vercel.com/">Vercel</a>, create a new project, and import the repository. Depending on your account settings, you may need to grant Vercel access to the repository. Follow the prompts shown in the Vercel dashboard.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JJzW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JJzW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 424w, https://substackcdn.com/image/fetch/$s_!JJzW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 848w, https://substackcdn.com/image/fetch/$s_!JJzW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 1272w, https://substackcdn.com/image/fetch/$s_!JJzW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JJzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png" width="1456" height="536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74b5725a-9452-42ad-b860-5753584614cd_2082x766.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:536,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:417621,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/194597437?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JJzW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 424w, https://substackcdn.com/image/fetch/$s_!JJzW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 848w, https://substackcdn.com/image/fetch/$s_!JJzW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 1272w, https://substackcdn.com/image/fetch/$s_!JJzW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74b5725a-9452-42ad-b860-5753584614cd_2082x766.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At this point, you can start an initial deployment.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g8o7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g8o7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 424w, https://substackcdn.com/image/fetch/$s_!g8o7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 848w, https://substackcdn.com/image/fetch/$s_!g8o7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 1272w, https://substackcdn.com/image/fetch/$s_!g8o7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g8o7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png" width="1400" height="1276" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1276,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Importing BloggFast in Vercel. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Importing BloggFast in Vercel. Image by Jim Clyde Monge" title="Importing BloggFast in Vercel. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!g8o7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 424w, https://substackcdn.com/image/fetch/$s_!g8o7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 848w, https://substackcdn.com/image/fetch/$s_!g8o7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 1272w, https://substackcdn.com/image/fetch/$s_!g8o7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9b66bbc0-78ff-40c1-8756-0b1eb099366d_1400x1276.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The build is expected to fail because the environment variables still contain placeholder values, and that is completely normal. The purpose of this first deployment is simply to connect the project to Vercel and prepare the service integrations.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>Database setup with Neon</strong></p><p>To configure the database, open your Vercel project dashboard and go to the Storage tab. Click Create Database. For this project, use Neon as the database provider.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0PEz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0PEz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 424w, https://substackcdn.com/image/fetch/$s_!0PEz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 848w, https://substackcdn.com/image/fetch/$s_!0PEz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 1272w, https://substackcdn.com/image/fetch/$s_!0PEz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0PEz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png" width="1456" height="485" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:485,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:459053,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/194597437?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0PEz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 424w, https://substackcdn.com/image/fetch/$s_!0PEz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 848w, https://substackcdn.com/image/fetch/$s_!0PEz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 1272w, https://substackcdn.com/image/fetch/$s_!0PEz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f31af67-f445-4e4b-900d-53dc78a3ab02_2046x682.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>During setup, make sure to enable <strong>Auth</strong>. This is important because Neon Auth is used to manage application users and keep authentication data connected to the Postgres database.</p><p>When choosing environments, make the database available to all three:</p><ul><li><p><strong>Development</strong> for local work</p></li><li><p><strong>Preview</strong> for test deployments</p></li><li><p><strong>Production</strong> for the live application</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4jt2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4jt2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 424w, https://substackcdn.com/image/fetch/$s_!4jt2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 848w, https://substackcdn.com/image/fetch/$s_!4jt2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 1272w, https://substackcdn.com/image/fetch/$s_!4jt2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4jt2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png" width="1456" height="1114" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1114,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Adding Neon support for BloggFast in Vercel. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Adding Neon support for BloggFast in Vercel. Image by Jim Clyde Monge" title="Adding Neon support for BloggFast in Vercel. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!4jt2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 424w, https://substackcdn.com/image/fetch/$s_!4jt2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 848w, https://substackcdn.com/image/fetch/$s_!4jt2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 1272w, https://substackcdn.com/image/fetch/$s_!4jt2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6143e25d-926d-42a1-9bd5-eaf406cb4806_1600x1224.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Adding Neon support for <a href="https://www.blogg.fast/">BloggFast</a> in Vercel. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Once the database is created successfully, you will be redirected to the Neon dashboard.</p><pre><code># Recommended for most uses
DATABASE_URL=postgresql://neondb_owner:npg_XXXXXXXXXXX@ep-fragrant-meadow-XXXXXXXX-pooler.c-6.us-east-1.aws.neon.tech/neondb?channel_binding=require&amp;sslmode=require

# For uses requiring a connection without pgbouncer
DATABASE_URL_UNPOOLED=postgresql://neondb_owner:XXXXXXXX@ep-fragrant-meadow-XXXXXXXX.c-6.us-east-1.aws.neon.tech/neondb?sslmode=require

# Parameters for constructing your own connection string
PGHOST=ep-fragrant-meadow-XXXXXXXX-pooler.c-6.us-east-1.aws.neon.tech
PGHOST_UNPOOLED=ep-fragrant-meadow-XXXXXXXX.c-6.us-east-1.aws.neon.tech
PGUSER=neondb_owner
PGDATABASE=neondb
PGPASSWORD=npg_XXXXXXXX

# Parameters for Vercel Postgres Templates
POSTGRES_URL=postgresql://neondb_owner:npg_XXXXXXXX@ep-fragrant-meadow-XXXXXXXX-pooler.c-6.us-east-1.aws.neon.tech/neondb?channel_binding=require&amp;sslmode=require
POSTGRES_URL_NON_POOLING=postgresql://neondb_owner:npg_XXXXXXXX@ep-fragrant-meadow-XXXXXXXX.c-6.us-east-1.aws.neon.tech/neondb?channel_binding=require&amp;sslmode=require
POSTGRES_USER=neondb_owner
POSTGRES_HOST=ep-fragrant-meadow-XXXXXXXX-pooler.c-6.us-east-1.aws.neon.tech
POSTGRES_PASSWORD=npg_XXXXXXXX
POSTGRES_DATABASE=neondb
POSTGRES_URL_NO_SSL=postgresql://neondb_owner:npg_XXXXXXXX@ep-fragrant-meadow-XXXXXXXX-pooler.c-6.us-east-1.aws.neon.tech/neondb
POSTGRES_PRISMA_URL=postgresql://neondb_owner:npg_XXXXXXXX@ep-fragrant-meadow-XXXXXXXX-pooler.c-6.us-east-1.aws.neon.tech/neondb?channel_binding=require&amp;connect_timeout=15&amp;sslmode=require</code></pre><p>Neon provides several database-related environment variables, including <code>DATABASE_URL</code>, pooled and unpooled connection strings, and Postgres-specific values.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ylbq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ylbq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 424w, https://substackcdn.com/image/fetch/$s_!ylbq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 848w, https://substackcdn.com/image/fetch/$s_!ylbq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 1272w, https://substackcdn.com/image/fetch/$s_!ylbq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ylbq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png" width="1400" height="908" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:908,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Adding Neon support for BloggFast in Vercel. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Adding Neon support for BloggFast in Vercel. Image by Jim Clyde Monge" title="Adding Neon support for BloggFast in Vercel. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!ylbq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 424w, https://substackcdn.com/image/fetch/$s_!ylbq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 848w, https://substackcdn.com/image/fetch/$s_!ylbq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 1272w, https://substackcdn.com/image/fetch/$s_!ylbq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faae5ac0b-5a31-4438-8dcb-b8d5a4702b07_1400x908.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>From these values, update the corresponding placeholder variables in your local <code>.env</code> file. The most important part here is making sure the application is using the correct database connection string.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hd4g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hd4g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 424w, https://substackcdn.com/image/fetch/$s_!hd4g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 848w, https://substackcdn.com/image/fetch/$s_!hd4g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!hd4g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hd4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png" width="1456" height="968" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:968,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Setting up the env file for BloggFast in Antigravity. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Setting up the env file for BloggFast in Antigravity. Image by Jim Clyde Monge" title="Setting up the env file for BloggFast in Antigravity. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!hd4g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 424w, https://substackcdn.com/image/fetch/$s_!hd4g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 848w, https://substackcdn.com/image/fetch/$s_!hd4g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 1272w, https://substackcdn.com/image/fetch/$s_!hd4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551d0bce-b17b-4106-a31d-33ece96486a7_1600x1064.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Setting up the env file for <a href="https://www.blogg.fast/">BloggFast</a> in Antigravity. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Awesome. Now that the database is connected, the next step is configuring Neon Auth.</p><p><strong>Neon Auth configuration</strong></p><p>In the <a href="https://console.neon.tech/">Neon project dashboard</a>, open the <strong>Auth</strong> tab and go to the configuration page. Copy the <strong>Auth URL</strong> and paste it into your <code>.env</code> file as the value for:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YPey!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YPey!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 424w, https://substackcdn.com/image/fetch/$s_!YPey!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 848w, https://substackcdn.com/image/fetch/$s_!YPey!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 1272w, https://substackcdn.com/image/fetch/$s_!YPey!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YPey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png" width="1400" height="905" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:905,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Setting up the auth for BloggFast in Neon. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Setting up the auth for BloggFast in Neon. Image by Jim Clyde Monge" title="Setting up the auth for BloggFast in Neon. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!YPey!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 424w, https://substackcdn.com/image/fetch/$s_!YPey!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 848w, https://substackcdn.com/image/fetch/$s_!YPey!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 1272w, https://substackcdn.com/image/fetch/$s_!YPey!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2eb4d074-639e-4655-8eef-c5280a7bbea3_1400x905.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Replace the dummy value of the NEON_AUTH_BASE_URL in the .env file.</p><p>Next, create a secure value for NEON_AUTH_COOKIE_SECRET. This should be a strong random 256-bit secret. You can generate one using any secure secret generator and paste it into the environment file. I used a <a href="https://randomkeygen.com/secret-key">Secret Key Generator</a> online tool for this.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>Vercel AI Gateway</strong></p><p>Next, configure the AI Gateway key.</p><p>In your Vercel project, open the <strong>AI Gateway</strong> section and create a new API key.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jHkt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jHkt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 424w, https://substackcdn.com/image/fetch/$s_!jHkt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 848w, https://substackcdn.com/image/fetch/$s_!jHkt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 1272w, https://substackcdn.com/image/fetch/$s_!jHkt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jHkt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png" width="1456" height="854" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:854,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Setting up the AI Gateway for BloggFast in Vercel. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Setting up the AI Gateway for BloggFast in Vercel. Image by Jim Clyde Monge" title="Setting up the AI Gateway for BloggFast in Vercel. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!jHkt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 424w, https://substackcdn.com/image/fetch/$s_!jHkt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 848w, https://substackcdn.com/image/fetch/$s_!jHkt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 1272w, https://substackcdn.com/image/fetch/$s_!jHkt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9414e3c-4341-42c4-8bec-5f2e0eb7bae2_1600x938.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Setting up the AI Gateway for <a href="https://www.blogg.fast/">BloggFast</a> in Vercel. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Choose a unique name that helps you identify this key and click on the generate button. Copy the API key and replace the dummy value for AI_GATEWAY_API_KEY.</p><p>This key allows BloggFast to communicate with the configured AI provider through Vercel&#8217;s gateway layer.</p><p>Take note also that Vercel gives you a $5 free credits.</p><p><strong>Resend email configuration</strong></p><p>For email delivery, create a <a href="https://resend.com/">Resend</a> account if you do not already have one. In the Resend dashboard, go to <strong>API Keys</strong> and create a new key.</p><p>Copy the key immediately and update the RESEND_API_KEY variable in your <code>.env</code> file.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Yxg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Yxg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 424w, https://substackcdn.com/image/fetch/$s_!5Yxg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 848w, https://substackcdn.com/image/fetch/$s_!5Yxg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 1272w, https://substackcdn.com/image/fetch/$s_!5Yxg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Yxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png" width="1456" height="891" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:891,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Creating API keys for BloggFast in Resend. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Creating API keys for BloggFast in Resend. Image by Jim Clyde Monge" title="Creating API keys for BloggFast in Resend. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!5Yxg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 424w, https://substackcdn.com/image/fetch/$s_!5Yxg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 848w, https://substackcdn.com/image/fetch/$s_!5Yxg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 1272w, https://substackcdn.com/image/fetch/$s_!5Yxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe76d7879-ddda-4c31-bd5d-91505748c84b_1600x979.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Creating API keys for <a href="https://www.blogg.fast/">BloggFast</a> in Resend. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>For now, you can leave <code>RESEND_WEBHOOK_SECRET</code> unchanged if the application has not yet been deployed to a live URL. That value is usually configured later, once the hosted app is available and can receive webhook events.</p><p><strong>Cloudflare R2 storage</strong></p><p>BloggFast uses <a href="https://www.cloudflare.com/">Cloudflare R2</a> for storing uploaded assets such as article images and generated media.</p><p>Create a Cloudflare account if needed, then open <strong>R2 Object Storage</strong> from the <strong>Storage &amp; Databases</strong> section. Create a new bucket and choose a clear, permanent bucket name because this name will be part of your storage configuration going forward.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qfLw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qfLw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 424w, https://substackcdn.com/image/fetch/$s_!qfLw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 848w, https://substackcdn.com/image/fetch/$s_!qfLw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 1272w, https://substackcdn.com/image/fetch/$s_!qfLw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qfLw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png" width="1400" height="897" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b86de12-4103-418d-9692-84da92958391_1400x897.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:897,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Creating a bucket for BloggFast in CloudFlare. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Creating a bucket for BloggFast in CloudFlare. Image by Jim Clyde Monge" title="Creating a bucket for BloggFast in CloudFlare. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!qfLw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 424w, https://substackcdn.com/image/fetch/$s_!qfLw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 848w, https://substackcdn.com/image/fetch/$s_!qfLw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 1272w, https://substackcdn.com/image/fetch/$s_!qfLw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b86de12-4103-418d-9692-84da92958391_1400x897.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use:</p><ul><li><p><strong>Location:</strong> Automatic</p></li><li><p><strong>Default Storage Class:</strong> Standard</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X579!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X579!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 424w, https://substackcdn.com/image/fetch/$s_!X579!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 848w, https://substackcdn.com/image/fetch/$s_!X579!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 1272w, https://substackcdn.com/image/fetch/$s_!X579!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X579!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png" width="1400" height="977" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:977,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Creating a bucket for BloggFast in CloudFlare. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Creating a bucket for BloggFast in CloudFlare. Image by Jim Clyde Monge" title="Creating a bucket for BloggFast in CloudFlare. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!X579!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 424w, https://substackcdn.com/image/fetch/$s_!X579!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 848w, https://substackcdn.com/image/fetch/$s_!X579!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 1272w, https://substackcdn.com/image/fetch/$s_!X579!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9b5ea22-ada0-44a7-a345-bd4ed40f4377_1400x977.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>After the bucket is created, gather the required values for the following environment variables:</p><pre><code>CLOUDFLARE_ACCOUNT_ID
R2_BUCKET_NAME
R2_ENDPOINT
R2_ACCESS_KEY_ID
R2_SECRET_ACCESS_KEY
R2_PUBLIC_BASE_URL
R2_PUBLIC_DEVELOPMENT_URL
NEXT_PUBLIC_MAX_UPLOAD_MB</code></pre><p>To get <code>CLOUDFLARE_ACCOUNT_ID</code> and <code>R2_ENDPOINT</code>, go to the R2 overview page and scroll down to Account details. Copy the Account<strong> </strong>ID and S3 API endpoint.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jyNd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jyNd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 424w, https://substackcdn.com/image/fetch/$s_!jyNd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 848w, https://substackcdn.com/image/fetch/$s_!jyNd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 1272w, https://substackcdn.com/image/fetch/$s_!jyNd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jyNd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png" width="1456" height="938" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:938,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Getting the account details in CloudFlare. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Getting the account details in CloudFlare. Image by Jim Clyde Monge" title="Getting the account details in CloudFlare. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!jyNd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 424w, https://substackcdn.com/image/fetch/$s_!jyNd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 848w, https://substackcdn.com/image/fetch/$s_!jyNd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 1272w, https://substackcdn.com/image/fetch/$s_!jyNd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c0b97b6-d526-4d72-892b-8329e13d558d_1600x1031.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Getting the account details in CloudFlare. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Set <code>R2_BUCKET_NAME</code> to the exact name of the bucket you created. In this example, I have set it to &#8220;bloggfast-storage.&#8221;</p><p>To create the R2_ACCESS_KEY_ID and the R2_SECRET_ACCESS_KEY, click on the &#8220;Manage&#8221; button for the API tokens in the same screen above. This will open the Account API Tokens menu. Create an account API token by clicking on the highlighted button below.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ABqp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ABqp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 424w, https://substackcdn.com/image/fetch/$s_!ABqp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 848w, https://substackcdn.com/image/fetch/$s_!ABqp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!ABqp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ABqp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png" width="1456" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Getting the API token in CloudFlare. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Getting the API token in CloudFlare. Image by Jim Clyde Monge" title="Getting the API token in CloudFlare. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!ABqp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 424w, https://substackcdn.com/image/fetch/$s_!ABqp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 848w, https://substackcdn.com/image/fetch/$s_!ABqp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!ABqp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46435571-69c7-4843-b911-8f07f20a0840_1600x1032.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Getting the API token in CloudFlare. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Name your token and give it &#8220;Admin Read &amp; Write&#8221; access. Leave the rest of the settings as the default.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E3L6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E3L6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 424w, https://substackcdn.com/image/fetch/$s_!E3L6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 848w, https://substackcdn.com/image/fetch/$s_!E3L6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!E3L6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E3L6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png" width="1400" height="1148" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1148,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Getting the API token in CloudFlare. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Getting the API token in CloudFlare. Image by Jim Clyde Monge" title="Getting the API token in CloudFlare. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!E3L6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 424w, https://substackcdn.com/image/fetch/$s_!E3L6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 848w, https://substackcdn.com/image/fetch/$s_!E3L6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 1272w, https://substackcdn.com/image/fetch/$s_!E3L6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbc525b-3b41-4ae4-91b1-c093bb215d6b_1400x1148.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You should now have the Access Key ID and the Secret Access Key. Copy these values and replace the dummy ones in the env file.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fuf1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fuf1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 424w, https://substackcdn.com/image/fetch/$s_!Fuf1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 848w, https://substackcdn.com/image/fetch/$s_!Fuf1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 1272w, https://substackcdn.com/image/fetch/$s_!Fuf1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fuf1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png" width="1400" height="979" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:979,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Getting the API token in CloudFlare. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Getting the API token in CloudFlare. Image by Jim Clyde Monge" title="Getting the API token in CloudFlare. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!Fuf1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 424w, https://substackcdn.com/image/fetch/$s_!Fuf1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 848w, https://substackcdn.com/image/fetch/$s_!Fuf1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 1272w, https://substackcdn.com/image/fetch/$s_!Fuf1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F573ac1d0-9d9c-491b-a5d0-22a378116b12_1400x979.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To get <code>R2_PUBLIC_DEVELOPMENT_URL</code>, open the bucket settings and enable the <strong>Public Development URL</strong> option. This gives you a temporary public URL that can be used during development. Copy that generated URL into the environment file.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E4NS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E4NS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 424w, https://substackcdn.com/image/fetch/$s_!E4NS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 848w, https://substackcdn.com/image/fetch/$s_!E4NS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 1272w, https://substackcdn.com/image/fetch/$s_!E4NS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E4NS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png" width="1400" height="1190" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1190,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Getting the Public Dev URL in CloudFlare. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Getting the Public Dev URL in CloudFlare. Image by Jim Clyde Monge" title="Getting the Public Dev URL in CloudFlare. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!E4NS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 424w, https://substackcdn.com/image/fetch/$s_!E4NS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 848w, https://substackcdn.com/image/fetch/$s_!E4NS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 1272w, https://substackcdn.com/image/fetch/$s_!E4NS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9629dd9-8538-4a86-ad1a-2e5f5a06d2cf_1400x1190.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can leave <code>R2_PUBLIC_BASE_URL</code> as a placeholder until you attach a custom domain to the bucket later. Then set the NEXT_PUBLIC_MAX_UPLOAD_MB to 100. This helps prevent unexpectedly large uploads from causing issues in development or production.</p><p><strong>Sanity set up</strong></p><p>Let&#8217;s move to the Sanity variables. Head over to <a href="https://www.sanity.io/">Sanity</a>, set up an account, and on the homepage, create a new project.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VbqR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VbqR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 424w, https://substackcdn.com/image/fetch/$s_!VbqR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 848w, https://substackcdn.com/image/fetch/$s_!VbqR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 1272w, https://substackcdn.com/image/fetch/$s_!VbqR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VbqR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png" width="1400" height="940" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:940,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Setting up Sanity for BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Setting up Sanity for BloggFast. Image by Jim Clyde Monge" title="Setting up Sanity for BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!VbqR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 424w, https://substackcdn.com/image/fetch/$s_!VbqR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 848w, https://substackcdn.com/image/fetch/$s_!VbqR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 1272w, https://substackcdn.com/image/fetch/$s_!VbqR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a68cef-5137-4fee-be19-eeae69c0ff46_1400x940.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the project overview screen, you can see the Project ID. Copy this and replace the NEXT_PUBLIC_SANITY_PROJECT_ID in the env file.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0-VA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0-VA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 424w, https://substackcdn.com/image/fetch/$s_!0-VA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 848w, https://substackcdn.com/image/fetch/$s_!0-VA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 1272w, https://substackcdn.com/image/fetch/$s_!0-VA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0-VA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png" width="1400" height="966" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:966,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Setting up Sanity for BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Setting up Sanity for BloggFast. Image by Jim Clyde Monge" title="Setting up Sanity for BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!0-VA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 424w, https://substackcdn.com/image/fetch/$s_!0-VA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 848w, https://substackcdn.com/image/fetch/$s_!0-VA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 1272w, https://substackcdn.com/image/fetch/$s_!0-VA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb74cd932-ba76-4a99-9436-467c29a2a7fc_1400x966.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That&#8217;s all you need for Sanity for now.</p><p><strong>Sync variables to Vercel</strong></p><p>Once your local <code>.env</code> file is complete, open the Vercel project dashboard and go to <strong>Settings &#8594; Environment Variables</strong>. Import or manually add the same variables there so that your Preview and Production deployments use the exact same configuration.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jPIj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jPIj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 424w, https://substackcdn.com/image/fetch/$s_!jPIj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 848w, https://substackcdn.com/image/fetch/$s_!jPIj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!jPIj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jPIj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png" width="1456" height="988" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:988,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Syncing the env for BloggFast in Vercel. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Syncing the env for BloggFast in Vercel. Image by Jim Clyde Monge" title="Syncing the env for BloggFast in Vercel. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!jPIj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 424w, https://substackcdn.com/image/fetch/$s_!jPIj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 848w, https://substackcdn.com/image/fetch/$s_!jPIj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!jPIj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffcc4a87-093a-4832-9983-9dca2fd28501_1600x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Syncing the env for <a href="https://www.blogg.fast/">BloggFast</a> in Vercel. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>This step is important. Local environment variables only affect your machine, while Vercel deployments require the values to be stored in the project settings.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zabF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zabF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 424w, https://substackcdn.com/image/fetch/$s_!zabF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 848w, https://substackcdn.com/image/fetch/$s_!zabF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 1272w, https://substackcdn.com/image/fetch/$s_!zabF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zabF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png" width="1400" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Syncing the env for BloggFast in Vercel. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Syncing the env for BloggFast in Vercel. Image by Jim Clyde Monge" title="Syncing the env for BloggFast in Vercel. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!zabF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 424w, https://substackcdn.com/image/fetch/$s_!zabF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 848w, https://substackcdn.com/image/fetch/$s_!zabF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 1272w, https://substackcdn.com/image/fetch/$s_!zabF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f301491-4224-4344-b14a-6e0a7a29503e_1400x954.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Once everything is saved, the environment setup is complete, and you are ready to initialize the database.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>Step #3: Set up the database</h4><p>With the environment variables configured, the next step is to create the database schema and populate the initial data. At this stage, the process is straightforward: run the Prisma migration command against your target database so Prisma can create the tables, relations, and other schema objects defined by your project.</p><p>In Antigravity, go to the terminal and run the command below:</p><pre><code>npx prisma migrate dev --name init</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4oPz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4oPz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 424w, https://substackcdn.com/image/fetch/$s_!4oPz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 848w, https://substackcdn.com/image/fetch/$s_!4oPz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 1272w, https://substackcdn.com/image/fetch/$s_!4oPz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4oPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png" width="1400" height="981" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:981,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Building and running BloggFast in Antigravity. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Building and running BloggFast in Antigravity. Image by Jim Clyde Monge" title="Building and running BloggFast in Antigravity. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!4oPz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 424w, https://substackcdn.com/image/fetch/$s_!4oPz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 848w, https://substackcdn.com/image/fetch/$s_!4oPz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 1272w, https://substackcdn.com/image/fetch/$s_!4oPz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bbce9bc-3227-4dec-904c-f486ca14908c_1400x981.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If the local generation of the initial migration is successful, you should see this message: &#8220;Your database is now in sync with your schema.&#8221;</p><p>To apply all pending migrations in the target environment, run the command:</p><pre><code>  npx prisma migrate deploy</code></pre><p>Go back to the Neon project&#8217;s page and refresh the Tables dashboard. You should now see all the tables.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JX5O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JX5O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 424w, https://substackcdn.com/image/fetch/$s_!JX5O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 848w, https://substackcdn.com/image/fetch/$s_!JX5O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 1272w, https://substackcdn.com/image/fetch/$s_!JX5O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JX5O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png" width="1400" height="831" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:831,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Prisma migration for BloggFast in Neon. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Prisma migration for BloggFast in Neon. Image by Jim Clyde Monge" title="Prisma migration for BloggFast in Neon. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!JX5O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 424w, https://substackcdn.com/image/fetch/$s_!JX5O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 848w, https://substackcdn.com/image/fetch/$s_!JX5O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 1272w, https://substackcdn.com/image/fetch/$s_!JX5O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35906a43-8e87-4a7d-8725-dd239d1392cd_1400x831.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Cool. The next step is to populate the database with pre-created content. In the terminal, run the db seed command:</p><pre><code>npx prisma db seed</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3fFz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3fFz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 424w, https://substackcdn.com/image/fetch/$s_!3fFz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 848w, https://substackcdn.com/image/fetch/$s_!3fFz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 1272w, https://substackcdn.com/image/fetch/$s_!3fFz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3fFz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png" width="1400" height="1049" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1049,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Building and running BloggFast in Antigravity. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Building and running BloggFast in Antigravity. Image by Jim Clyde Monge" title="Building and running BloggFast in Antigravity. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!3fFz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 424w, https://substackcdn.com/image/fetch/$s_!3fFz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 848w, https://substackcdn.com/image/fetch/$s_!3fFz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 1272w, https://substackcdn.com/image/fetch/$s_!3fFz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3e8a940-1972-43b7-a447-9e1ec42ac9b2_1400x1049.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Confirm the success message in the DB seed command. If yes, check if the remote database is populated properly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!o59K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!o59K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 424w, https://substackcdn.com/image/fetch/$s_!o59K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 848w, https://substackcdn.com/image/fetch/$s_!o59K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 1272w, https://substackcdn.com/image/fetch/$s_!o59K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!o59K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png" width="1400" height="946" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:946,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!o59K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 424w, https://substackcdn.com/image/fetch/$s_!o59K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 848w, https://substackcdn.com/image/fetch/$s_!o59K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 1272w, https://substackcdn.com/image/fetch/$s_!o59K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b8e75fe-24ea-48cb-8466-5acacbc1b62e_1400x946.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Awesome! The database is finally done. The next step is to build and run the project locally.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>Step #3: Build and run the project</h4><p>After the database is set up, the next step is to build the project. This creates an optimized production-ready version of the application that can be deployed to your server or hosting platform.</p><p>Run the build command from the root of the project:</p><pre><code>npm run build</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LOLD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LOLD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 424w, https://substackcdn.com/image/fetch/$s_!LOLD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 848w, https://substackcdn.com/image/fetch/$s_!LOLD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!LOLD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LOLD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png" width="1400" height="1048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1048,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LOLD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 424w, https://substackcdn.com/image/fetch/$s_!LOLD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 848w, https://substackcdn.com/image/fetch/$s_!LOLD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 1272w, https://substackcdn.com/image/fetch/$s_!LOLD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e77a3b4-7ebc-400e-b495-80112ce04650_1400x1048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>During this step, the framework compiles the application, checks for build-time issues, and generates the output needed for production. If the build completes successfully, your project is ready for the final deployment steps, such as starting the server or publishing the generated files.</p><p>This step is a useful checkpoint because it confirms that the application, configuration, and dependencies are all in a deployable state.</p><p>Start the development server so you can preview the project locally:</p><pre><code>npm run dev</code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v_Dj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v_Dj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 424w, https://substackcdn.com/image/fetch/$s_!v_Dj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 848w, https://substackcdn.com/image/fetch/$s_!v_Dj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 1272w, https://substackcdn.com/image/fetch/$s_!v_Dj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v_Dj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png" width="1086" height="508" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:508,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!v_Dj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 424w, https://substackcdn.com/image/fetch/$s_!v_Dj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 848w, https://substackcdn.com/image/fetch/$s_!v_Dj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 1272w, https://substackcdn.com/image/fetch/$s_!v_Dj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc52bfa98-6025-484a-9a58-bcade44318cd_1086x508.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Building and running <a href="https://www.blogg.fast/">BloggFast</a> in Antigravity. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>Now, open http://localhost:3000/ in a browser, and the BloggFast dashboard looks like the image below. You should also see this list of articles.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wA-H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wA-H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 424w, https://substackcdn.com/image/fetch/$s_!wA-H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 848w, https://substackcdn.com/image/fetch/$s_!wA-H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 1272w, https://substackcdn.com/image/fetch/$s_!wA-H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wA-H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png" width="1400" height="904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:904,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sample localhost running for BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sample localhost running for BloggFast. Image by Jim Clyde Monge" title="Sample localhost running for BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!wA-H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 424w, https://substackcdn.com/image/fetch/$s_!wA-H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 848w, https://substackcdn.com/image/fetch/$s_!wA-H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 1272w, https://substackcdn.com/image/fetch/$s_!wA-H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd86e0dd-beec-4a75-8620-00b064c0a187_1400x904.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Toggle the theme to see if the dark mode works correctly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p7r2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p7r2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 424w, https://substackcdn.com/image/fetch/$s_!p7r2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 848w, https://substackcdn.com/image/fetch/$s_!p7r2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 1272w, https://substackcdn.com/image/fetch/$s_!p7r2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p7r2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png" width="1456" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1188761,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/194597437?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p7r2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 424w, https://substackcdn.com/image/fetch/$s_!p7r2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 848w, https://substackcdn.com/image/fetch/$s_!p7r2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 1272w, https://substackcdn.com/image/fetch/$s_!p7r2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F469514cf-ad9a-4bcd-8477-96f36913fc8c_2064x736.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Alright, everything looks good. It&#8217;s time to test the auth and article generation.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h4>Step #4: Testing locally</h4><p>Before moving to deployment, test the core flows locally to make sure the application, database, and authentication are all working together as expected. For this project, the two main features to verify are <strong>login</strong> and <strong>AI article generation</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_paA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_paA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 424w, https://substackcdn.com/image/fetch/$s_!_paA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 848w, https://substackcdn.com/image/fetch/$s_!_paA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 1272w, https://substackcdn.com/image/fetch/$s_!_paA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_paA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png" width="1400" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Sample localhost running for BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Sample localhost running for BloggFast. Image by Jim Clyde Monge" title="Sample localhost running for BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!_paA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 424w, https://substackcdn.com/image/fetch/$s_!_paA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 848w, https://substackcdn.com/image/fetch/$s_!_paA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 1272w, https://substackcdn.com/image/fetch/$s_!_paA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdec09010-99ca-4ce3-a447-19bf56da46e8_1400x886.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Start by running the app locally and opening it in the browser. From there, go through the login flow using a test account. After signing in, confirm that the authentication process completes successfully in the UI and that the user session is created correctly.</p><p>Once login succeeds, check your database and Neon Auth dashboard to verify that the user record and related authentication data have been updated as expected.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ktxj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ktxj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 424w, https://substackcdn.com/image/fetch/$s_!ktxj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 848w, https://substackcdn.com/image/fetch/$s_!ktxj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 1272w, https://substackcdn.com/image/fetch/$s_!ktxj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ktxj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png" width="1400" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ktxj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 424w, https://substackcdn.com/image/fetch/$s_!ktxj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 848w, https://substackcdn.com/image/fetch/$s_!ktxj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 1272w, https://substackcdn.com/image/fetch/$s_!ktxj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F249486d7-abea-4aa3-9133-59cd75259f71_1400x920.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Next, test the AI article generation flow. To do this, we need to see an admin user. In the Neon User table, change the user role to Admin.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yKCe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yKCe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 424w, https://substackcdn.com/image/fetch/$s_!yKCe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 848w, https://substackcdn.com/image/fetch/$s_!yKCe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 1272w, https://substackcdn.com/image/fetch/$s_!yKCe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yKCe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png" width="1400" height="919" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:919,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yKCe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 424w, https://substackcdn.com/image/fetch/$s_!yKCe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 848w, https://substackcdn.com/image/fetch/$s_!yKCe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 1272w, https://substackcdn.com/image/fetch/$s_!yKCe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62699ca9-773c-4fe1-b9b0-f8daacd5c8b3_1400x919.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Notice that there is a new &#8220;Admin panel&#8221; option in the profile menu. This option is only available to administrators.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!72Cl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!72Cl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 424w, https://substackcdn.com/image/fetch/$s_!72Cl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 848w, https://substackcdn.com/image/fetch/$s_!72Cl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 1272w, https://substackcdn.com/image/fetch/$s_!72Cl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!72Cl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png" width="1438" height="884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:884,&quot;width&quot;:1438,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Admin control for BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Admin control for BloggFast. Image by Jim Clyde Monge" title="Admin control for BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!72Cl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 424w, https://substackcdn.com/image/fetch/$s_!72Cl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 848w, https://substackcdn.com/image/fetch/$s_!72Cl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 1272w, https://substackcdn.com/image/fetch/$s_!72Cl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F516aedf9-d216-4827-94eb-1ac77c63c2f2_1438x884.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Admin control for <a href="https://www.blogg.fast/">BloggFast</a>. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p>This will display the admin dashboard. We&#8217;ll explore the other tabs next time. For now, leave everything at the default and open the AI Generator tab.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FDUz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FDUz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 424w, https://substackcdn.com/image/fetch/$s_!FDUz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 848w, https://substackcdn.com/image/fetch/$s_!FDUz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 1272w, https://substackcdn.com/image/fetch/$s_!FDUz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FDUz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png" width="1400" height="959" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:959,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generating articles with AI in BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generating articles with AI in BloggFast. Image by Jim Clyde Monge" title="Generating articles with AI in BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!FDUz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 424w, https://substackcdn.com/image/fetch/$s_!FDUz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 848w, https://substackcdn.com/image/fetch/$s_!FDUz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 1272w, https://substackcdn.com/image/fetch/$s_!FDUz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59755593-d61d-4266-852b-f540d2b48b2f_1400x959.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Create a sample article from the app and confirm that the request completes without errors. Here&#8217;s a sample prompt:</p><blockquote><p><strong>Prompt:</strong> Anthropic releases Claude 4.7 Opus</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UeNo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UeNo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 424w, https://substackcdn.com/image/fetch/$s_!UeNo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 848w, https://substackcdn.com/image/fetch/$s_!UeNo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 1272w, https://substackcdn.com/image/fetch/$s_!UeNo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UeNo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png" width="1400" height="926" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:926,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generating articles with AI in BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generating articles with AI in BloggFast. Image by Jim Clyde Monge" title="Generating articles with AI in BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!UeNo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 424w, https://substackcdn.com/image/fetch/$s_!UeNo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 848w, https://substackcdn.com/image/fetch/$s_!UeNo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 1272w, https://substackcdn.com/image/fetch/$s_!UeNo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b870853-0c86-4a16-b43c-9d64f21d12c6_1400x926.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Click on the publish button, and there should be a success toast message. If the article is published successfully, it should be added to the remote database and will be added to the article list. Here&#8217;s a preview of the published content.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-lUS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-lUS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 424w, https://substackcdn.com/image/fetch/$s_!-lUS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 848w, https://substackcdn.com/image/fetch/$s_!-lUS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 1272w, https://substackcdn.com/image/fetch/$s_!-lUS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-lUS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png" width="1400" height="979" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:979,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Generating articles with AI in BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generating articles with AI in BloggFast. Image by Jim Clyde Monge" title="Generating articles with AI in BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!-lUS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 424w, https://substackcdn.com/image/fetch/$s_!-lUS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 848w, https://substackcdn.com/image/fetch/$s_!-lUS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 1272w, https://substackcdn.com/image/fetch/$s_!-lUS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb5b0884-80ba-42a5-a0a6-5ec0d5aa180f_1400x979.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The article content and metadata are all synced with the database. The cover image and any other files attached to the article are all uploaded and organized in the R2 bucket.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PqzP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PqzP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 424w, https://substackcdn.com/image/fetch/$s_!PqzP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 848w, https://substackcdn.com/image/fetch/$s_!PqzP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 1272w, https://substackcdn.com/image/fetch/$s_!PqzP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PqzP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png" width="1400" height="958" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:958,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!PqzP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 424w, https://substackcdn.com/image/fetch/$s_!PqzP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 848w, https://substackcdn.com/image/fetch/$s_!PqzP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 1272w, https://substackcdn.com/image/fetch/$s_!PqzP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fa0806e-0a68-483f-915e-7b7517d1d6eb_1400x958.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This local testing step helps verify that the full application flow is working end to end: authentication, database writes, and AI-powered content generation. If both features work correctly and the expected records appear in the database and Neon Auth, the project is in a good state to move forward.</p><h4>Step #5: Deploy the project</h4><p>With local testing complete, the final step is to deploy the project to Vercel.</p><p>Once the project is configured, trigger the redployment and the project should build successfully.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XfVc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XfVc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 424w, https://substackcdn.com/image/fetch/$s_!XfVc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 848w, https://substackcdn.com/image/fetch/$s_!XfVc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 1272w, https://substackcdn.com/image/fetch/$s_!XfVc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XfVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png" width="1400" height="943" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:943,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Build successful for BloggFast in Vercel. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Build successful for BloggFast in Vercel. Image by Jim Clyde Monge" title="Build successful for BloggFast in Vercel. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!XfVc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 424w, https://substackcdn.com/image/fetch/$s_!XfVc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 848w, https://substackcdn.com/image/fetch/$s_!XfVc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 1272w, https://substackcdn.com/image/fetch/$s_!XfVc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6ef3c9-6d94-4dca-8434-f8afa9268ff1_1400x943.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If your repository stays connected to Vercel, future deployments become much simpler. Vercel automatically creates deployments for branch pushes, while merges to the production branch can be used for production releases. This makes it easy to continue testing in preview environments before promoting changes to the live site. Vercel documents three default environments for this workflow: Local, Preview, and Production.</p><p>After deployment, open the production URL and test the same core flows you verified locally, especially login and AI article generation. This final check confirms that the application is working correctly in Vercel with the hosted environment, production variables, and live database connections in place.</p><p>That wraps up the project. At this point, you have the database set up, the app tested locally, and the project deployed to Vercel. From here, you can keep iterating, refine the experience, and continue shipping updates with a much smoother workflow.</p><p>When you are ready, you can also connect a custom domain in Vercel so your project is available on your own branded URL instead of the default <code>vercel.app</code> address. Vercel supports adding a domain directly from your project settings and guiding you through the DNS configuration needed to point it to your deployment.</p><p>With that in place, your application is not only live but ready to be shared more professionally with users, clients, or teammates.</p>]]></content:encoded></item><item><title><![CDATA[Plus AI vs ChatGPT]]></title><description><![CDATA[If you are still asking ChatGPT to create PowerPoint presentations for you, stop doing it. Here's a better way to do it with Plus AI.]]></description><link>https://www.generativeaipub.com/p/plus-ai-vs-chatgpt</link><guid isPermaLink="false">https://www.generativeaipub.com/p/plus-ai-vs-chatgpt</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Fri, 17 Apr 2026 05:09:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oI_E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oI_E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oI_E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oI_E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oI_E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oI_E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oI_E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90775,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/194482146?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oI_E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oI_E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oI_E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oI_E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f990331-f33f-4b50-b76b-c7c21c47d4fd_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I was at a coffee shop this afternoon when I saw a group of students doing some school activities. One of them was using ChatGPT to create presentation slides. The thing is, ChatGPT cannot really spit out a complete PPT file in one shot in the way many people expect. In many cases, it gives you content, structure, and instructions on how to build each slide manually through Google Slides or Microsoft PowerPoint.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>I am pretty sure a lot of users do this too. They use ChatGPT to brainstorm the title, generate the outline, write the slide content, and sometimes even suggest images or speaking points. That&#8217;s great especially for students, freelancers, marketers, and professionals who need to put together a deck quickly. But after the content is generated, the actual work of turning that into a clean, editable, and visually strong presentation often still falls on the user.</p><p>Well, let me tell you that there is a better way to do it.</p><p>An AI-powered tool called Plus AI can generate a complete presentation from various inputs like a text prompt, a document file, or even a URL. It has hundreds of pre-built designs, so you are not stuck with default templates, and it also has a powerful remix feature that gives you more control over how the content and design should look.</p><p>A general AI assistant can be good at generating text, but a specialized presentation tool is designed around the actual workflow of building slides.</p><p>Let me tell you more about this product.</p><h3>It&#8217;s an add-on, not an external tool</h3><p>The main reason why I personally suggest using Plus AI over other tools like ChatGPT, Kimi Slides, or GenSpark is that it is an add-on to existing platforms like Google Slides and Microsoft PowerPoint.</p><p>That means the tool is integrated into a platform that you are already familiar with.</p><ul><li><p>No need to switch between tabs.</p></li><li><p>No need to learn a new tool.</p></li><li><p>No need to export a file from one website and continue working on another.</p></li></ul><p>That kind of integration is a big deal because most people already know how to use Google Slides or PowerPoint. They already know how to move elements around, change themes, resize images, add animations, and collaborate with others. So instead of spending time adjusting to a new platform, they can stay inside the software they already use and simply enhance it with AI features.</p><p>To install, head over to the <a href="https://workspace.google.com/marketplace/app/plus_ai_for_google_slides_and_docs/214277172452">Google Workspace Marketplace</a> or Microsoft <a href="https://marketplace.microsoft.com/en-us/product/office/wa200007130?tab=overview">Marketplace</a> and install the Plus AI add-on.</p><p>Once installed, a Plus AI menu will appear on the right side of the screen.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2IVD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2IVD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 424w, https://substackcdn.com/image/fetch/$s_!2IVD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 848w, https://substackcdn.com/image/fetch/$s_!2IVD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 1272w, https://substackcdn.com/image/fetch/$s_!2IVD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2IVD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png" width="1400" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Plus AI slide generator in PowerPoint. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plus AI slide generator in PowerPoint. Image by Jim Clyde Monge" title="Plus AI slide generator in PowerPoint. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!2IVD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 424w, https://substackcdn.com/image/fetch/$s_!2IVD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 848w, https://substackcdn.com/image/fetch/$s_!2IVD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 1272w, https://substackcdn.com/image/fetch/$s_!2IVD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36a7740e-166d-45e6-8587-4570d575ed15_1400x901.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What I really love about this product is that you can use it free for a week with zero upfront cost. Not a lot of competitors do this.</p><p>You can start from scratch, refine an existing deck, or upload a document for Plus AI to handle both the writing and design.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UXWh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UXWh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 424w, https://substackcdn.com/image/fetch/$s_!UXWh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 848w, https://substackcdn.com/image/fetch/$s_!UXWh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 1272w, https://substackcdn.com/image/fetch/$s_!UXWh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UXWh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png" width="1400" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Plus AI slide generator example. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plus AI slide generator example. Image by Jim Clyde Monge" title="Plus AI slide generator example. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!UXWh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 424w, https://substackcdn.com/image/fetch/$s_!UXWh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 848w, https://substackcdn.com/image/fetch/$s_!UXWh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 1272w, https://substackcdn.com/image/fetch/$s_!UXWh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F426072b5-e7fb-4110-b7fb-9981bc7d34ce_1400x849.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The modal screen shows a lot of controls. You can adjust the number of slides, the tone of writing, and even the language to use.</p><p>A deck that looks simple but communicates well is better than one that looks impressive but feels confusing.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>Creating slides with ChatGPT</h3><p>The whole experience of generating presentation files with ChatGPT is very different from using Plus AI.</p><p>For example, if I want to create a pitch deck for my Blogg.fast website, I would ask it like this:</p><blockquote><p><em><strong>Prompt: </strong>Create a 10-slide powerpoint that serves as a pitch deck for my new product blogg.fast</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UVF_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UVF_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 424w, https://substackcdn.com/image/fetch/$s_!UVF_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 848w, https://substackcdn.com/image/fetch/$s_!UVF_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 1272w, https://substackcdn.com/image/fetch/$s_!UVF_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UVF_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png" width="1410" height="986" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5747275-e598-4e0f-a0bf-271894442103_1410x986.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:986,&quot;width&quot;:1410,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UVF_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 424w, https://substackcdn.com/image/fetch/$s_!UVF_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 848w, https://substackcdn.com/image/fetch/$s_!UVF_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 1272w, https://substackcdn.com/image/fetch/$s_!UVF_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5747275-e598-4e0f-a0bf-271894442103_1410x986.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It took the AI almost five minutes to create this incredibly boring presentation. Not much context, terrible design.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k5k3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k5k3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 424w, https://substackcdn.com/image/fetch/$s_!k5k3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 848w, https://substackcdn.com/image/fetch/$s_!k5k3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 1272w, https://substackcdn.com/image/fetch/$s_!k5k3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k5k3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png" width="1456" height="907" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:907,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k5k3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 424w, https://substackcdn.com/image/fetch/$s_!k5k3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 848w, https://substackcdn.com/image/fetch/$s_!k5k3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 1272w, https://substackcdn.com/image/fetch/$s_!k5k3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd415baf5-fe2b-4746-bd22-4232bfae04f7_1600x997.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To modify the slides properly, I would still have to move everything into Google Slides or Microsoft PowerPoint and manually edit it to my liking. I would need to adjust layouts, shorten sections that are too wordy, improve headlines, replace weak phrasing, insert charts or visuals, and make sure the whole presentation looks cohesive.</p><p>This is wayyy too much work compared to generating it with Plus AI.</p><p>That is really the biggest difference for me. ChatGPT is very helpful for thinking and writing, but not always the most efficient tool for turning that output into a ready-to-use slide deck.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>So&#8230; which one to use?</h3><p>It depends on two things: your workflow and what you value more.</p><ol><li><p>If you value time and control over your presentation, pick Plus AI. It is designed to work seamlessly with PowerPoint and Google Slides, so it saves you time in creating slides. It also has more creative options that you can tweak to make something that matches your taste. More importantly, it reduces the amount of manual rebuilding that usually comes after using a general AI tool.</p></li><li><p>If you are already a ChatGPT subscriber and do not want to pay extra, then use ChatGPT. It can analyze uploaded files and also search the web, so you do not have to worry too much about context during the writing stage. It is also great for outlining ideas, rewriting text, and helping you think through what each slide should contain. Just be ready to do a lot of manual retouching and to move your content into other tools for final editing and design work.</p></li></ol><p>In other words, the choice is not really about which tool is universally better. It is more about which one is better for the way you work.</p><div><hr></div><h3>Final Thoughts</h3><p>Overall, this comparison comes down to how each tool fits into the presentation-making process. ChatGPT is useful for generating ideas, creating outlines, drafting slide content, and helping users think through the message they want to present. Plus AI, on the other hand, is more focused on actually turning that content into a finished presentation inside Google Slides or Microsoft PowerPoint.</p><p>Both tools can help, but they help at different stages and in different ways. One is broader and more flexible, while the other is more specialized and presentation-focused.</p><p>Personally, I think both tools have clear pros and cons.</p><p>ChatGPT is powerful, flexible, and already familiar to many users. It can help a lot with writing, summarizing, researching, and structuring ideas.</p><p>Plus AI is not as broad in its capabilities, but that is also why it performs well in this specific use case. It is built around the slide workflow, integrates directly into platforms people already use, and gives more control over design and formatting from the start.</p><p>If you are a student or a professional reading this, now is a good time to try the various AI tools available for making presentations. Create the same deck with both, compare the output and the effort required, and see which one fits your style better.</p><div><hr></div><p><em>Hi there! Thanks for making it to the end of this post! If you enjoyed this content and would like to support my work, consider becoming a paid subscriber. Your support means a lot!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe&quot;,&quot;text&quot;:&quot;Support my work&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.generativeaipub.com/subscribe"><span>Support my work</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[I Built a Full-Stack AI-Driven Blog and News Website Boilerplate]]></title><description><![CDATA[BloggFast is a premium Next.js boilerplate for launching AI-driven blog and news platforms without starting from scratch.]]></description><link>https://www.generativeaipub.com/p/i-built-a-full-stack-ai-driven-blog</link><guid isPermaLink="false">https://www.generativeaipub.com/p/i-built-a-full-stack-ai-driven-blog</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Tue, 14 Apr 2026 00:24:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9w3a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9w3a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9w3a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9w3a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9w3a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9w3a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9w3a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:328292,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/194135590?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9w3a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9w3a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9w3a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9w3a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc02fcc6e-c194-45cb-96b3-0f788a3a9238_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Back in 2024, I had the idea of building my own blog site from scratch.</p><p>It is not that I do not enjoy platforms like Medium or Substack. I actually like using them. But at the end of the day, I still do not have full control over the website. I cannot fully customize the UI or UX the way I want, and I am limited by the platform&#8217;s system and design decisions.</p><p>I also tried building with tools like Webflow and Framer, but I ran into the same issue. They are convenient, but there is still a ceiling when it comes to flexibility and control. On top of that, the monthly subscriptions can add up, and pricing changes are never fun to deal with.</p><p>So about a month ago, I decided to stop working around those limitations and just build the thing myself.</p><p>That is how <a href="https://blogg.fast/">BloggFast</a> started.</p><h3><strong>What is BloggFast</strong></h3><p>BloggFast is a premium Next.js boilerplate that gives you a fully wired, production-ready AI-powered blog platform out of the box. Instead of spending weeks integrating authentication, a database, a CMS, email, and AI services, you get all of that configured and connected on day one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cdyR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cdyR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 424w, https://substackcdn.com/image/fetch/$s_!cdyR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 848w, https://substackcdn.com/image/fetch/$s_!cdyR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 1272w, https://substackcdn.com/image/fetch/$s_!cdyR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cdyR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png" width="1400" height="944" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:944,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cdyR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 424w, https://substackcdn.com/image/fetch/$s_!cdyR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 848w, https://substackcdn.com/image/fetch/$s_!cdyR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 1272w, https://substackcdn.com/image/fetch/$s_!cdyR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbb68b50-20a9-47ff-a5fa-8e6b4778c34a_1400x944.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://blogg.fast/">BloggFast</a> landing page. Image by Jim Clyde Monge</figcaption></figure></div><p>I built BloggFast for people who want to launch a serious blog, news site, or content platform without wasting time on repetitive setup work. In my opinion, this is where most developers and creators lose momentum. The excitement is there at the beginning, but once you realize how many moving parts you need just to get a modern content site running, it becomes exhausting very quickly.</p><p>The philosophy is simple: buy, configure, ship. You focus on your content and brand, not infrastructure.</p><p>This is what the final news/blog website looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J-qR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J-qR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 424w, https://substackcdn.com/image/fetch/$s_!J-qR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 848w, https://substackcdn.com/image/fetch/$s_!J-qR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 1272w, https://substackcdn.com/image/fetch/$s_!J-qR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J-qR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png" width="1400" height="981" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:981,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast demo website. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast demo website. Image by Jim Clyde Monge" title="BloggFast demo website. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!J-qR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 424w, https://substackcdn.com/image/fetch/$s_!J-qR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 848w, https://substackcdn.com/image/fetch/$s_!J-qR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 1272w, https://substackcdn.com/image/fetch/$s_!J-qR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39cca47-49bb-42c8-a18d-9d3cb3360c7d_1400x981.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">caption...</figcaption></figure></div><p>You can explore the demo here =&gt; https://demo.blogg.fast</p><h3><strong>Why I Built BloggFast</strong></h3><p>Personally, I think ownership matters a lot more than people realize. When you own the codebase and the platform, you are free to shape the product however you want. You are not waiting around for another company to add the feature you need. You are not stuck with someone else&#8217;s pricing model. And you are not limited by a platform&#8217;s built-in design decisions.</p><p><strong>Here are the main reasons I built BloggFast:</strong></p><ol><li><p>There is nothing quite like it on the market right now. Most AI-driven writing platforms ask you to pay for a recurring subscription while keeping you inside their ecosystem. I think owning the platform is simply the better long-term move.</p></li><li><p>I wanted to help creators publish content faster. AI models are only going to get better at writing, summarizing, researching, and structuring ideas. This product will evolve along with all the AI progress.</p></li><li><p>I also see BloggFast as an evolving product. Over time, I want it to include the best parts of platforms like Sanity, Buffer, Medium, and Substack. It gets tiring having to jump between tools or request features from one platform that only exist in another. My goal is to bring the strongest publishing features together into one solid boilerplate.</p></li><li><p>Another reason is that I wanted to push both my AI workflow and my agentic coding skills further. I have been building products with AI for the past three years, and BloggFast is where I am putting a lot of the best ideas, patterns, and lessons I have learned so far.</p></li><li><p>And of course, I built it to make money too. I would be lying if I pretended otherwise. I make software products for a living, so monetizing something useful that I genuinely believe in is part of the plan.</p></li></ol><h3><strong>The Tech Stack</strong></h3><p>One of the things I care about most when building a product is choosing tools that are practical, modern, and reliable in production.</p><p>That is why I picked a stack that is both developer-friendly and scalable. Every tool here serves a purpose: for performance, developer experience, content management, or AI integration.</p><p>Here&#8217;s the overview of all the provider stack:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TgW-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TgW-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 424w, https://substackcdn.com/image/fetch/$s_!TgW-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 848w, https://substackcdn.com/image/fetch/$s_!TgW-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 1272w, https://substackcdn.com/image/fetch/$s_!TgW-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TgW-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png" width="1400" height="987" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:987,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast tech stack. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast tech stack. Image by Jim Clyde Monge" title="BloggFast tech stack. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!TgW-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 424w, https://substackcdn.com/image/fetch/$s_!TgW-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 848w, https://substackcdn.com/image/fetch/$s_!TgW-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 1272w, https://substackcdn.com/image/fetch/$s_!TgW-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F271e4389-0769-4c32-919f-82bbfb18e850_1400x987.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Next.js 16: </strong>App Router, React Server Components, and the latest React 19 features.</p></li><li><p><strong>Vercel:</strong> Easy deploys on Vercel with seamless AI model integration through the Vercel AI Gateway and AI SDK.</p></li><li><p><strong>Neon Auth: </strong>Passwordless and social login, user management, and sessions built in.</p></li><li><p><strong>Neon Database: </strong>Serverless Postgres that scales to zero. Branching for dev/staging.</p></li><li><p><strong>Prisma ORM: </strong>Type-safe database access with auto-generated queries and migrations.</p></li><li><p><strong>Sanity IO: </strong>Headless CMS with real-time collaboration and a customizable studio.</p></li><li><p><strong>Multiple selectable LLMs: </strong>Including Claude 4.6 Sonnet, Claude 4.6 Opus, GPT-5, Gemini 3.1 Pro, DeepSeek, and Minimax &#8212; configurable from the admin dashboard for article generation.</p></li><li><p><strong>AI Image models:</strong> Generate blog cover images with Nano Banana Pro, GPT-image-1.5, or Flux Pro in multiple aspect ratios, directly from the article editor.</p></li><li><p><strong>Cloudflare: </strong>Edge-ready asset delivery and storage support for media, uploads, and performance.</p></li><li><p><strong>Resend:</strong> Transactional emails for welcome flows, notifications, and newsletters.</p></li><li><p><strong>TypeScript: </strong>Fully typed codebase. Catch bugs at build time, not in production.</p></li></ul><p>It is modern without being overly experimental, and powerful without becoming unnecessarily complicated.</p><h3><strong>Setting up BloggFast</strong></h3><p>Getting started with BloggFast is straightforward. There are two ways to get the boilerplate:</p><ol><li><p><a href="https://www.blogg.fast/#pricing">Download</a> the project as a *.zip file.</p></li><li><p>Become a member of the private GitHub repo and get access to lifetime updates to the project.</p></li></ol><p>If you choose the GitHub option, I recommend forking the project first and making sure your fork stays synced with the remote repository.</p><p>Here&#8217;s the project layout:</p><pre><code>bloggfast/
&#9500;&#9472;&#9472; prisma/
&#9474;   &#9500;&#9472;&#9472; schema.prisma          # Full database schema (17 models, 6 enums)
&#9474;   &#9492;&#9472;&#9472; seed.ts                # Seed script for initial data
&#9500;&#9472;&#9472; public/                    # Static assets (images, fonts, icons)
&#9500;&#9472;&#9472; sanity/
&#9474;   &#9492;&#9472;&#9472; schemas/               # Sanity content type definitions
&#9474;       &#9500;&#9472;&#9472; post.ts            # Blog post schema
&#9474;       &#9500;&#9472;&#9472; author.ts          # Author schema
&#9474;       &#9500;&#9472;&#9472; category.ts        # Category schema
&#9474;       &#9492;&#9472;&#9472; index.ts           # Schema registry
&#9500;&#9472;&#9472; src/
&#9474;   &#9500;&#9472;&#9472; app/
&#9474;   &#9474;   &#9500;&#9472;&#9472; (marketing)/       # Public blog pages
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; page.tsx       # Homepage with article feed
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; article/[slug] # Individual article pages
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; category/[slug]# Category listing pages
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; tag/[slug]/    # Tag listing pages
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; author/[slug]/ # Author profile pages
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; latest/        # Latest articles
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; trending/      # Trending articles
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; editors-pick/  # Editor&#8217;s pick articles
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; search/        # Search page
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; layout.tsx     # Marketing layout (navbar + footer)
&#9474;   &#9474;   &#9500;&#9472;&#9472; (admin)/           # Protected admin dashboard
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; admin/
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; page.tsx           # Dashboard overview + stats
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; articles/          # Article list, create, edit
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; categories/        # Category management
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; authors/           # Author management
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; tags/              # Tag management
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; subscribers/       # Email subscriber management
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; generate/          # AI article generator
&#9474;   &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; generation-history/# AI generation history
&#9474;   &#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; settings/          # Site &amp; AI settings
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; layout.tsx             # Admin layout (sidebar nav)
&#9474;   &#9474;   &#9500;&#9472;&#9472; (app)/             # Authenticated user pages
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; profile/       # User profile page
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; saved/         # Saved articles
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; liked/         # Liked articles
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; layout.tsx
&#9474;   &#9474;   &#9500;&#9472;&#9472; (auth)/            # Auth pages
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; sign-in/[[...stack]]/  # Sign in page
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; sign-up/[[...stack]]/  # Sign up page
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; layout.tsx
&#9474;   &#9474;   &#9500;&#9472;&#9472; auth/[path]/       # Custom auth path handler
&#9474;   &#9474;   &#9500;&#9472;&#9472; studio/            # Embedded Sanity Studio
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; [[...tool]]/   # Catch-all for Studio routes
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; layout.tsx     # Studio layout
&#9474;   &#9474;   &#9500;&#9472;&#9472; api/               # API route handlers
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; auth/          # Neon Auth API endpoints
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; generate/      # AI article generation endpoint
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; generate-image/# AI cover image generation endpoint
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; search/        # Article search endpoint
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; subscribers/   # Email subscription endpoints
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; views/         # Article view tracking endpoint
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; rss/           # RSS feed endpoint
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; webhooks/      # Resend webhook handler
&#9474;   &#9474;   &#9500;&#9472;&#9472; layout.tsx         # Root layout (providers, fonts, theme)
&#9474;   &#9474;   &#9500;&#9472;&#9472; globals.css        # Global CSS with Tailwind v4 imports
&#9474;   &#9474;   &#9500;&#9472;&#9472; sitemap.ts         # Dynamic sitemap generation
&#9474;   &#9474;   &#9500;&#9472;&#9472; robots.ts          # robots.txt configuration
&#9474;   &#9474;   &#9500;&#9472;&#9472; error.tsx          # Global error page
&#9474;   &#9474;   &#9500;&#9472;&#9472; loading.tsx        # Global loading UI
&#9474;   &#9474;   &#9492;&#9472;&#9472; not-found.tsx      # 404 page
&#9474;   &#9500;&#9472;&#9472; components/            # Reusable UI components
&#9474;   &#9474;   &#9500;&#9472;&#9472; ui/                # shadcn/ui base components
&#9474;   &#9474;   &#9500;&#9472;&#9472; admin/             # Admin dashboard components
&#9474;   &#9474;   &#9500;&#9472;&#9472; articles/          # Article card, detail, engagement
&#9474;   &#9474;   &#9500;&#9472;&#9472; layout/            # Navbar, footer, sidebar, theme toggle
&#9474;   &#9474;   &#9500;&#9472;&#9472; search/            # Search modal and input
&#9474;   &#9474;   &#9500;&#9472;&#9472; providers.tsx      # App-level context providers
&#9474;   &#9474;   &#9492;&#9472;&#9472; subscribe-form.tsx # Newsletter subscription form
&#9474;   &#9500;&#9472;&#9472; actions/               # Next.js Server Actions
&#9474;   &#9474;   &#9500;&#9472;&#9472; articles.ts        # Article CRUD operations
&#9474;   &#9474;   &#9500;&#9472;&#9472; admin.ts           # Admin-specific operations
&#9474;   &#9474;   &#9500;&#9472;&#9472; ai-settings.ts     # AI configuration operations
&#9474;   &#9474;   &#9500;&#9472;&#9472; engagement.ts      # Engagement tracking
&#9474;   &#9474;   &#9492;&#9472;&#9472; subscribe.ts       # Subscription management
&#9474;   &#9500;&#9472;&#9472; lib/
&#9474;   &#9474;   &#9500;&#9472;&#9472; db/
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; index.ts       # Prisma client singleton (Neon adapter)
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; queries.ts     # Database query functions
&#9474;   &#9474;   &#9500;&#9472;&#9472; ai/
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; generator.ts   # Article generation with OpenAI
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; prompts.ts     # System prompts for AI generation
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; ai-settings-schema.ts  # AI settings Zod schema
&#9474;   &#9474;   &#9500;&#9472;&#9472; auth/
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; neon-server.ts # Neon Auth server-side client
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; neon-client.ts # Neon Auth client-side hooks
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; server.ts      # Auth helper functions
&#9474;   &#9474;   &#9500;&#9472;&#9472; sanity/
&#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; client.ts      # Sanity client + image URL builder
&#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; queries.ts     # GROQ query functions
&#9474;   &#9474;   &#9500;&#9472;&#9472; resend.ts          # Email sending functions (Resend)
&#9474;   &#9474;   &#9500;&#9472;&#9472; unified-queries.ts # Cross-source article queries
&#9474;   &#9474;   &#9500;&#9472;&#9472; article-utils.ts   # Article helper utilities
&#9474;   &#9474;   &#9500;&#9472;&#9472; constants.ts       # Shared enum constants
&#9474;   &#9474;   &#9492;&#9472;&#9472; utils.ts           # General utilities
&#9474;   &#9500;&#9472;&#9472; sanity/                # Sanity runtime config (imported by Studio)
&#9474;   &#9474;   &#9500;&#9472;&#9472; schemaTypes/       # Portable Text content type definitions
&#9474;   &#9474;   &#9500;&#9472;&#9472; lib/               # Sanity client, image, live helpers
&#9474;   &#9474;   &#9500;&#9472;&#9472; structure.ts       # Studio structure config
&#9474;   &#9474;   &#9492;&#9472;&#9472; env.ts             # Sanity environment variables
&#9474;   &#9500;&#9472;&#9472; types/                 # Shared TypeScript type definitions
&#9474;   &#9500;&#9472;&#9472; hooks/                 # Custom React hooks
&#9474;   &#9500;&#9472;&#9472; env.ts                 # Type-safe env validation (@t3-oss/env-nextjs)
&#9474;   &#9492;&#9472;&#9472; middleware.ts          # Auth middleware (protects /admin, /profile, etc.)
&#9500;&#9472;&#9472; .env.example               # Environment variable template
&#9500;&#9472;&#9472; next.config.ts             # Next.js config (React Compiler, image domains)
&#9500;&#9472;&#9472; sanity.config.ts           # Sanity Studio config file
&#9500;&#9472;&#9472; sanity.cli.ts              # Sanity CLI config
&#9500;&#9472;&#9472; prisma.config.ts           # Prisma config
&#9500;&#9472;&#9472; components.json            # shadcn/ui component registry config
&#9500;&#9472;&#9472; package.json
&#9492;&#9472;&#9472; tsconfig.json</code></pre><p>Once you have the project on your local machine, unzip it and follow the <a href="https://www.blogg.fast/docs">documentation page</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2FT4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2FT4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 424w, https://substackcdn.com/image/fetch/$s_!2FT4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 848w, https://substackcdn.com/image/fetch/$s_!2FT4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 1272w, https://substackcdn.com/image/fetch/$s_!2FT4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2FT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png" width="1400" height="897" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:897,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast documentation page. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast documentation page. Image by Jim Clyde Monge" title="BloggFast documentation page. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!2FT4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 424w, https://substackcdn.com/image/fetch/$s_!2FT4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 848w, https://substackcdn.com/image/fetch/$s_!2FT4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 1272w, https://substackcdn.com/image/fetch/$s_!2FT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49ae3f44-1acf-4849-8686-8ef4f07b6acf_1400x897.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Make sure all environment variables are configured correctly and that the build passes successfully. After that, run the database seed to populate the app with temporary sample data, then start the development server with npm run dev.</p><p>Once everything is working, open http://localhost:3000/ and you should see the following screen:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qBeQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qBeQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 424w, https://substackcdn.com/image/fetch/$s_!qBeQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 848w, https://substackcdn.com/image/fetch/$s_!qBeQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 1272w, https://substackcdn.com/image/fetch/$s_!qBeQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qBeQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png" width="1400" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast localhost sample page. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast localhost sample page. Image by Jim Clyde Monge" title="BloggFast localhost sample page. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!qBeQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 424w, https://substackcdn.com/image/fetch/$s_!qBeQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 848w, https://substackcdn.com/image/fetch/$s_!qBeQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 1272w, https://substackcdn.com/image/fetch/$s_!qBeQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562ab6ef-8a63-4463-a71d-b8217bf168bf_1400x942.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At this point, you already have a working foundation. That is a huge difference compared to starting from scratch, where even getting to this stage can take a lot of time.</p><p>In the next section, I will walk through the admin pages and show how article generation works with AI.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3><strong>BloggFast&#8217;s Admin Pages</strong></h3><p>The admin side of BloggFast is where you control the platform: from managing articles and settings to configuring AI models and custom skills.</p><p>First, there is the <strong>Dashboard</strong> page, which gives you a summary of the articles that have already been created. From here, you can quickly edit existing content or generate a new article.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tbxV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tbxV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 424w, https://substackcdn.com/image/fetch/$s_!tbxV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 848w, https://substackcdn.com/image/fetch/$s_!tbxV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 1272w, https://substackcdn.com/image/fetch/$s_!tbxV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tbxV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png" width="1400" height="907" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:907,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast admin dashboard. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast admin dashboard. Image by Jim Clyde Monge" title="BloggFast admin dashboard. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!tbxV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 424w, https://substackcdn.com/image/fetch/$s_!tbxV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 848w, https://substackcdn.com/image/fetch/$s_!tbxV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 1272w, https://substackcdn.com/image/fetch/$s_!tbxV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d5fff68-fe62-4df7-8c80-e77bb12faeb1_1400x907.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Take note that the admin page is only accessible to users with an Editor or Admin role. In the Neon database table, you can set which user is an admin or editor.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d4wN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d4wN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 424w, https://substackcdn.com/image/fetch/$s_!d4wN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 848w, https://substackcdn.com/image/fetch/$s_!d4wN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 1272w, https://substackcdn.com/image/fetch/$s_!d4wN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d4wN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png" width="1400" height="585" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:585,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Neon database user role adjustment. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Neon database user role adjustment. Image by Jim Clyde Monge" title="Neon database user role adjustment. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!d4wN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 424w, https://substackcdn.com/image/fetch/$s_!d4wN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 848w, https://substackcdn.com/image/fetch/$s_!d4wN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 1272w, https://substackcdn.com/image/fetch/$s_!d4wN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41b61-b743-4cd6-9118-36c94088dbb9_1400x585.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the <a href="https://demo.blogg.fast/admin/settings">Settings page</a>, you can configure your AI model providers. Right now, I have added support for frontier models such as GPT-5, Claude 4.6 Sonnet, Claude 4.6 Opus, DeepSeek V3, and MiniMax M2.7.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!93ET!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!93ET!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 424w, https://substackcdn.com/image/fetch/$s_!93ET!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 848w, https://substackcdn.com/image/fetch/$s_!93ET!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 1272w, https://substackcdn.com/image/fetch/$s_!93ET!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!93ET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png" width="1400" height="981" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43805652-a7d2-4319-82f7-32d06e671036_1400x981.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:981,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast settings page. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast settings page. Image by Jim Clyde Monge" title="BloggFast settings page. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!93ET!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 424w, https://substackcdn.com/image/fetch/$s_!93ET!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 848w, https://substackcdn.com/image/fetch/$s_!93ET!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 1272w, https://substackcdn.com/image/fetch/$s_!93ET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43805652-a7d2-4319-82f7-32d06e671036_1400x981.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For image generation, I added support for Flux 2 Pro, Nano Banana Pro, and GPT-Image-1.5. Based on my own testing, the best combination so far is Claude 4.6 Sonnet for writing and Flux 2 Pro for images.</p><p>Another feature I am really happy with is the ability to add customizable AI skills. Inside the AI Skills tab, you can create a new skill and describe exactly how it should behave. For example, the FAQ writer skill shown in the screenshot below automatically adds an FAQ section to the end of every article.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f2hk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f2hk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 424w, https://substackcdn.com/image/fetch/$s_!f2hk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 848w, https://substackcdn.com/image/fetch/$s_!f2hk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 1272w, https://substackcdn.com/image/fetch/$s_!f2hk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f2hk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png" width="1400" height="812" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:812,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast AI skills page. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast AI skills page. Image by Jim Clyde Monge" title="BloggFast AI skills page. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!f2hk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 424w, https://substackcdn.com/image/fetch/$s_!f2hk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 848w, https://substackcdn.com/image/fetch/$s_!f2hk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 1272w, https://substackcdn.com/image/fetch/$s_!f2hk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95e13743-37b5-4062-b2a5-6ce6c269fa76_1400x812.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can also enable or disable multiple skills at the same time.</p><p>Alright, now let&#8217;s move on to the AI article generator.</p><h3><strong>Generating articles</strong></h3><p>Open the <a href="https://demo.blogg.fast/admin/generate">AI Generator</a> tab. This is what the dashboard looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bpby!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bpby!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 424w, https://substackcdn.com/image/fetch/$s_!Bpby!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 848w, https://substackcdn.com/image/fetch/$s_!Bpby!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 1272w, https://substackcdn.com/image/fetch/$s_!Bpby!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bpby!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png" width="1400" height="908" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:908,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast AI generator page. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast AI generator page. Image by Jim Clyde Monge" title="BloggFast AI generator page. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!Bpby!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 424w, https://substackcdn.com/image/fetch/$s_!Bpby!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 848w, https://substackcdn.com/image/fetch/$s_!Bpby!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 1272w, https://substackcdn.com/image/fetch/$s_!Bpby!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54589dab-8fce-4841-a1e1-b8cc38a522b1_1400x908.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In the prompt field, describe the article you want to generate. Then set the additional parameters such as article length, category, author, and whether you want to automatically generate a cover image and AI summary.</p><p>Here&#8217;s an example topic:</p><blockquote><p><em><strong>Prompt: </strong>Alibaba claims viral happy horse AI model in latest breakthrough</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RJEd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RJEd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 424w, https://substackcdn.com/image/fetch/$s_!RJEd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 848w, https://substackcdn.com/image/fetch/$s_!RJEd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!RJEd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RJEd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png" width="1400" height="1058" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1058,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast AI generator sample output. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast AI generator sample output. Image by Jim Clyde Monge" title="BloggFast AI generator sample output. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!RJEd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 424w, https://substackcdn.com/image/fetch/$s_!RJEd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 848w, https://substackcdn.com/image/fetch/$s_!RJEd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 1272w, https://substackcdn.com/image/fetch/$s_!RJEd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e2c1d03-1e8c-4498-af61-3c836c466ee6_1400x1058.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In as little as 15 seconds, you get a well-researched output complete with reference links, an AI summary, and a cover image.</p><p>From there, you can publish the article immediately or manually refine it by clicking the Edit button in the upper-right corner.</p><p>I also made sure the editor supports more than just plain text. You can insert images, videos, and documents into the article, and URLs are rendered properly.</p><p>For devs, you can also add code blocks in any programming language, which makes the platform flexible enough for technical writing too.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TPIT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TPIT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 424w, https://substackcdn.com/image/fetch/$s_!TPIT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 848w, https://substackcdn.com/image/fetch/$s_!TPIT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 1272w, https://substackcdn.com/image/fetch/$s_!TPIT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TPIT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png" width="1400" height="984" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:984,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast AI generator output editing menu. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast AI generator output editing menu. Image by Jim Clyde Monge" title="BloggFast AI generator output editing menu. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!TPIT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 424w, https://substackcdn.com/image/fetch/$s_!TPIT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 848w, https://substackcdn.com/image/fetch/$s_!TPIT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 1272w, https://substackcdn.com/image/fetch/$s_!TPIT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5faa2e10-3d75-4958-b40e-063f8f8d327a_1400x984.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Files such as images and videos are uploaded to Cloudflare R2 instead of being stored as Vercel blobs. That decision matters a lot because it helps reduce storage costs and improves performance at the same time.</p><p>The uploaded files are also organized cleanly inside the R2 bucket and synced with the Neon database.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Ifg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Ifg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 424w, https://substackcdn.com/image/fetch/$s_!8Ifg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 848w, https://substackcdn.com/image/fetch/$s_!8Ifg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 1272w, https://substackcdn.com/image/fetch/$s_!8Ifg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Ifg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png" width="1400" height="892" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:892,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;R2 bucket folder for BloggFast. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="R2 bucket folder for BloggFast. Image by Jim Clyde Monge" title="R2 bucket folder for BloggFast. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!8Ifg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 424w, https://substackcdn.com/image/fetch/$s_!8Ifg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 848w, https://substackcdn.com/image/fetch/$s_!8Ifg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 1272w, https://substackcdn.com/image/fetch/$s_!8Ifg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4323e1-e4c4-4a54-8cde-9d119c088c50_1400x892.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This is what the published article looks like:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d94u!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d94u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 424w, https://substackcdn.com/image/fetch/$s_!d94u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 848w, https://substackcdn.com/image/fetch/$s_!d94u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 1272w, https://substackcdn.com/image/fetch/$s_!d94u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d94u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png" width="1400" height="1266" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1266,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;BloggFast sample published article. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="BloggFast sample published article. Image by Jim Clyde Monge" title="BloggFast sample published article. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!d94u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 424w, https://substackcdn.com/image/fetch/$s_!d94u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 848w, https://substackcdn.com/image/fetch/$s_!d94u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 1272w, https://substackcdn.com/image/fetch/$s_!d94u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb480a003-7458-49a2-a84b-bbb50b8357f6_1400x1266.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And just like that, a complete blog post about Alibaba&#8217;s new HappyHorse Video AI model can be published in under a minute. If I had done the whole thing manually, it probably would have taken me at least an hour.</p><p>That speed is exactly why I believe tools like this are worth building. They do not replace taste, editing, or good judgment, but they absolutely remove a lot of repetitive work.</p><p>You can read the published article here =&gt; <a href="https://demo.blogg.fast/article/alibaba-reveals-it-built-the-viral-happyhorse-video-ai-model">https://demo.blogg.fast/article/alibaba-reveals-it-built-the-viral-happyhorse-video-ai-model</a></p><p>Check out the video below to see a more detailed process of how the article generation with AI works:</p><h3><strong>A few things to remember</strong></h3><p>Before wrapping up, I want to answer a few common questions that people usually have when they see a product like this for the first time. I think it is important to be clear about what BloggFast is, what you actually get, and who this product is best suited for.</p><ul><li><p><strong>What do I get exactly? </strong>You get the complete source code for a production-ready AI-powered blog built with Next.js 16. This includes authentication, database setup, CMS integration, AI article generation, email system, and beautiful UI components.</p></li><li><p><strong>How often is BloggFast updated? </strong>I ship updates regularly &#8212; typically every 1&#8211;3 days. Updates include new features, dependency upgrades, security patches, and improvements based on customer feedback.</p></li><li><p><strong>Is this a website template? </strong>No, BloggFast is much more than a template. It&#8217;s a fully functional Next.js application with backend logic, database schemas, API routes, authentication, CMS integration, and AI-powered content generation. Think of it as a complete product you can customize and deploy &#8212; not just a static design.</p></li><li><p><strong>JavaScript or TypeScript? </strong>BloggFast is built entirely in TypeScript for maximum type safety and developer experience. Every component, API route, and utility is fully typed. If you prefer JavaScript, TypeScript is fully compatible &#8212; you can gradually adopt it or remove types as needed.</p></li><li><p><strong>Can I use this for multiple projects? </strong>Yes! Your license covers unlimited projects for personal or commercial use. Build as many blogs, news sites, or content platforms as you want. No per-project fees, no recurring charges.</p></li><li><p><strong>Do I need to know Next.js to use this? </strong>Basic familiarity with React and Next.js is helpful, but you don&#8217;t need to be an expert. The codebase is well-structured and documented. Most customizations &#8212; like changing colors, content, and branding &#8212; are straightforward. For bigger changes, Next.js knowledge will help you get the most out of the boilerplate.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Generative AI Publication is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></li></ul><h3><strong>Final Thoughts</strong></h3><p>To wrap things up, BloggFast is the product of everything I discussed in this article: the idea of owning your platform, moving faster with AI, and having full control over how your blog or news site looks and works.</p><p>I built it because I wanted a better alternative to the usual publishing platforms and subscriptions. I wanted something that creators, developers, indie makers, and founders could actually own and customize without being locked into someone else&#8217;s ecosystem.</p><p>BloggFast is for people who have always wanted to launch their own content platform but did not want to spend weeks or months wiring everything together from scratch.</p><p>One of the things I really wanted to achieve with this product was simplicity. Setup is straightforward, the stack is already connected, and the app gives you the tools to generate articles, manage content, customize AI workflows, and launch a production-ready blog much faster than doing everything manually.</p><p>The bigger idea here is freedom.</p><p>Instead of paying ongoing platform fees and adjusting your workflow around other companies&#8217; limitations, you can build and grow a site that is fully yours. If you want to launch a personal blog, a niche media site, a newsletter-driven publication, or an AI-assisted content business, BloggFast gives you a really good starting point.</p><p>Right now, I am offering BloggFast at 50% off, so this is a great time to try it out and see what you think. If you run into any issues or have questions, feel free to email me at jimclydegm@gmail.com for support.</p><p>Thank you so much for the continued support. I really appreciate it.</p><p>Check out BloggFast now =&gt; <a href="https://www.blogg.fast">https://www.blogg.fast</a></p><div><hr></div><p><em>Hi there! Thanks for making it to the end of this post! If you enjoyed this content and would like to support my work, consider becoming a paid subscriber. Your support means a lot!</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe&quot;,&quot;text&quot;:&quot;Support my work&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.generativeaipub.com/subscribe"><span>Support my work</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Cybersecurity Expert Uncovers Major Security Flaw in Nemoclaw]]></title><description><![CDATA[Cybersecurity researcher shows how a simple command allows Nemoclaw to modify its own configuration and bypass security controls.]]></description><link>https://www.generativeaipub.com/p/cybersecurity-expert-uncovers-major</link><guid isPermaLink="false">https://www.generativeaipub.com/p/cybersecurity-expert-uncovers-major</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Tue, 24 Mar 2026 14:21:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!X-5z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X-5z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X-5z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!X-5z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!X-5z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!X-5z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X-5z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:81428,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/191985629?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X-5z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!X-5z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!X-5z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!X-5z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1489b014-abde-4eb0-b4eb-fa348256f53e_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>NVIDIA announced <a href="https://www.nvidia.com/en-us/ai/nemoclaw/">NemoClaw</a> at GTC 2026 less than a week ago. It&#8217;s a security wrapper for OpenClaw, the open source AI agent platform that became the fastest growing open-source project in history, but got plagued with <a href="https://www.wired.com/story/openclaw-banned-by-tech-companies-as-security-concerns-mount/">security concerns</a>. Kernel-level sandboxing, a deny-by-default policy engine, and a privacy router.</p><p>One group of researchers called it a &#8220;lethal trifecta.&#8221;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>NemoClaw is NVIDIA&#8217;s response. It wraps OpenClaw inside the OpenShell runtime with three layers of protection:</p><ul><li><p>A kernel-level sandbox using Landlock, seccomp, and network namespaces</p></li><li><p>An out-of-process policy engine that agents supposedly cannot override</p></li><li><p>A privacy router that keeps sensitive data on local Nemotron models while routing complex queries to cloud APIs</p></li></ul><p><a href="https://x.com/ZackKorman/status/2035072699052003424">Zack Korman</a>, a cybersecurity professional and CTO at Pistachio, started poking at Nemoclaw. Korman&#8217;s background is in threat detection, and he has a law degree from Edinburgh and a master&#8217;s from Oxford, so he knows how to read documentation carefully.</p><h4>The Vulnerability Korman Found</h4>
      <p>
          <a href="https://www.generativeaipub.com/p/cybersecurity-expert-uncovers-major">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[OpenAI Just Told Investors That Microsoft Is the Problem]]></title><description><![CDATA[A leaked pre-IPO filing reveals OpenAI is actively distancing itself from its biggest backer while Microsoft threatens to sue]]></description><link>https://www.generativeaipub.com/p/openai-just-told-investors-that-microsoft</link><guid isPermaLink="false">https://www.generativeaipub.com/p/openai-just-told-investors-that-microsoft</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Tue, 24 Mar 2026 09:04:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oe8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oe8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oe8q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oe8q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oe8q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oe8q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oe8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg" width="1360" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:208753,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/191956948?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oe8q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!oe8q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!oe8q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!oe8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5623f5ee-f42e-465d-bb1c-62ccd2a6ea7b_1360x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>OpenAI&#8217;s pre-IPO investor document landed this week, and the most interesting part isn&#8217;t the $830 billion valuation target or the Q4 2026 IPO timeline. It&#8217;s the section where OpenAI tells prospective investors, in writing, that <a href="https://www.cnbc.com/2026/03/23/openai-risk-factors-microsoft-reliance-elon-musk-and-xai-lawsuits.html">Microsoft is a risk to their business</a>.</p><p>The filing reads: </p><blockquote><p><em>&#8220;If Microsoft modifies or terminates its commercial partnership with us, or if we are unable to successfully diversify our business partners, our business, prospects, operating results and financial condition could be adversely affected.&#8221;</em></p></blockquote><p>That&#8217;s the company that gave OpenAI $13.8 billion, most of its compute, and its primary distribution channel being formally listed as a threat.</p><p>It&#8217;s crazy.</p><h3><strong>How We Got Here</strong></h3>
      <p>
          <a href="https://www.generativeaipub.com/p/openai-just-told-investors-that-microsoft">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Manus Just Turned Your Desktop Into an AI Powered Workstation]]></title><description><![CDATA[The new My Computer feature lets Manus access your local files, terminal, and GPU directly from a desktop app.]]></description><link>https://www.generativeaipub.com/p/manus-just-turned-your-desktop-into</link><guid isPermaLink="false">https://www.generativeaipub.com/p/manus-just-turned-your-desktop-into</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Tue, 17 Mar 2026 10:39:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZhB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZhB_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZhB_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZhB_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZhB_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZhB_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZhB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217065,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/191234285?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZhB_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZhB_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZhB_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZhB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F000b6c34-7527-4dd6-b006-1883b6dcd4ee_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Manus has been a cloud-first AI agent since its launch in March 2025. You give it a task, it opens a sandboxed environment, browses the web, writes code, and delivers results. But there was one big limitation&#8212;it could not touch your local machine.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>That changes today. </p><p><a href="https://manus.im/blog/manus-my-computer-desktop">Manus</a> released My Computer, the core feature of a new Desktop app that gives the agent direct access to your files, terminal, applications, and hardware. It is available now on macOS and Windows.</p><p>This is the first major product release since <a href="https://finance.yahoo.com/news/meta-acquires-ai-startup-manus-150205524.html">Meta acquired Manus for roughly $2 billion</a> in late 2025.</p><h3>What Is My Computer?</h3><p>My Computer is a feature inside the new Manus Desktop app. It extends Manus from a cloud-only agent into one that can operate directly on your local machine.</p>
      <p>
          <a href="https://www.generativeaipub.com/p/manus-just-turned-your-desktop-into">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[NVIDIA Releases NemoClaw to Improve OpenClaw's Security]]></title><description><![CDATA[NemoClaw is an open-source software stack designed to safely deploy and manage autonomous like OpenClaw.]]></description><link>https://www.generativeaipub.com/p/nvidia-releases-nemoclaw-to-improve</link><guid isPermaLink="false">https://www.generativeaipub.com/p/nvidia-releases-nemoclaw-to-improve</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Tue, 17 Mar 2026 08:55:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7ZVg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7ZVg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7ZVg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7ZVg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7ZVg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7ZVg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7ZVg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95428,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/191201601?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7ZVg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7ZVg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7ZVg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7ZVg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F920fe880-f84b-4afb-8f3f-1cbfd8226c60_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>After weeks of rumors, Jensen Huang finally revealed NemoClaw during <a href="https://www.nvidia.com/gtc/">NVIDIA GTC 2026</a> as a security focused layer for the OpenClaw ecosystem. The goal is to autonomous agents safer to run without limiting what they can do.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>OpenClaw went viral in a matter of weeks and that momentum also exposed a bunch of <a href="https://www.wired.com/story/openclaw-banned-by-tech-companies-as-security-concerns-mount/">security concerns</a>. Agents often run with broad permissions, which makes data access and execution harder to control in practice.</p><p>NVIDIA&#8217;s answer is NemoClaw.</p><h4>What is NemoClaw?</h4><p>It is a runtime layer that sits on top of OpenClaw and enforces how agents behave. It does not replace OpenClaw. It constrains it.</p><p>You still get autonomous agents, but they run inside a controlled environment with explicit rules for data access, network calls, and execution.</p><p>NVIDIA implements this using <a href="https://docs.nvidia.com/openshell/latest/index.html">OpenShell</a>, which acts as the secure execution layer. Every agent runs inside a sandbox, and every action passes through policy checks. That includes file access, outbound requests, and model inference.</p><p>Here&#8217;s what the NemoClaw workflow looks like:</p>
      <p>
          <a href="https://www.generativeaipub.com/p/nvidia-releases-nemoclaw-to-improve">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[A Leaderboard To Monitor OpenClaw Variants Performance]]></title><description><![CDATA[ClawCharts tracks the explosive Claw ecosystem in real time, ranking nine projects by stars, commits, and contributor momentum.]]></description><link>https://www.generativeaipub.com/p/a-leaderboard-to-monitor-openclaw</link><guid isPermaLink="false">https://www.generativeaipub.com/p/a-leaderboard-to-monitor-openclaw</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Mon, 16 Mar 2026 08:20:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Pwum!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Pwum!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Pwum!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Pwum!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Pwum!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Pwum!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Pwum!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148531,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/191103150?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Pwum!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Pwum!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Pwum!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Pwum!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf089e7d-5e94-47c3-b83c-939b622e9b3f_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>O<a href="https://generativeai.pub/openclaw-creator-joins-openai-instead-of-anthropic-c0b886338ba1">penClaw</a> went from zero to 314,000 GitHub stars in under four months. It surpassed React. It surpassed Linux. It became the most-starred non-aggregator software project on GitHub, period.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>But OpenClaw is no longer alone.</p><p>In the eight weeks since it exploded, the &#8220;Claw&#8221; ecosystem has spawned at least nine serious open-source AI agent projects, each attacking a different slice of the problem. Rust rewrites. Go ports for $10 hardware. Container-isolated forks built specifically to fix OpenClaw&#8217;s security nightmares.</p><p>Now there&#8217;s a live scoreboard tracking the whole thing. <a href="https://clawcharts.com/">ClawCharts</a> is a free, real-time analytics dashboard that ranks every major Claw project by star growth, contributor activity, and commit velocity.</p><h4>What Is ClawCharts?</h4><p>ClawCharts pulls live data from the GitHub API and ranks projects using a composite momentum score. The primary drivers are seven-day stars gained (plus percentage change), seven-day contributors (plus percentage change), and seven-day commits (plus percentage change). Total stars serve as a tiebreaker.</p><p>This is what the dashboard looks like:</p>
      <p>
          <a href="https://www.generativeaipub.com/p/a-leaderboard-to-monitor-openclaw">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[A Man Used ChatGPT and AlphaFold to Build His Dog a Cancer Vaccine]]></title><description><![CDATA[Paul Conyngham had no biology degree, spent $3,000 on DNA sequencing, and watched his dog's tumor shrink by more than half]]></description><link>https://www.generativeaipub.com/p/a-man-used-chatgpt-and-alphafold</link><guid isPermaLink="false">https://www.generativeaipub.com/p/a-man-used-chatgpt-and-alphafold</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Sun, 15 Mar 2026 04:27:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0R1n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0R1n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0R1n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 424w, https://substackcdn.com/image/fetch/$s_!0R1n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 848w, https://substackcdn.com/image/fetch/$s_!0R1n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 1272w, https://substackcdn.com/image/fetch/$s_!0R1n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0R1n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif" width="1024" height="576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:576,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:53117,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/190994475?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0R1n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 424w, https://substackcdn.com/image/fetch/$s_!0R1n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 848w, https://substackcdn.com/image/fetch/$s_!0R1n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 1272w, https://substackcdn.com/image/fetch/$s_!0R1n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2deb15d3-69c9-4c6c-9fcf-d19ad4d05793_1024x576.avif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Paul Conyngham didn&#8217;t go to medical school. He runs a machine learning consultancy in Sydney, spends most of his time with data pipelines and prediction models, and has no formal background in biology or oncology. But when his rescue dog Rosie was diagnosed with aggressive mast cell cancer in 2024 and given only months to live, he did something that most researchers would have called impossible for a non-specialist: he used AI to design her a custom cancer vaccine.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>The tumor on Rosie&#8217;s back leg shrank by more than 50% within one month of her first injection. She is alive and, by all accounts, chasing rabbits again.</p><p>I&#8217;ve been covering generative AI for a while now, and I&#8217;ve watched it get applied to code generation, legal documents, financial modeling, and drug discovery at the institutional level. But this story cuts differently. It&#8217;s a single person, working mostly alone, who took tools that were publicly available and used them to do something that had never been done before for a dog. The implications for human medicine are hard to overstate.</p><h3>The Dog Who Started It All</h3><p>Rosie is a Staffordshire Bull Terrier and Shar Pei cross. Conyngham adopted her from a Sydney shelter in 2019, after she had been abandoned in bushland. He describes her as his closest companion through some of the hardest stretches of his life.</p><p>In 2024, large tumors appeared on one of her back legs. The diagnosis was <a href="https://www.vet.cornell.edu/departments-centers-and-institutes/riney-canine-health-center/canine-health-information/mast-cell-tumors">mast cell cancer</a>, the most common skin cancer in dogs and notoriously difficult to treat once it spreads beyond the initial site. Conyngham spent thousands of dollars on veterinary chemotherapy and surgical intervention. The treatments slowed the cancer. They did not shrink the tumors.</p><p>He started thinking about a different approach.</p><h3>How ChatGPT Became a Biomedical Research Partner</h3>
      <p>
          <a href="https://www.generativeaipub.com/p/a-man-used-chatgpt-and-alphafold">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[PetClaw: A One-Click Install AI Companion That Works 24/7 ]]></title><description><![CDATA[PetClaw AI is a local AI desktop pet that lives on your computer, built on the open-source Openclaw framework, but way easier to install.]]></description><link>https://www.generativeaipub.com/p/petclaw-a-one-click-install-ai-companion</link><guid isPermaLink="false">https://www.generativeaipub.com/p/petclaw-a-one-click-install-ai-companion</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Fri, 13 Mar 2026 12:15:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!icv1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!icv1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!icv1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!icv1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!icv1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!icv1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!icv1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63543,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/190827008?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!icv1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!icv1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!icv1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!icv1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff7381b3-9625-491b-bc3d-f2f963cc3343_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>There&#8217;s a reason <a href="https://generativeai.pub/5-interesting-things-about-openclaw-you-probably-didnt-know-about-4c008adbe433">OpenClaw</a> became one of the fastest-growing open-source projects in history. Within 60 days of its January 2026 release, it gained over 250,000 GitHub stars, outpacing the growth of major projects like React and even Linux in a fraction of the time.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>People became excited because this AI companion runs locally on your computer. It can acce&#8230;</p>
      <p>
          <a href="https://www.generativeaipub.com/p/petclaw-a-one-click-install-ai-companion">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[I Tried Google's New AI Marketing Tool, Pomelli]]></title><description><![CDATA[Pomelli lets you create on-brand AI content for your business with just a URL.]]></description><link>https://www.generativeaipub.com/p/i-tried-googles-new-ai-marketing</link><guid isPermaLink="false">https://www.generativeaipub.com/p/i-tried-googles-new-ai-marketing</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Fri, 13 Mar 2026 06:03:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XJWM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XJWM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XJWM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 424w, https://substackcdn.com/image/fetch/$s_!XJWM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 848w, https://substackcdn.com/image/fetch/$s_!XJWM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 1272w, https://substackcdn.com/image/fetch/$s_!XJWM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XJWM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp" width="1400" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:41258,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/190806336?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XJWM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 424w, https://substackcdn.com/image/fetch/$s_!XJWM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 848w, https://substackcdn.com/image/fetch/$s_!XJWM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 1272w, https://substackcdn.com/image/fetch/$s_!XJWM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedcc4b97-ef16-48d3-bca7-004a006284e3_1400x788.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Google&#8217;s AI-powered marketing tool <a href="https://labs.google.com/pomelli/">Pomelli</a> just expanded its availability to over 170 countries and territories, making it accessible to a much wider audience of businesses and creators.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>Pomelli is an experimental AI-powered marketing tool from Google Labs, developed in collaboration with DeepMind. It&#8217;s designed to help small-to-medium-sized businesses (SMBs) automatically generate on-brand social media campaigns, ads, and marketing visuals with minimal effort.</p><p>Instead of manually building brand kits or designing campaigns from scratch, Pomelli simply asks for a website URL. It then scans the site and constructs what Google calls a &#8220;Business DNA&#8221;. From there, the AI generates customized, editable marketing materials that stay consistent with your brand.</p><h4>Key Features</h4><ul><li><p><strong>Automatic Brand Analysis: </strong>Pomelli scans your website and automatically identifies your logos, fonts, color schemes, imagery, and tone of voice.</p></li><li><p><strong>On-Brand Content Generation: </strong>Using the extracted brand information, the tool generates social media posts, ads, and campaign ideas tailored specifically to your brand style.</p></li><li><p><strong>AI Image Enhancement: </strong>It can turn basic product photos into studio-quality marketing visuals, complete with AI-generated backgrounds and lighting.</p></li><li><p><strong>Editable Assets: </strong>All generated content remains fully editable, allowing you to tweak text, colors, and visuals before exporting.</p></li><li><p><strong>Free Experimental Access: </strong>Currently, Pomelli is available as a free experimental tool through Google Labs, though it was previously limited to users in the United States.</p></li></ul><h4>Creating Marketing Assets with Pomelli</h4><p>Head over to <a href="https://labs.google/">Google Labs</a> and look for the Pomelli tool. Take note that you need to be logged in with your Google account to be able to use it.</p>
      <p>
          <a href="https://www.generativeaipub.com/p/i-tried-googles-new-ai-marketing">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Use ChatGPT in MSFT Excel (And save time!)]]></title><description><![CDATA[OpenAI releases a new ChatGPT add-in for Microsoft Excel. You can now ask the AI to analyze.]]></description><link>https://www.generativeaipub.com/p/how-to-use-chatgpt-in-msft-excel-300</link><guid isPermaLink="false">https://www.generativeaipub.com/p/how-to-use-chatgpt-in-msft-excel-300</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Thu, 12 Mar 2026 13:56:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vnIj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vnIj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vnIj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vnIj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vnIj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vnIj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vnIj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg" width="1400" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;ChatGPT in MSFT Excel&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT in MSFT Excel" title="ChatGPT in MSFT Excel" srcset="https://substackcdn.com/image/fetch/$s_!vnIj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 424w, https://substackcdn.com/image/fetch/$s_!vnIj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 848w, https://substackcdn.com/image/fetch/$s_!vnIj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!vnIj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d4cdddf-3ce3-4efb-ba09-a037e2bfa97c_1400x788.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can now use ChatGPT to build, update, and analyze spreadsheets faster in MSFT Excel. It&#8217;s an Excel add-in that brings ChatGPT directly into workbooks, helping users run scenarios and generate outputs based on cells and formulas.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>Here&#8217;s how it works:</p><ol><li><p><strong>Build and update spreadsheet models faster: </strong>Describe what you need in plain language and ChatGPT will create or update live Excel models while preserving formulas, structure, and assumptions.</p></li><li><p><strong>Get insights from large spreadsheets: </strong>ChatGPT analyzes how sheets and formulas connect, explains changes in results, and traces or fixes errors in complex workbooks.</p></li><li><p><strong>Follow the logic and trust the outputs: </strong>ChatGPT links answers to the exact cells it uses and asks permission before making edits, so teams can audit formulas and verify results.</p></li></ol><p>The tool is powered by <a href="https://openai.com/index/introducing-gpt-5-4/">GPT-5.4</a> and can be installed from the Add-in tab in the web version of MSFT Excel.</p>
      <p>
          <a href="https://www.generativeaipub.com/p/how-to-use-chatgpt-in-msft-excel-300">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Use ChatGPT in MSFT Excel (And save time!)]]></title><description><![CDATA[OpenAI releases a new ChatGPT add-in for Microsoft Excel. You can now ask the AI to analyze]]></description><link>https://www.generativeaipub.com/p/how-to-use-chatgpt-in-msft-excel</link><guid isPermaLink="false">https://www.generativeaipub.com/p/how-to-use-chatgpt-in-msft-excel</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Wed, 11 Mar 2026 09:00:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_bcK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_bcK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_bcK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_bcK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_bcK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_bcK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_bcK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;ChatGPT in MSFT Excel&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ChatGPT in MSFT Excel" title="ChatGPT in MSFT Excel" srcset="https://substackcdn.com/image/fetch/$s_!_bcK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_bcK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_bcK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_bcK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03dc7921-98cb-497f-9bcb-7147d36d163c_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can now use ChatGPT to build, update, and analyze spreadsheets faster in MSFT Excel. It&#8217;s an Excel add-in that brings ChatGPT directly into workbooks, helping users run scenarios and generate outputs based on cells and formulas.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>Here&#8217;s how it works:</p><ol><li><p><strong>Build and update spreadsheet models faster: </strong>Describe what you need in plain language and ChatGPT will create or update live Excel models while preserving formulas, structure, and assumptions.</p></li><li><p><strong>Get insights from large spreadsheets: </strong>ChatGPT analyzes how sheets and formulas connect, explains changes in results, and traces or fixes errors in complex workbooks.</p></li><li><p><strong>Follow the logic and trust the outputs: </strong>ChatGPT links answers to the exact cells it uses and asks permission before making edits, so teams can audit formulas and verify results.</p></li></ol><p>The tool is powered by <a href="https://openai.com/index/introducing-gpt-5-4/">GPT-5.4</a> and can be installed from the Add-in tab in the web version of MSFT Excel. </p>
      <p>
          <a href="https://www.generativeaipub.com/p/how-to-use-chatgpt-in-msft-excel">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Plus AI vs. Copilot: A guide to choosing the best AI slide deck generator]]></title><description><![CDATA[Here's a comparison between Plus AI and Microsoft Copilot in generating slide decks with AI.]]></description><link>https://www.generativeaipub.com/p/plus-ai-vs-copilot-a-guide-to-choosing</link><guid isPermaLink="false">https://www.generativeaipub.com/p/plus-ai-vs-copilot-a-guide-to-choosing</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Thu, 05 Mar 2026 07:47:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rzLX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rzLX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rzLX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rzLX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rzLX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rzLX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rzLX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Plus AI vs. Copilot: A guide to choosing the best AI slide deck generator&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plus AI vs. Copilot: A guide to choosing the best AI slide deck generator" title="Plus AI vs. Copilot: A guide to choosing the best AI slide deck generator" srcset="https://substackcdn.com/image/fetch/$s_!rzLX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rzLX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rzLX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rzLX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121fcfd5-0b27-4ba3-8168-c27baf513eeb_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Given Microsoft&#8217;s massive, multi-billion-dollar investments in AI over the past couple of years, Copilot was positioned to be the ultimate productivity game-changer. It promised advanced automation workflows that would save professionals countless hours. Add in their undeniable home-field advantage, Microsoft literally owns and built PowerPoint, and you&#8230;</p>
      <p>
          <a href="https://www.generativeaipub.com/p/plus-ai-vs-copilot-a-guide-to-choosing">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Nano Banana 2: Pro-level image generation but faster and cheaper]]></title><description><![CDATA[Google's Nano Banana 2 image model can generate pro level images in 2 seconds while being 50% cheaper than Nano Banana Pro.]]></description><link>https://www.generativeaipub.com/p/nano-banana-2-pro-level-image-generation</link><guid isPermaLink="false">https://www.generativeaipub.com/p/nano-banana-2-pro-level-image-generation</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Fri, 27 Feb 2026 06:42:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9ef3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9ef3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9ef3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9ef3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9ef3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9ef3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9ef3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:175696,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/189333462?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9ef3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9ef3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9ef3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9ef3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39d51c85-7301-41c4-b1ba-68ca83a64fc0_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Google&#8217;s new <a href="https://blog.google/innovation-and-ai/technology/ai/nano-banana-2/">Nano Banana 2</a> image model is here. It&#8217;s as powerful as the Pro model at half the price, making it the perfect tool for batch image generation without compromising the quality.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>The model is now leading the text-to-image ranking on <a href="https://arena.ai/leaderboard/text-to-image">Arena AI</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zmr5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zmr5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 424w, https://substackcdn.com/image/fetch/$s_!zmr5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 848w, https://substackcdn.com/image/fetch/$s_!zmr5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!zmr5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zmr5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png" width="1456" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d19e9fd6-139a-4027-a257-04d714602250_1600x1032.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Nano Banana 2 ranking on Arena AI. Image by Jim Clyde Monge&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Nano Banana 2 ranking on Arena AI. Image by Jim Clyde Monge" title="Nano Banana 2 ranking on Arena AI. Image by Jim Clyde Monge" srcset="https://substackcdn.com/image/fetch/$s_!zmr5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 424w, https://substackcdn.com/image/fetch/$s_!zmr5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 848w, https://substackcdn.com/image/fetch/$s_!zmr5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 1272w, https://substackcdn.com/image/fetch/$s_!zmr5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd19e9fd6-139a-4027-a257-04d714602250_1600x1032.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Nano Banana 2 ranking on Arena AI. Image by <a href="https://medium.com/u/819323b399ac">Jim Clyde Monge</a></figcaption></figure></div><p><strong>Key technical highlights of Nano Banana 2:</strong></p><ul><li><p>Base architecture is based on the <a href="https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-1-flash-image">Gemini 3.1 Flash</a> image model</p></li><li><p>Supports native 4K output, similar to the Pro model</p></li><li><p>It can handle complex spatial instructions, like &#8220;a red car between two blue trucks,&#8221; that the original model would have trouble with.</p></li><li><p>Uses Google Search data to render current events, real-world subjects, and accurate facts in its output</p></li><li><p>50% cheaper than Nano Banana Pro</p></li><li><p>Supports new aspect ratios like 1:4, 4:1, 1:8, and 8:1</p></li></ul><p>One noteworthy capability is the support for up to 14 image inputs. For example, you can upload a bunch of animal images and ask Nano Banana 2 to put all of them in a farm.</p><blockquote><p><em><strong>Prompt:</strong> Joyful characters and items at a farm</em></p></blockquote>
      <p>
          <a href="https://www.generativeaipub.com/p/nano-banana-2-pro-level-image-generation">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Amazon Refutes Financial Times Report on AI-Caused Service Outage]]></title><description><![CDATA[Amazon clarifies the timeline and cause of its recent outage, clearing its AI bot of any wrongdoing.]]></description><link>https://www.generativeaipub.com/p/amazon-refutes-financial-times-report</link><guid isPermaLink="false">https://www.generativeaipub.com/p/amazon-refutes-financial-times-report</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Sat, 21 Feb 2026 14:55:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_dZ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_dZ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_dZ-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_dZ-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_dZ-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_dZ-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_dZ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171054,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/188714503?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_dZ-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!_dZ-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!_dZ-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!_dZ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d46a2e6-9c74-4b85-8458-4757028adbe8_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On February 19, 2026, the Financial Times <a href="https://www.ft.com/content/00c282de-ed14-4acd-a948-bc8d6bdb339d">published a repor</a>t that Amazon Web Services (AWS), the backbone of much of the modern internet, had suffered outages caused by its own AI coding tools &#8212; including an &#8220;agentic&#8221; assistant called Kiro that allegedly decided the best way to fix a problem was to delete an entire environment.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>The story quickly went viral. It tapped into deep-seated fears about handing over critical infrastructure to autonomous AI. Yet less than 24 hours later, Amazon fired back with an unusually <a href="https://www.aboutamazon.com/news/aws/aws-service-outage-ai-bot-kiro">detailed public correction</a>, insisting the entire narrative was wrong &#8212; and that the real culprit was classic human error, not rogue AI.</p><p>What really happened?</p><h3><strong>The Financial Times Report</strong></h3><p>According to the Financial Times, citing four people familiar with the matter (including current Amazon employees), AWS experienced a 13-hour interruption in mid-December 2025 to AWS Cost Explorer &#8212; the customer-facing dashboard that helps users visualize, understand, and manage their cloud spending.</p>
      <p>
          <a href="https://www.generativeaipub.com/p/amazon-refutes-financial-times-report">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Google Releases Lyria 3 AI Music Generator]]></title><description><![CDATA[Lyria 3 can generate a 30-second track complete with vocals, lyrics, and music.]]></description><link>https://www.generativeaipub.com/p/google-releases-lyria-3-ai-music</link><guid isPermaLink="false">https://www.generativeaipub.com/p/google-releases-lyria-3-ai-music</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Fri, 20 Feb 2026 07:56:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1oJd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1oJd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1oJd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1oJd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1oJd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1oJd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1oJd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:232228,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/188589772?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1oJd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 424w, https://substackcdn.com/image/fetch/$s_!1oJd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 848w, https://substackcdn.com/image/fetch/$s_!1oJd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!1oJd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe7eb228-211b-4fa5-856b-9e8fd5d8a12c_1920x1080.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Google just dropped a new version of its AI music generator tool, <a href="https://gemini.google/overview/music-generation/">Lyria</a>. This new version is capable of producing a 30-second track from various inputs like text descriptions, photos, and even videos.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>The AI music scene has mainly been nominated by platforms like Suno and Udio. Since their explosive rise in 2024, they&#8217;ve set the bar high:</p><ul><li><p>Suno is really good at quick, catchy full-length songs</p></li><li><p>The recent version of the music model can produce up to 8+ minutes per track with a strong pop/viral appeal</p></li><li><p>Udio often edges out in raw audio fidelity, vocal realism, and studio-like controls (e.g., inpainting, extensions for longer tracks up to 15 minutes).</p></li></ul><p>Lyria 3, in contrast, can only produce a 30-second track per generation. But according to Google, this model creates high-fidelity AI music complete with instrumentals, vocals, and lyrics.</p><h4>How Lyria 3 compares to the previous versions</h4><p>The original Lyria model was launched in late 2023 as part of Google DeepMind&#8217;s experiments, like Music AI Sandbox (for pro musicians) and YouTube&#8217;s Dream Track feature.</p><p>Lyria 2 followed around 2025, adding refinements like better control, real-time capabilities (Lyria RealTime), and API access via Vertex AI. It was mostly instrumental-focused and geared toward developers or integrated tools.</p><p>And now we have Lyria 3 in 2026.</p><p>Here are the main improvements of Lyria 3 over the previous versions:</p>
      <p>
          <a href="https://www.generativeaipub.com/p/google-releases-lyria-3-ai-music">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[5 Things You Should Know About OpenClaw]]></title><description><![CDATA[Here are five things about OpenClaw that every user must know.]]></description><link>https://www.generativeaipub.com/p/5-things-you-should-know-about-openclaw</link><guid isPermaLink="false">https://www.generativeaipub.com/p/5-things-you-should-know-about-openclaw</guid><dc:creator><![CDATA[Jim Clyde Monge]]></dc:creator><pubDate>Thu, 19 Feb 2026 12:12:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zEhJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zEhJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zEhJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zEhJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zEhJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zEhJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zEhJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65299,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.generativeaipub.com/i/188483370?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zEhJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!zEhJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!zEhJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!zEhJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f4ca1eb-f39b-4111-904f-a0172560c8e7_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://openclaw.ai/">OpenClaw</a> has been dominating my newsfeed in the past couple of days. It&#8217;s what every AI enthusiast has been talking about&#8202;&#8212;&#8202;building all kinds of projects and experimenting with every possible use case they can do with this automation system.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.generativeaipub.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.generativeaipub.com/subscribe?"><span>Subscribe now</span></a></p><p>In case you didn&#8217;t know it yet, OpenClaw is an open-source autonomous agent designed to act as a proactive AI assistant. Unlike standard chatbots that wait for you to ask a question, OpenClaw runs as a persistent service on your own hardware (like a Mac Mini, or even a private server) and can perform real-world tasks independently.</p><p>People have been using it to execute actions like remotely vibe coding apps, automating the generation of TikTok videos, controlling smart home devices, or performing web automation.</p><p>What makes it super cool is that you can interact with it through everyday apps like WhatsApp, Telegram, Discord, and Slack.</p><p>Here&#8217;s a quick summary of facts about OpenClaw:</p><ol><li><p>OpenClaw started as a weekend side project</p></li><li><p>OpenClaw is the fastest-growing open-source AI project in history</p></li><li><p>What makes OpenClaw unique is the &#8220;Heartbeat&#8221; feature</p></li><li><p>It underwent three major rebrands following trademark concerns from Anthropic</p></li><li><p>OpenClaw is powered by Claude, but its creator joined OpenAI instead of Anthropic</p></li></ol><p>Let&#8217;s get into the details.</p>
      <p>
          <a href="https://www.generativeaipub.com/p/5-things-you-should-know-about-openclaw">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>