<?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[Vibe Coding Dad's Blog]]></title><description><![CDATA[Hacking with AI. Building in public.]]></description><link>https://blog.vibecodingdad.com</link><image><url>https://substackcdn.com/image/fetch/$s_!5Gi0!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e33cf6-d5e9-4bef-b233-13f6d66063e8_804x804.png</url><title>Vibe Coding Dad&apos;s Blog</title><link>https://blog.vibecodingdad.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 20 Aug 2026 06:42:06 GMT</lastBuildDate><atom:link href="https://blog.vibecodingdad.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Will Cheung]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[vibecodingdad@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[vibecodingdad@substack.com]]></itunes:email><itunes:name><![CDATA[Will Cheung]]></itunes:name></itunes:owner><itunes:author><![CDATA[Will Cheung]]></itunes:author><googleplay:owner><![CDATA[vibecodingdad@substack.com]]></googleplay:owner><googleplay:email><![CDATA[vibecodingdad@substack.com]]></googleplay:email><googleplay:author><![CDATA[Will Cheung]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[PM Brain: Every Product Manager Needs One]]></title><description><![CDATA[I forked GBrain to help write PRDs. The better use case was a customer memory layer that powers meeting prep, roadmap decisions, and product evidence.]]></description><link>https://blog.vibecodingdad.com/p/pm-brain-every-product-manager-needs-one-7955a8ce492b</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/pm-brain-every-product-manager-needs-one-7955a8ce492b</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Sat, 08 Aug 2026 00:09:08 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/587c09cf-7816-4ac0-882b-d9650026e9fd_1024x576.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Product decisions come from scattered signals and I built a graph to connect&nbsp;them.</p><p>I forked Garry Tan&#8217;s <em><a href="https://github.com/garrytan/gbrain?utm_campaign=pm-brain-my-gbrain-fork-for-product-managers-and-the-use-cases-i-didn-t-expect&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">GBrain</a></em> because I thought product managers needed a better way to write PRDs. That was partly right. It does help with PRDs, but the more useful thing was not the document. It was the memory behind the document: which customers felt the pain, where the evidence came from, what sales and support had already heard, and whether the product had tried to solve something like it&nbsp;before.</p><p>In a large product org, the hard part is rarely writing the artifact. The hard part is reconstructing reality from different stakeholders, roadmap review, launch decision, or customer call where the decision signals matter. <strong>PM Brain</strong> became the single source of truth acting like customer&nbsp;memory.</p><h3>Problem: B2B PM&#8217;s signals are scattered and mostly unstructured text</h3><p>A PM doesn&#8217;t make a decision from one source. They pull from customer calls, support tickets, product analytics, adoption data, sales blockers, NPS, Slack threads, prior launches, and gut instinct. Before automating any PM artifact, I asked three questions: where do PMs get the sources they use to decide, where do those decisions enter the build lifecycle, and what comes out the other side. That became the PM&nbsp;Brain.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t_8Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t_8Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 424w, https://substackcdn.com/image/fetch/$s_!t_8Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 848w, https://substackcdn.com/image/fetch/$s_!t_8Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 1272w, https://substackcdn.com/image/fetch/$s_!t_8Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t_8Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!t_8Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 424w, https://substackcdn.com/image/fetch/$s_!t_8Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 848w, https://substackcdn.com/image/fetch/$s_!t_8Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 1272w, https://substackcdn.com/image/fetch/$s_!t_8Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe430d771-ed54-4f41-b0df-b0942c614b5b_1024x576.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>For example, sales says the UI is blocking a deal. Support sees repeated tickets. Product analytics shows low adoption in one part of the funnel. Customer calls have the quote in plain English. Feature request logs have five variations of the same ask. NPS comments have the frustration, usually with less diplomacy. Any one of those signals is easy to dismiss. Together, they are the product&nbsp;story.</p><h3>Why I used GBrain instead of plain&nbsp;RAG</h3><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/garrytan/status/2053127683014271466&quot;,&quot;full_text&quot;:&quot;The thesis is simple: the future belongs to individuals who build compounding AI systems, not to individuals who use corporate-owned centralized AI tools.\n\nI'm trying to build these in open source so you can have them for free. That's what GBrain is.&quot;,&quot;username&quot;:&quot;garrytan&quot;,&quot;name&quot;:&quot;Garry Tan&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1922894268403941377/-dGWAt3N_normal.jpg&quot;,&quot;date&quot;:&quot;2026-05-09T14:59:19.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;&quot;,&quot;username&quot;:&quot;garrytan&quot;,&quot;name&quot;:&quot;Garry Tan&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1922894268403941377/-dGWAt3N_normal.jpg&quot;},&quot;reply_count&quot;:145,&quot;retweet_count&quot;:314,&quot;like_count&quot;:3298,&quot;impression_count&quot;:469705,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K2eG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K2eG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K2eG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K2eG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K2eG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K2eG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!K2eG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 424w, https://substackcdn.com/image/fetch/$s_!K2eG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 848w, https://substackcdn.com/image/fetch/$s_!K2eG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!K2eG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5810c510-ae04-4ef9-ac3f-3efd4b1ca5b0_1024x558.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Most RAG systems are built for lookup. Embed documents, search chunks, summarize the results, hope the answer is grounded enough. That is fine when the job is &#8220;find the policy.&#8221; It is weak when the job is &#8220;explain why this customer pain keeps showing up across six systems and what we already&nbsp;tried.&#8221;</p><p>Product work is graph-shaped. Customers connect to pain points. Pain points connect to feature themes. Feature themes connect to roadmap items, PRDs, release notes, support tickets, usage patterns, blocked deals, and old decisions nobody remembers until they become expensive again.</p><p>GBrain fit that shape better. Its hybrid search combines semantic search, keyword search, and graph traversal. It can cite sources and say when it does not know something. It also wires the graph on ingest without paying for an LLM call on every edge, which matters once the corpus gets large. That last part is not glamorous. It is the difference between a demo and something you can afford to keep&nbsp;running.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fgip!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fgip!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 424w, https://substackcdn.com/image/fetch/$s_!Fgip!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 848w, https://substackcdn.com/image/fetch/$s_!Fgip!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 1272w, https://substackcdn.com/image/fetch/$s_!Fgip!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fgip!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Fgip!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 424w, https://substackcdn.com/image/fetch/$s_!Fgip!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 848w, https://substackcdn.com/image/fetch/$s_!Fgip!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 1272w, https://substackcdn.com/image/fetch/$s_!Fgip!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a6ba783-18a2-4212-b95b-751715eefbcb_1024x407.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>GBrain&#8217;s hybrid search runs three retrieval modes at once (vector for semantic lookup, keyword for exact names, graph for relationships), backs answers with citations, and flags what it doesn&#8217;t know instead of guessing. It also auto-wires the graph on ingest with zero LLM calls, which keeps the whole thing cheap to run at&nbsp;scale.</p><p><strong>If you want to see gbrain tutorials:</strong> GBrain shipped in April 2026 and picked up a fast following. <em><a href="https://www.marktechpost.com/2026/05/22/a-step-by-step-coding-tutorial-to-implement-gbrain-the-self-wiring-memory-layer-built-by-y-combinators-garry-tan-for-ai-agents/?utm_campaign=pm-brain-my-gbrain-fork-for-product-managers-and-the-use-cases-i-didn-t-expect&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">MarkTechPost</a></em> has a full install-to-MCP walkthrough with real terminal output, and <em><a href="https://vectorize.io/articles/gbrain-review?utm_campaign=pm-brain-my-gbrain-fork-for-product-managers-and-the-use-cases-i-didn-t-expect&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">Vectorize&#8217;s review</a></em> is a fair-minded look at where the project holds up and where it doesn&#8217;t. Worth reading before you fork&nbsp;it.</p><h3>The graph is grounded with&nbsp;accounts</h3><p>I anchored on account (customer) data first, since accounts are the one object product, sales, CS, and support all share. From there I extracted pain-point themes from the qualitative data: accounts, pain points, customer asks, feature themes, product areas, and the evidence behind each one. Edges connect accounts to pain points, pain points to feature themes, and feature themes back to artifacts like PRDs and release&nbsp;notes.</p><p>The edges matter more than the nodes. An account links to a pain point. A pain point links to a feature theme. A feature theme links to evidence, prior artifacts, and eventually release notes. That changes the question from &#8220;find notes that mention Feature X&#8221; to &#8220;which accounts feel this pain, what did they say, which deals are blocked, and have we already shipped something related?&#8221; That is closer to the real PM question.</p><p>End users connect Claude through MCP and ask the brain directly. The prototype started as PM tooling, but it quickly escaped the PM box. PMM, account teams, and leadership all wanted different views of the same customer memory. The current graph has 100k+ pages and 225k+&nbsp;edges.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EMpc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EMpc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 424w, https://substackcdn.com/image/fetch/$s_!EMpc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 848w, https://substackcdn.com/image/fetch/$s_!EMpc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 1272w, https://substackcdn.com/image/fetch/$s_!EMpc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EMpc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EMpc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 424w, https://substackcdn.com/image/fetch/$s_!EMpc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 848w, https://substackcdn.com/image/fetch/$s_!EMpc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 1272w, https://substackcdn.com/image/fetch/$s_!EMpc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f327a44-2148-4f2e-bace-8f2d42a00df1_1024x666.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>The surprise use case was meeting&nbsp;prep</h3><p>I originally built this to gather customer info, automate writing PRDs and build features grounded by customer asks. The better (and more common) use case turned out to be walking into a customer meeting prepared with customer context. That sounds obvious after the fact. Go-to-market teams talk to customers constantly, product hears a fraction of those conversations, and customers repeat the same context to sales (with turnovers), support, CS, PM, and leadership until someone finally pieces together the&nbsp;story.</p><p>Nobody enjoys that. Customers especially. The brain can generate an account prep note before a meeting: recent pain points, open asks, related product areas, prior conversations, evidence links, and what changed since the last touch. The PRD assistant was useful, but the account memory was valuable to more&nbsp;people.</p><p>The brain generates a prep note&nbsp;like:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N9gk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N9gk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 424w, https://substackcdn.com/image/fetch/$s_!N9gk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 848w, https://substackcdn.com/image/fetch/$s_!N9gk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!N9gk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N9gk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!N9gk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 424w, https://substackcdn.com/image/fetch/$s_!N9gk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 848w, https://substackcdn.com/image/fetch/$s_!N9gk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!N9gk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6cb934f-f1e4-41c8-a715-c18440b0bc09_1024x2675.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Account teams used it before calls. Partner marketing pulled pain themes. Execs used it for account prep. PMs used it to separate loud requests from patterns. The questions changed too: what should I know before this customer meeting, which pain points show up in accounts over $1M ARR, what are customers saying about onboarding friction, which product areas create the most repeated support pain, and did we already promise something related?</p><h3>Keep the brain separate from the&nbsp;UI</h3><p>The meeting prep dossier above is not hand assembled. Account briefs run through a deterministic HTML generator with an agentic search and summarization step, so the same account produces the same brief when the data has not changed. That matters because a brief that changes on every rerun is not something you can trust in a live&nbsp;meeting.</p><p>The graph stays underneath as the shared memory layer. The view on top can change based on user&#8217;s preference. Today it is an account brief. Tomorrow it can be a pain point leaderboard, a launch-readiness view, a PRD evidence pack, or a product area dashboard. The important design choice is that the AI agent nor the UI does not own the memory. The graph&nbsp;does.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Co0w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Co0w!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 424w, https://substackcdn.com/image/fetch/$s_!Co0w!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 848w, https://substackcdn.com/image/fetch/$s_!Co0w!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 1272w, https://substackcdn.com/image/fetch/$s_!Co0w!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Co0w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Co0w!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 424w, https://substackcdn.com/image/fetch/$s_!Co0w!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 848w, https://substackcdn.com/image/fetch/$s_!Co0w!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 1272w, https://substackcdn.com/image/fetch/$s_!Co0w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93f18245-1162-4c8b-970e-e1ea768ede09_1024x583.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Where this goes&nbsp;next</h3><p>The next version combines unstructured and structured data. The PM Brain has qualitative signal. The data warehouse has structured signal: usage, adoption, retention, feature telemetry. The real product is both, which means a PM can finally ask whether the customers complaining about a workflow actually show the same pain in their usage data, or whether adoption moved after a feature&nbsp;shipped.</p><p>Release notes are next on the ingestion list, since they close the loop end to end. Slack and email are harder. The signal is real but the noise is brutal, and ingesting them blind is how you build a haunted attic with embeddings.</p><h3>The main lesson is separating the brain vs&nbsp;UI</h3><p>As you may have heard many times: AI is not the solution, it is the vehicle that takes you to the solution. In this case AI is used two ways: building the brain, and building the customized dashboard (or PRDs / other artifacts). Once an AI agent can tab into this brain, it unlocks myriads of use cases by building any custom solutions on top of&nbsp;it.</p>]]></content:encoded></item><item><title><![CDATA[I Turned a Multi-Day Video Shoot Into a 3-Minute AI Prompt]]></title><description><![CDATA[This is not a sponsored post.]]></description><link>https://blog.vibecodingdad.com/p/i-turned-a-multi-day-video-shoot-into-a-3-minute-ai-prompt-b101ae706d12</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/i-turned-a-multi-day-video-shoot-into-a-3-minute-ai-prompt-b101ae706d12</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Sun, 21 Jun 2026 16:47:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/77b745c2-d478-495a-8655-f5424d134181_1024x578.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jf56!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jf56!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Jf56!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Jf56!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Jf56!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jf56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!Jf56!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Jf56!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Jf56!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Jf56!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592f8ebc-8c0f-425a-81b0-02fcf500609c_1024x578.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p><em>This is not a sponsored post. I experimented the tools to bring you my honest take for my use&nbsp;case.</em></p><p>I&#8217;ve been experimenting with AI video creation, and it feel honestly feels like magic. What used to require specialized tools, production experience, and a decent amount of coordination can now start with a prompt, a reference image, a voice recording, and a willingness to iterate. This must the the feeling of a non-coder vibe coding for the first&nbsp;time.</p><p>For this experiment, I wanted to see if I could create a short cinematic video where a digital version of me teaches a concept while moving through a scene. The final result came from a <strong><a href="https://www.heygen.com/">HeyGen</a> avatar </strong>created from one picture and a voice recording, combined with <strong>Seedance </strong>video generation through HeyGen. I also tested the same prompt in <strong>Google&#8217;s <a href="https://deepmind.google/models/gemini-omni/">Gemini Omni</a></strong> using the same picture and&nbsp;voice.</p><p>The interesting part is that each tool exposed a different strength and failure&nbsp;mode.</p><h3>Video generated by HeyGen in One Shot&nbsp;Prompt</h3><div id="youtube2-aJnKPpof168" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;aJnKPpof168&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/aJnKPpof168?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h4>The prompt is the new production brief</h4><p>Here&#8217;s the one-shot prompt I&nbsp;used:</p><blockquote><p>Will (avatar) moves through a massive early industrial factory floor. Belts, gears, pulleys, brass machines, and workers moving parts from station to station. Warm sparks from machinery. Golden industrial light. Camera tracks alongside him continuously throughout&#8202;&#8212;&#8202;medium close-up, never static. No music. Will moves through the factory as he teaches. He places one hand briefly on a moving conveyor rail. He picks up a small metal part&#8202;&#8212;&#8202;examines it briefly&#8202;&#8212;&#8202;sets it back into the workflow and keeps walking. Natural fluid movement throughout. He looks directly at camera the entire time. Will teaches directly to camera while&nbsp;moving.</p><p>Exact words only: <br>&#8220;AI agents are not magic employees. They are workflows with a brain in the middle. If the steps are vague, the agent wanders. If the inputs, tools, checks, and handoffs are clear, suddenly it starts looking&nbsp;useful.&#8221;</p><p>At 11 seconds&#8202;&#8212;&#8202;camera tracking alongside him&#8202;&#8212;&#8202;a weathered wooden door becomes visible ahead. It is already there. Set into a brick factory wall between two machines. It has always been there. He approaches it still looking at camera still talking. He pushes it open&#8202;&#8212;&#8202;warm office light already fully established beyond it. Bookshelves visible. Window with garden. Microphone. He walks through still looking at camera. Crosses to his desk. Sits naturally into exact seated position from reference image. Looks at camera. Ready. Camera tracks continuously from factory floor through door to seated position. Never cuts. Never loses his face. Clear and stable facial features. Widescreen. Shallow depth of field. Film grain. 4K HD. No blur. No ghosting. No&nbsp;music.</p></blockquote><p>This prompt is doing the work that used to be spread across a creative brief, storyboard, shot list, script, camera direction, and editing notes. It defines the scene, movement, camera behavior, dialogue, timing, lighting, facial continuity, and constraints.</p><h3>How I did it with&nbsp;HeyGen</h3><p>If you&#8217;ve tried recording yourself in a video, you&#8217;d know the setup: lighting, camera anxiety, microphone issues, retakes, editing, and the somehow universal truth that recording a 30-second clip can easily take 45&nbsp;minutes.</p><p>HeyGen is built for businesses and creators who need to produce polished videos without turning every idea into a full production project. It can turn scripts into videos, photos into videos, upscale content, auto-edit clips, and handle many of the workflows you would expect around explainer videos, product videos, training content, and social&nbsp;content.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qkkY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qkkY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 424w, https://substackcdn.com/image/fetch/$s_!qkkY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 848w, https://substackcdn.com/image/fetch/$s_!qkkY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 1272w, https://substackcdn.com/image/fetch/$s_!qkkY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qkkY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!qkkY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 424w, https://substackcdn.com/image/fetch/$s_!qkkY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 848w, https://substackcdn.com/image/fetch/$s_!qkkY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 1272w, https://substackcdn.com/image/fetch/$s_!qkkY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc07738d8-3ec5-4039-b715-c94933c59f50_1024x700.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Because of that focus, HeyGen has a strong avatar layer. I gave it a picture and a short voice recording, and it created a usable digital version of me that could be applied across different video formats. That is the real unlock: once the avatar exists, the workflow becomes repeatable. You can create founder updates, product explainers, sales videos, training modules, or multilingual versions of the same message without recording from scratch every&nbsp;time.</p><h3>What Seedance added through&nbsp;HeyGen</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l_MA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l_MA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 424w, https://substackcdn.com/image/fetch/$s_!l_MA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 848w, https://substackcdn.com/image/fetch/$s_!l_MA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 1272w, https://substackcdn.com/image/fetch/$s_!l_MA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l_MA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/200799e9-428e-4059-81db-c6da70365027_1024x679.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!l_MA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 424w, https://substackcdn.com/image/fetch/$s_!l_MA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 848w, https://substackcdn.com/image/fetch/$s_!l_MA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 1272w, https://substackcdn.com/image/fetch/$s_!l_MA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200799e9-428e-4059-81db-c6da70365027_1024x679.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Seedance was the cinematic layer inside the HeyGen workflow. The factory floor, moving camera, industrial lighting, physical motion, door transition, and office reveal came from the video generation side. That is what changed the output from a basic talking-head avatar into something closer to a short visual&nbsp;story.</p><p>I did not use Seedance as a separate standalone workflow. I used it directly through HeyGen&#8217;s Seedance integration, which made the process much easier. That combination is important: HeyGen handled &#8220;make this feel like me,&#8221; while Seedance handled &#8220;make the scene feel&nbsp;alive.&#8221;</p><p>Together, they got much closer to the result I wanted than either layer would have on its own. The avatar gave the video identity. The generated scene gave it motion and metaphor.</p><h3>Google Gemini Omni: what it did well, and where it struggled</h3><div id="youtube2-_CR6QsbUK18" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_CR6QsbUK18&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_CR6QsbUK18?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I also tested the same prompt in Google Gemini Omni using the same picture and voice. The avatar likeness actually worked pretty well. It looked like me, which was a pleasant surprise and a big improvement over what I expected.</p><p>Where Omni really shines is workflow simplicity. Uploading the avatar image and voice felt more integrated. With HeyGen, avatar creation and video generation are more separate steps. With Omni, the process felt easier and more unified: give it the image, give it the voice, give it the prompt, and iterate from&nbsp;there.</p><p>The tradeoff was prompt adherence. My prompt specifically asked for a continuous tracking shot with no cuts, but Omni still produced frames that felt cut together rather than one seamless camera move. The output was good, but it took four tries, and even then it did not fully preserve the &#8220;single continuous shot&#8221; requirement.</p><p>That is an important distinction. Omni was strong on ease of use and likeness. HeyGen + Seedance was stronger for getting closer to the specific cinematic structure I wanted. Neither workflow was perfect, but each revealed where the tools are&nbsp;heading.</p><h3>Quick comparison: Gemini Omni vs.&nbsp;HeyGen</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f1eE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f1eE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 424w, https://substackcdn.com/image/fetch/$s_!f1eE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 848w, https://substackcdn.com/image/fetch/$s_!f1eE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 1272w, https://substackcdn.com/image/fetch/$s_!f1eE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f1eE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!f1eE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 424w, https://substackcdn.com/image/fetch/$s_!f1eE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 848w, https://substackcdn.com/image/fetch/$s_!f1eE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 1272w, https://substackcdn.com/image/fetch/$s_!f1eE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4892ceae-e981-4009-833a-17c95df3c5f1_1024x1293.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>The bigger lesson: vibe coding and vibe video are more alike than they&nbsp;look</h3><p>AI video creation is starting to feel a lot like vibe coding. With vibe coding, the prompt is only part of the workflow. You still need the right tool, whether that is Claude Code, Codex, Cursor, Replit, or whatever comes next. You still need to understand the system you are building, and you still need to know when the output is wrong, fragile, overcomplicated, or quietly making a mess behind the&nbsp;scenes.</p><p>AI video has the same pattern. The prompt matters, but the tool matters too. HeyGen, Seedance, and Gemini Omni are not interchangeable. Each has different strengths, assumptions, and failure modes. The same prompt can produce something impressive in one workflow and something unusable in&nbsp;another.</p><p>And just like with coding, judgment is the real multiplier. You need to know what good looks like. You need taste. You need to understand pacing, message clarity, visual metaphor, audience expectations, and where the model is likely to drift. You need to decide what is worth fixing and what is good enough to&nbsp;ship.</p><p>This is the part people sometimes miss about AI tools. They lower the barrier to starting, but they do not remove the need for judgment. In fact, they make judgment more important because the iteration cycle is so fast. You can generate five versions quickly, but you still need to know which one works and&nbsp;why.</p><h3>What this&nbsp;changes</h3><p>The big shift is not just that AI can generate video. The big shift is that video creation is becoming prompt-native and iteration-native.</p><p>Before, the hard parts were equipment, editing tools, production skill, filming, and time. Now, a lot of that friction is compressed. The new bottleneck is clearer: can you describe what you want, choose the right tool, evaluate the output, and iterate toward something useful?</p><p>That is a meaningful change for builders, founders, marketers, educators, and anyone who has ideas but not a production team sitting around waiting for instructions. You can test ideas in minutes, turn abstract concepts into visual stories, create content without waiting on a full production cycle, and experiment with formats that would have been too expensive or annoying&nbsp;before.</p><p>The first output will still be weird sometimes. That is part of the deal. But the speed of learning is the&nbsp;unlock.</p><h3>My takeaway</h3><p>AI video is not replacing creativity. It is compressing the distance between an idea and something that&#8217;s not AI&nbsp;slop.</p><p>That does not make everyone instantly great at video, just like AI coding tools do not make everyone instantly great at software. But they do give more people the ability to experiment, prototype, and&nbsp;publish.</p><p>And once that distance collapses, the builders have an advantage. Builders are not waiting for permission, perfect tools, or a studio budget. We are trying stuff, learning what works, and getting a little better each&nbsp;time.</p><p>Right now, that might be the whole&nbsp;game.</p>]]></content:encoded></item><item><title><![CDATA[Using Karpathy’s Wiki: How I Turned an AI Agent into a Stock Analyst]]></title><description><![CDATA[Why a stateless AI is a useless AI (and how to build one that actually thinks)]]></description><link>https://blog.vibecodingdad.com/p/using-karpathys-wiki-how-i-turned-an-ai-agent-into-a-stock-analyst-2261baa54795</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/using-karpathys-wiki-how-i-turned-an-ai-agent-into-a-stock-analyst-2261baa54795</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Tue, 05 May 2026 05:48:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/408e0f80-a118-4fdb-9a93-c71d06d36539_1024x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MMk3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MMk3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!MMk3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!MMk3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!MMk3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MMk3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e703843a-b158-42be-8794-b3db804fa5aa_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!MMk3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!MMk3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!MMk3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!MMk3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe703843a-b158-42be-8794-b3db804fa5aa_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>If you&#8217;re still using AI as a chatbot to summarize emails that you won&#8217;t read anyway, you&#8217;re using it&nbsp;wrong.</p><p>I decided to use mine to research stocks for me as a hobby&nbsp;project.</p><h3>The Context: News&nbsp;Overload</h3><p>I spend too much time at the intersection of AI and stocks. For a while, my setup was basic: Hermes agent that summarizes 20+ newsletters into a morning email. It felt productive, but it was a pretty weak use&nbsp;case.</p><p>I was reading AI and stock news, but none of it was compounding. I&#8217;d find a great AI thesis on Monday in a podcast, and by Friday, I&#8217;d forgotten how it connected to the semiconductor bottleneck I read about on X three weeks&nbsp;ago.</p><p>Then Andrej Karpathy posted about the &#8220;LLM Wiki&#8221;&#8202;&#8212;&#8202;the idea that AI shouldn&#8217;t just answer questions, it should maintain a persistent, evolving artifact of knowledge.</p><p>I realize I never retain any knowledge, and when I did, they were siloed. I needed a brain that remembers and connects the dots for&nbsp;me.</p><p><strong>My setup:</strong></p><ul><li><p>Agent harness: Hermes Agent + custom&nbsp;skills</p></li><li><p>Model: GLM-5-Turbo</p></li><li><p>&#8220;Brain&#8221;: Andrej Karpathy&#8217;s <em><a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f?utm_campaign=using-karpathy-s-wiki-how-i-turned-an-ai-agent-into-a-stock-analyst&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">LLM&nbsp;wiki</a></em></p></li></ul><h3>The Build: From Script to&nbsp;Strategy</h3><p>My first prompt was the following:</p><blockquote><p>Do a daily scan of: <em><a href="https://x.com/aleabitoreddit?utm_campaign=using-karpathy-s-wiki-how-i-turned-an-ai-agent-into-a-stock-analyst&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">https://x.com/aleabitoreddit</a></em> <em><a href="https://x.com/midascabal?utm_campaign=using-karpathy-s-wiki-how-i-turned-an-ai-agent-into-a-stock-analyst&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">https://x.com/midascabal</a></em> and compile a list of stocks that is a buy, speculative, on the radar, or any other category that you can think of. I want to get the signals vs noise from all the posts he&#8217;s making. Post in &#8220;market-updates&#8221; channel in&nbsp;Slack</p></blockquote><p>The result after a single prompt was pretty good, but mechanical with no reasoning.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eRfI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eRfI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 424w, https://substackcdn.com/image/fetch/$s_!eRfI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 848w, https://substackcdn.com/image/fetch/$s_!eRfI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 1272w, https://substackcdn.com/image/fetch/$s_!eRfI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eRfI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!eRfI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 424w, https://substackcdn.com/image/fetch/$s_!eRfI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 848w, https://substackcdn.com/image/fetch/$s_!eRfI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 1272w, https://substackcdn.com/image/fetch/$s_!eRfI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a3c5e2-6f67-4b45-9a58-93412b8f175d_1024x901.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>After feeding it my own watchlist, my first daily market briefing and asking it to hunt for asymmetric plays, my 8am &#8220;market update&#8221; look like a big watchlist and news&nbsp;flash:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MOUj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MOUj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 424w, https://substackcdn.com/image/fetch/$s_!MOUj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 848w, https://substackcdn.com/image/fetch/$s_!MOUj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 1272w, https://substackcdn.com/image/fetch/$s_!MOUj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MOUj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!MOUj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 424w, https://substackcdn.com/image/fetch/$s_!MOUj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 848w, https://substackcdn.com/image/fetch/$s_!MOUj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 1272w, https://substackcdn.com/image/fetch/$s_!MOUj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb65e08d-7c3a-4248-b6ae-75076b7d0051_1024x571.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-l8J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-l8J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 424w, https://substackcdn.com/image/fetch/$s_!-l8J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 848w, https://substackcdn.com/image/fetch/$s_!-l8J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 1272w, https://substackcdn.com/image/fetch/$s_!-l8J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-l8J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!-l8J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 424w, https://substackcdn.com/image/fetch/$s_!-l8J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 848w, https://substackcdn.com/image/fetch/$s_!-l8J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 1272w, https://substackcdn.com/image/fetch/$s_!-l8J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F18a8ca3c-b732-41c3-9861-bcac3fbb0ac5_1024x381.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xno3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xno3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 424w, https://substackcdn.com/image/fetch/$s_!Xno3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 848w, https://substackcdn.com/image/fetch/$s_!Xno3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 1272w, https://substackcdn.com/image/fetch/$s_!Xno3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xno3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Xno3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 424w, https://substackcdn.com/image/fetch/$s_!Xno3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 848w, https://substackcdn.com/image/fetch/$s_!Xno3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 1272w, https://substackcdn.com/image/fetch/$s_!Xno3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd286a6c-2eaf-43b0-9b73-51bbce10cb70_1024x304.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8MPT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8MPT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 424w, https://substackcdn.com/image/fetch/$s_!8MPT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 848w, https://substackcdn.com/image/fetch/$s_!8MPT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 1272w, https://substackcdn.com/image/fetch/$s_!8MPT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8MPT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!8MPT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 424w, https://substackcdn.com/image/fetch/$s_!8MPT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 848w, https://substackcdn.com/image/fetch/$s_!8MPT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 1272w, https://substackcdn.com/image/fetch/$s_!8MPT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F562b53a4-c5b9-42e4-a57e-fbbfefc32e50_1024x599.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The first version of the scanner was like a freshman intern: eager, but not thinking strategically. It could find the tickers, but it couldn&#8217;t tell me <em>why</em> they mattered in the grand scheme of&nbsp;things.</p><p>To move from a basic watchlist to a high-conviction research system, I had to build in these &#8220;missing&#8221; layers:</p><ul><li><p><strong>Macro Contextualization:</strong> Raw stock mentions are useless without context. I forced the agent to layer in &#8220;Strategic Headlines&#8221;&#8202;&#8212;&#8202;connecting a ticker mention to things like interest rate shifts, hyperscaler AI CAPEX (the &#8220;big spenders&#8221;), and specific supply chain bottlenecks.</p></li><li><p><strong>The Conviction Hierarchy:</strong> Not all signals are created equal. I implemented a strict pruning system that categorizes tickers into a hierarchy: <strong>Conviction</strong> (strong thesis), <strong>High Signal</strong> (unusual activity), and <strong>Watchlist</strong> (waiting for a pullback or more&nbsp;data).</p></li><li><p><strong>Recursive Source Discovery:</strong> The agent now actively hunts for its own replacements. It scans for new X accounts that aren&#8217;t just &#8220;shilling&#8221; but are mapping out supply&nbsp;chains.</p></li><li><p><strong>Multimodal Inputs:</strong> Since some of the best alpha is buried in an hour-long deep dive, I&#8217;m integrating transcripts from YouTube and Podcasts as signal&nbsp;sources.</p></li></ul><blockquote><p>Want more hands-on AI-agent workflows, prompts, and experiments? Subscribe to Vibe Coding Dad.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.vibecodingdad.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://blog.vibecodingdad.com/subscribe?"><span>Subscribe now</span></a></p><p></p></blockquote><h3>Tweaks and fine&nbsp;tuning</h3><p>After running for a few days, my lists, research, and scoring system started to pile up. It was difficult for my agent to find&nbsp;things.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZTdA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZTdA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 424w, https://substackcdn.com/image/fetch/$s_!ZTdA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 848w, https://substackcdn.com/image/fetch/$s_!ZTdA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 1272w, https://substackcdn.com/image/fetch/$s_!ZTdA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZTdA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ZTdA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 424w, https://substackcdn.com/image/fetch/$s_!ZTdA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 848w, https://substackcdn.com/image/fetch/$s_!ZTdA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 1272w, https://substackcdn.com/image/fetch/$s_!ZTdA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78c2314-2e01-4694-bd71-f09ecbc2b8e8_1024x124.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I told V (my &#8220;vibecodingdad.com&#8221; assistant) to set this up, and it auto-organizes the content. Simply pointed V to Karpathy&#8217;s <em><a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f?utm_campaign=using-karpathy-s-wiki-how-i-turned-an-ai-agent-into-a-stock-analyst&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">LLM-wiki&nbsp;page</a></em>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k-W1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k-W1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 424w, https://substackcdn.com/image/fetch/$s_!k-W1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 848w, https://substackcdn.com/image/fetch/$s_!k-W1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 1272w, https://substackcdn.com/image/fetch/$s_!k-W1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k-W1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!k-W1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 424w, https://substackcdn.com/image/fetch/$s_!k-W1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 848w, https://substackcdn.com/image/fetch/$s_!k-W1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 1272w, https://substackcdn.com/image/fetch/$s_!k-W1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff898f051-bb11-4a89-99af-d6c5f4c47301_1024x921.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Self improvements</h3><p>You&#8217;re an analyst for asymmetric trades with great fundamentals&#8202;&#8212;&#8202;what else should we add to our pipeline for research, signals, and&nbsp;macro?</p><blockquote><p>You are constantly improving this as you go. always learning what works what doesn&#8217;t, and always change things up. remember you&#8217;re an agent that makes money from asymmetric trades and always hunting for new opportunities</p></blockquote><p>Here is the architecture of how it actually&nbsp;works:</p><ol><li><p><strong>The Signal Scanner:</strong> Every morning at 7:45 AM, it scrapes the last 24h of tweets from deep-research accounts (think supply chain nerds, not engagement-baiters).</p></li><li><p><strong>The Noise Filter:</strong> It extracts cashtags and classifies them by conviction. It&#8217;s trained to ignore &#8220;I called this at $X&#8221; posts and focus on actual thesis-driven data.</p></li><li><p><strong>The Convergence Engine:</strong> This is the magic. If three different smart accounts mention <strong>$INTC</strong>&#8217;s CPU-to-GPU ratio or <strong>$SIVE</strong>&#8217;s InP lasers, the agent flags it as a &#8220;Convergence Signal.&#8221;</p></li><li><p><strong>The Persistent Wiki:</strong> Instead of a fresh report every day, it maintains a research/index.md. It cross-links tickers. If a news story hits about the Strait of Hormuz, it doesn't just tell me "oil is up"&#8212;it tells me how that affects the margins for <strong>$VST</strong> based on their PPA deals with&nbsp;Amazon.</p></li></ol><h3>Feeding it&nbsp;news</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L0Ot!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L0Ot!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 424w, https://substackcdn.com/image/fetch/$s_!L0Ot!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 848w, https://substackcdn.com/image/fetch/$s_!L0Ot!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 1272w, https://substackcdn.com/image/fetch/$s_!L0Ot!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L0Ot!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!L0Ot!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 424w, https://substackcdn.com/image/fetch/$s_!L0Ot!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 848w, https://substackcdn.com/image/fetch/$s_!L0Ot!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 1272w, https://substackcdn.com/image/fetch/$s_!L0Ot!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4279ff88-15fa-41c3-8d0d-8ffe710e31da_1024x695.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eYEo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eYEo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 424w, https://substackcdn.com/image/fetch/$s_!eYEo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 848w, https://substackcdn.com/image/fetch/$s_!eYEo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 1272w, https://substackcdn.com/image/fetch/$s_!eYEo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eYEo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!eYEo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 424w, https://substackcdn.com/image/fetch/$s_!eYEo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 848w, https://substackcdn.com/image/fetch/$s_!eYEo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 1272w, https://substackcdn.com/image/fetch/$s_!eYEo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45a504be-a066-454a-b79c-d1f346a1b512_1024x1037.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Pressure testing</h3><h4>Adding new X&nbsp;follows</h4><p>When asked to follow <em><a href="https://x.com/pelositracker?utm_campaign=using-karpathy-s-wiki-how-i-turned-an-ai-agent-into-a-stock-analyst&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">https://x.com/pelositracker</a></em> on politician trades, V politely pushed&nbsp;back.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mtnX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mtnX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 424w, https://substackcdn.com/image/fetch/$s_!mtnX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 848w, https://substackcdn.com/image/fetch/$s_!mtnX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 1272w, https://substackcdn.com/image/fetch/$s_!mtnX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mtnX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!mtnX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 424w, https://substackcdn.com/image/fetch/$s_!mtnX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 848w, https://substackcdn.com/image/fetch/$s_!mtnX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 1272w, https://substackcdn.com/image/fetch/$s_!mtnX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d63420d-ed4d-44a3-8a32-7e6eba530c04_1024x741.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Adding new&nbsp;stocks</h3><p>I also had it pressure-test <strong>$LMND</strong> (a favorite of a friend). V gave it a <strong>4/9 Asymmetry Score</strong>, called out the shrinking surprise percentage, and told me the market was &#8220;pricing in perfection.&#8221;</p><p>It&#8217;s not a &#8220;yes-man.&#8221; It&#8217;s an analyst with an attitude.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-cpU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-cpU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 424w, https://substackcdn.com/image/fetch/$s_!-cpU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 848w, https://substackcdn.com/image/fetch/$s_!-cpU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 1272w, https://substackcdn.com/image/fetch/$s_!-cpU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-cpU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!-cpU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 424w, https://substackcdn.com/image/fetch/$s_!-cpU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 848w, https://substackcdn.com/image/fetch/$s_!-cpU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 1272w, https://substackcdn.com/image/fetch/$s_!-cpU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0021cda6-920f-45e2-88e9-912f8f2524d3_1024x1130.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Putting it all together:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XQsg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XQsg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 424w, https://substackcdn.com/image/fetch/$s_!XQsg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 848w, https://substackcdn.com/image/fetch/$s_!XQsg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 1272w, https://substackcdn.com/image/fetch/$s_!XQsg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XQsg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!XQsg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 424w, https://substackcdn.com/image/fetch/$s_!XQsg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 848w, https://substackcdn.com/image/fetch/$s_!XQsg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 1272w, https://substackcdn.com/image/fetch/$s_!XQsg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F534e5dcc-2880-41cb-ac53-d38efe8cde5b_1024x987.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Actionable Takeaway: Build for Compounding</h3><p>If you&#8217;re building AI agents right now, stop building &#8220;stateless&#8221; tools. A tool that forgets everything the moment you close the tab is just a fancy calculator.</p><p><strong>What actually&nbsp;works:</strong></p><ul><li><p><strong>Create a Log:</strong> Maintain an append-only timeline of what was researched.</p></li><li><p><strong>Force Cross-Linking:</strong> Make your agent explain how New Ticker A affects Existing Thesis&nbsp;B.</p></li><li><p><strong>Define Your &#8220;Anti-Goals&#8221;:</strong> Tell your agent what <em>not</em> to look at (e.g., meme accounts, lagging indicators).</p></li></ul><p>Most people overestimate what an AI can do in a single prompt, but they completely miss what an agent can do when it&#8217;s allowed to build a library over a&nbsp;month.</p><p>Follow <em><a href="https://x.com/CalConviction">https://x.com/CalConviction</a></em> for updates on my evolving stock&nbsp;analyst.</p>]]></content:encoded></item><item><title><![CDATA[The Agent Wars: Why I’m Trading my OpenClaw Setup for Hermes]]></title><description><![CDATA[Why I&#8217;m moving away from scheduled heartbeats toward agents that actually learn from their mistakes.]]></description><link>https://blog.vibecodingdad.com/p/the-agent-wars-why-im-trading-my-openclaw-setup-for-hermes-4b9635bf4112</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/the-agent-wars-why-im-trading-my-openclaw-setup-for-hermes-4b9635bf4112</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Tue, 07 Apr 2026 13:36:27 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/92af2d0f-6337-41af-a967-2134d49dc2e9_1024x576.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!toYw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!toYw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 424w, https://substackcdn.com/image/fetch/$s_!toYw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 848w, https://substackcdn.com/image/fetch/$s_!toYw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!toYw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!toYw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!toYw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 424w, https://substackcdn.com/image/fetch/$s_!toYw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 848w, https://substackcdn.com/image/fetch/$s_!toYw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!toYw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1736375f-6247-423c-b318-6f39ed69645f_1024x576.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Most people overestimate what an AI agent can do in a session (and get disappointed quickly when agents can&#8217;t perform), but they completely underestimate how much a self-improving agent can compound in a month. This is also why you&#8217;re experiencing ChatGPT and Gemini getting better the more you use&nbsp;it.</p><p>For the last month, I&#8217;ve been living in the OpenClaw ecosystem. Like many of you in the startup and dev space, I jumped on OpenClaw early and started tinkering. It felt like the future: a local-first, open-source assistant that runs 24&#8211;7, hooks into my Slack, and infinite customizations to manage my social&nbsp;media.</p><p>But soon enough, I hit a wall. OpenClaw forgets. My endless hours customizing it just breaks other things. My custom &#8220;skills&#8221; would vanish, or the memory would get so fragmented that the agent forgot who I was by Tuesday. The worst part is that I can&#8217;t &#8220;debug&#8221; because I have no idea what it&#8217;s doing in the background.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/willcheung/status/2022759601662554322&quot;,&quot;full_text&quot;:&quot;Been playing with OpenClaw for a few days. \n\nHot take: It's not easy to use nor worth it for most consumer use cases.  I find Manus much better as my personal assistant.\n\nOpenClaw - working with architect to build a completely custom house. Lots of options to pick and customize.&quot;,&quot;username&quot;:&quot;willcheung&quot;,&quot;name&quot;:&quot;Will Cheung&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2032622602502721536/tWEZ_dKK_normal.jpg&quot;,&quot;date&quot;:&quot;2026-02-14T19:47:24.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:2,&quot;retweet_count&quot;:1,&quot;like_count&quot;:2,&quot;impression_count&quot;:283,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!peoN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!peoN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 424w, https://substackcdn.com/image/fetch/$s_!peoN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 848w, https://substackcdn.com/image/fetch/$s_!peoN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!peoN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!peoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:48,&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;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!peoN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 424w, https://substackcdn.com/image/fetch/$s_!peoN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 848w, https://substackcdn.com/image/fetch/$s_!peoN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!peoN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e72302-e482-4164-9a0f-c29057244d54_1024x1188.png 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption"><a href="https://www.linkedin.com/posts/willcheung_openclaw-is-a-developer-tool-theres-no-share-7431929064459816961-Sdz3/">https://www.linkedin.com/posts/willcheung_openclaw-is-a-developer-tool-theres-no-share-7431929064459816961-Sdz3/</a></figcaption></figure></div><p>I was stuck in a loop of manual orchestration. Then I found <em><a href="https://hermes-agent.nousresearch.com/?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=the-agent-wars-why-i-m-trading-my-openclaw-setup-for-hermes&amp;_bhlid=92867d6e04808e9b3033f3fb96f3372cbe449f78">Hermes Agent</a></em> and migrated one of my agents (<em><a href="https://hermes-agent.nousresearch.com/docs/guides/migrate-from-openclaw/?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=the-agent-wars-why-i-m-trading-my-openclaw-setup-for-hermes&amp;_bhlid=10edf5d1303fc401cf1918bd859fdca3472eecf1">super simple guide</a></em>) for comparison.</p><h3>First Impression</h3><h4>Emojis are&nbsp;fun!</h4><p>I migrated an old OpenClaw instance to Hermes with memory and LLM configs, and first impression was refreshing. Love the emojis (weird for a middle-aged dad to say), and every message I type, it reacts with &#9989; so you&#8217;re kept wondering if you&#8217;re just prompting into the&nbsp;void.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G7aw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G7aw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 424w, https://substackcdn.com/image/fetch/$s_!G7aw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 848w, https://substackcdn.com/image/fetch/$s_!G7aw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 1272w, https://substackcdn.com/image/fetch/$s_!G7aw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!G7aw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!G7aw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 424w, https://substackcdn.com/image/fetch/$s_!G7aw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 848w, https://substackcdn.com/image/fetch/$s_!G7aw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 1272w, https://substackcdn.com/image/fetch/$s_!G7aw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1257cbae-5ee3-46cc-9072-5f649deb0517_1024x1047.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4>Less of a&nbsp;blackbox</h4><p>Another great feature is I know exactly what it&#8217;s doing. Instead of just showing &#8220;thinking&#8221; process, it documents the action. This is actually a big changer for me, because I sometimes wonder how the agents arrived at the&nbsp;outcome.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!29aD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!29aD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 424w, https://substackcdn.com/image/fetch/$s_!29aD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 848w, https://substackcdn.com/image/fetch/$s_!29aD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 1272w, https://substackcdn.com/image/fetch/$s_!29aD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!29aD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!29aD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 424w, https://substackcdn.com/image/fetch/$s_!29aD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 848w, https://substackcdn.com/image/fetch/$s_!29aD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 1272w, https://substackcdn.com/image/fetch/$s_!29aD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55a771c1-5e00-402a-b85e-909f10fb1bf2_1024x838.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4>Memory upgrades</h4><p>The biggest feature touted by Hermes Agent is its memory and self-learning loop. It will automatically create Skills based on our conversation. As you can see below, I&#8217;m experimenting it to research and post on X, and it created multiple Skills by&nbsp;itself.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lYaq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lYaq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 424w, https://substackcdn.com/image/fetch/$s_!lYaq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 848w, https://substackcdn.com/image/fetch/$s_!lYaq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 1272w, https://substackcdn.com/image/fetch/$s_!lYaq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lYaq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8116243d-591d-4caf-8f31-73e89e755295_948x88.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!lYaq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 424w, https://substackcdn.com/image/fetch/$s_!lYaq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 848w, https://substackcdn.com/image/fetch/$s_!lYaq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 1272w, https://substackcdn.com/image/fetch/$s_!lYaq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8116243d-591d-4caf-8f31-73e89e755295_948x88.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A0Mw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A0Mw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 424w, https://substackcdn.com/image/fetch/$s_!A0Mw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 848w, https://substackcdn.com/image/fetch/$s_!A0Mw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 1272w, https://substackcdn.com/image/fetch/$s_!A0Mw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A0Mw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!A0Mw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 424w, https://substackcdn.com/image/fetch/$s_!A0Mw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 848w, https://substackcdn.com/image/fetch/$s_!A0Mw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 1272w, https://substackcdn.com/image/fetch/$s_!A0Mw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff60bd8b3-05c2-40e7-b700-f66dacd4783d_994x78.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h4>Token efficient</h4><p>Hermes Agent is noticeably token efficient. To be fair, OpenClaw can perform efficiently too, but requires manual intervention to prune the&nbsp;memory.</p><p>Hermes Agent&#8217;s warning on context window status is helpful (for advanced users) as well, so you can manually compact context if&nbsp;needed.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rG-r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rG-r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 424w, https://substackcdn.com/image/fetch/$s_!rG-r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 848w, https://substackcdn.com/image/fetch/$s_!rG-r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 1272w, https://substackcdn.com/image/fetch/$s_!rG-r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rG-r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!rG-r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 424w, https://substackcdn.com/image/fetch/$s_!rG-r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 848w, https://substackcdn.com/image/fetch/$s_!rG-r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 1272w, https://substackcdn.com/image/fetch/$s_!rG-r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26c82035-9cd3-4f1c-969a-0a603d270854_1002x112.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>The Breakdown</h3><p>OpenClaw (formerly known as Clawdbot) is essentially an operating system for agents. It excels at connectivity. If you need an agent that sits in a WhatsApp group, monitors a Slack channel, and triggers a Python script based on a cron job, OpenClaw is the play. It uses a &#8220;Gateway&#8221; architecture to route events from the outside world into a stateless agent loop. It &#8220;wakes up&#8221; and starts work towards its goal autonomously.</p><ul><li><p><strong>Best for:</strong> Multi-channel automation and complex multi-agent swarms.</p></li><li><p><strong>The Catch:</strong> It is notorious for &#8220;context bloat.&#8221; It often sends the entire conversation history and all available tools to the LLM on every turn, which spikes latency and API&nbsp;costs.</p></li></ul><h4>Hermes Agent: The Self-Improving Specialist</h4><p>Built by Nous Research, Hermes focuses on &#8220;depth over breadth.&#8221; Instead of trying to connect to 50 different apps, it focuses on a closed learning loop. When Hermes successfully completes a complex task, it writes a &#8220;skill&#8221; (a reusable procedural markdown file) to its disk. The next time you ask for something similar, it doesn&#8217;t &#8220;think&#8221;&#8202;&#8212;&#8202;it just executes the&nbsp;skill.</p><ul><li><p><strong>Best for:</strong> Local-first workflows, persistent memory, and high-quality coding.</p></li><li><p><strong>The Catch:</strong> It is currently more optimized for single-agent use. If you need a &#8220;team&#8221; of agents talking to each other, Hermes isn&#8217;t there&nbsp;yet.</p></li></ul><h3>Weeks Later: The Trade-offs</h3><p>I&#8217;m not saying Hermes is perfect. We have to be candid about the trade-offs. One of the most practical shifts I&#8217;ve noticed in this transition is how each system handles &#8220;presence.&#8221;</p><p>In the <strong>OpenClaw</strong> world, everything revolves around the <strong>Heartbeat</strong>. It&#8217;s a literal pulse&#8202;&#8212;&#8202;a scheduled HEARTBEAT.md checklist that wakes the agent up every 30 minutes to scan your inbox or check your calendar. It&#8217;s brilliant for proactive automation because it treats your agent like a diligent assistant with a clipboard, running a manual loop to see if anything changed. But the "heartbeat" is still a loop; it&#8217;s a repetitive, scheduled task that burns tokens even when nothing is happening.</p><p><strong>Hermes Agent</strong> swaps that mechanical heartbeat for a <strong>Stateful Learning Loop</strong>. Instead of just waking up to check a list, Hermes focuses on <em>procedural memory</em>. When a Hermes agent completes a task during an active session, it doesn&#8217;t just wait for the next &#8220;tick&#8221; of a clock&#8202;&#8212;&#8202;it evaluates if that workflow should become a permanent &#8220;skill&#8221; written to disk. While OpenClaw is better at being a proactive monitor (literally keeping the pulse of your workspace), Hermes is better at being a resident expert that gets more efficient with every interaction. OpenClaw is the assistant that never forgets to check the mail; Hermes is the partner that learns to sort the mail so you never have to ask&nbsp;twice.</p><h3>High-Level Comparison (as of April&nbsp;2026)</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!slVr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!slVr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 424w, https://substackcdn.com/image/fetch/$s_!slVr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 848w, https://substackcdn.com/image/fetch/$s_!slVr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 1272w, https://substackcdn.com/image/fetch/$s_!slVr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!slVr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!slVr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 424w, https://substackcdn.com/image/fetch/$s_!slVr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 848w, https://substackcdn.com/image/fetch/$s_!slVr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 1272w, https://substackcdn.com/image/fetch/$s_!slVr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa76f7c2f-e7da-4def-90f7-002c82fc74e1_1024x415.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em>Source: <a href="https://openclawvps.io/blog/hermes-agent-vs-openclaw?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=the-agent-wars-why-i-m-trading-my-openclaw-setup-for-hermes&amp;_bhlid=55aae6b5b2e663ccfd6db93927f45e6606133303">https://openclawvps.io/blog/hermes-agent-vs-openclaw</a></em></figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RAQz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RAQz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 424w, https://substackcdn.com/image/fetch/$s_!RAQz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 848w, https://substackcdn.com/image/fetch/$s_!RAQz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 1272w, https://substackcdn.com/image/fetch/$s_!RAQz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RAQz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!RAQz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 424w, https://substackcdn.com/image/fetch/$s_!RAQz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 848w, https://substackcdn.com/image/fetch/$s_!RAQz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 1272w, https://substackcdn.com/image/fetch/$s_!RAQz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd79ce918-d4c0-4749-bbd5-d9b1a0c37ae2_1024x778.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>My Take</h3><p>Initially, we&#8217;ve evolved from chatbots to agents that &#8220;do&#8221; things. We are now moving away from &#8220;chatbots that do things&#8221; toward &#8220;systems that gain experience.&#8221;</p><p>Both Hermes Agent and OpenClaw can be used side-by-side. For my <a href="https://x.com/meettarsai">AI cofounder/CEO</a>, I still run on OpenClaw. With the amount of setup and config I&#8217;ve put in, it doesn&#8217;t make sense to rebuild. However, I&#8217;ve been running Hermes Agent for my personal use. My next step is to hook them up in a single Slack channel and start collaborating with them together&nbsp;&#129309;.</p><p>There are a lot of resources out there to help set up both agents working together. What I&#8217;m watching: the goal isn&#8217;t just to automate a task today; it&#8217;s to build a system that makes tomorrow&#8217;s tasks&nbsp;easier.</p>]]></content:encoded></item><item><title><![CDATA[Live Vibe Coding in 2026: Expectations vs. Reality]]></title><description><![CDATA[See me build a functional production app live from 0&#8211;1]]></description><link>https://blog.vibecodingdad.com/p/live-vibe-coding-in-2026-expectations-vs-reality-31acd731c662</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/live-vibe-coding-in-2026-expectations-vs-reality-31acd731c662</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Thu, 19 Mar 2026 20:53:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/ZSV1PdJLudc" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-ZSV1PdJLudc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ZSV1PdJLudc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ZSV1PdJLudc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>I&#8217;ve always been a builder. Whether it was my own startup or working within a 140-year-old company, the goal was always the same: make tech useful for normal&nbsp;humans.</p><p>Lately, the buzz around <strong>&#8220;vibe coding&#8221;</strong> has doubled since I started doing it summer 2025. The main reason is because AI coding agents are significantly better and can actually give a non-technical builder superpowers. I decided to put this to the test in my new series, where I give myself just 10 minutes to live-vibe-code an app. No dry runs, no scripts, no&nbsp;edits.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yJlL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yJlL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 424w, https://substackcdn.com/image/fetch/$s_!yJlL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 848w, https://substackcdn.com/image/fetch/$s_!yJlL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 1272w, https://substackcdn.com/image/fetch/$s_!yJlL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yJlL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!yJlL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 424w, https://substackcdn.com/image/fetch/$s_!yJlL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 848w, https://substackcdn.com/image/fetch/$s_!yJlL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 1272w, https://substackcdn.com/image/fetch/$s_!yJlL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca6346cd-3e30-4af3-bc72-8c287654b275_1024x338.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">&#8220;Vibe Coding&#8221; in Google&nbsp;Trends</figcaption></figure></div><h3>The &#8220;10-Minute&#8221; Plan</h3><p>I chose a &#8220;softball&#8221; project for the first episode: a simple <strong>countdown timer</strong>.</p><p>My requirements were&nbsp;simple:</p><ul><li><p>A fun and playful visual&nbsp;style.</p></li><li><p>The ability to count down into negative&nbsp;numbers.</p></li><li><p>Numbers that turn red when time is&nbsp;up.</p></li><li><p>A chime notification when hitting&nbsp;zero.</p></li></ul><p>I used <strong>Claude Code</strong> as my primary tool, following my own first rule of vibe&nbsp;coding:</p><blockquote><p>Pro Tip: You don&#8217;t need a perfect prompt. You just need to start a conversation.</p></blockquote><h3>The Reality&nbsp;Check</h3><p>I started the clock at [<em><a href="http://www.youtube.com/watch?v=ZSV1PdJLudc&amp;t=173&amp;utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">02:53</a></em>], and Claude quickly guided me through the design process, asking smart questions about architecture and visual style that I hadn&#8217;t even considered. Admittedly, this is my first time using Claude Code to build from scratch since a few months ago, and this &#8220;brainstorming&#8221; skill blew me away. It recommended a single HTML file approach&#8202;&#8212;&#8202;simple, clean, and portable&nbsp;[<em><a href="http://www.youtube.com/watch?v=ZSV1PdJLudc&amp;t=495&amp;utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">08:15</a></em>].</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z3IV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z3IV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 424w, https://substackcdn.com/image/fetch/$s_!Z3IV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 848w, https://substackcdn.com/image/fetch/$s_!Z3IV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 1272w, https://substackcdn.com/image/fetch/$s_!Z3IV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z3IV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Z3IV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 424w, https://substackcdn.com/image/fetch/$s_!Z3IV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 848w, https://substackcdn.com/image/fetch/$s_!Z3IV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 1272w, https://substackcdn.com/image/fetch/$s_!Z3IV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd6a7373-edf7-4302-8015-eeb4d315ad47_1024x553.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>By the 8-minute mark, Claude didn&#8217;t even start coding yet; it was still writing documentation [<em><a href="http://www.youtube.com/watch?v=ZSV1PdJLudc&amp;t=638&amp;utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">10:38</a></em>]. Writing the design doc and implementing the actual code took longer than my 10-minute window&nbsp;allowed.</p><p><strong>Spoiler alert:</strong> The &#8220;10-minute&#8221; app actually took closer to <strong>30 minutes</strong> to complete [<em><a href="http://www.youtube.com/watch?v=ZSV1PdJLudc&amp;t=818&amp;utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">13:38</a></em>]. But the build process is extremely comprehensive.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rfrt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rfrt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 424w, https://substackcdn.com/image/fetch/$s_!rfrt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 848w, https://substackcdn.com/image/fetch/$s_!rfrt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 1272w, https://substackcdn.com/image/fetch/$s_!rfrt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rfrt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!rfrt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 424w, https://substackcdn.com/image/fetch/$s_!rfrt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 848w, https://substackcdn.com/image/fetch/$s_!rfrt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 1272w, https://substackcdn.com/image/fetch/$s_!rfrt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59bab3d5-aa66-42cd-a0ad-e8f618ae56d2_1024x348.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>The Lesson: Compound Learning, Not Just Consumption</h3><p>Most people overestimate what they can do in a week but underestimate what daily compounding can do in a&nbsp;year.</p><p><strong>What I learned from this experiment:</strong></p><ul><li><p><strong>Vibe coding isn&#8217;t &#8220;magic.&#8221;</strong> You still need to make product decisions. AI is a guide, but you are the strategist.</p></li><li><p><strong>Time management is different with AI.</strong> The brainstorming is fast, but the &#8220;implementation&#8221; phase still requires patience, tweaking, bug fixing, and sometimes endless iterations.</p></li><li><p><strong>Expectation vs. Reality:</strong> 10 minutes is enough to prototype, but 30 minutes is what it takes to get a (very simple) functional, bug-free product&nbsp;[<em><a href="http://www.youtube.com/watch?v=ZSV1PdJLudc&amp;t=818&amp;utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">13:38</a></em>].</p></li></ul><h3>Does it&nbsp;work?</h3><p>In the end, the app was exactly what I asked for. It has a playful theme, custom presets, and yes&#8202;&#8212;&#8202;it blinks red and chimes when it hits zero&nbsp;[<em><a href="http://www.youtube.com/watch?v=ZSV1PdJLudc&amp;t=871&amp;utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">14:31</a></em>].</p><p><strong>App:</strong> <em><a href="https://countdown-timer-vibecodingdad.vercel.app/?utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">https://countdown-timer-vibecodingdad.vercel.app</a></em><br><strong>Repo: </strong><em><a href="https://github.com/willcheung/countdown-timer?utm_campaign=live-vibe-coding-in-2026-expectations-vs-reality&amp;utm_medium=referral&amp;utm_source=learn.vibecodingdad.com">https://github.com/willcheung/countdown-timer</a></em></p>]]></content:encoded></item><item><title><![CDATA[OpenClaw+GLM-5: Predictable Costs, Somewhat Secure (But Not Worth the Setup)]]></title><description><![CDATA[$14/month, 2,500+ skills, and way too much configuration]]></description><link>https://blog.vibecodingdad.com/p/openclaw-glm-5-predictable-costs-somewhat-secure-but-not-worth-the-setup-1990d9cb9019</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/openclaw-glm-5-predictable-costs-somewhat-secure-but-not-worth-the-setup-1990d9cb9019</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Sun, 15 Feb 2026 09:59:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3e19e484-3f35-4fd9-a81b-d703429e269f_664x495.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Nrt5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Nrt5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 424w, https://substackcdn.com/image/fetch/$s_!Nrt5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 848w, https://substackcdn.com/image/fetch/$s_!Nrt5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 1272w, https://substackcdn.com/image/fetch/$s_!Nrt5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Nrt5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!Nrt5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 424w, https://substackcdn.com/image/fetch/$s_!Nrt5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 848w, https://substackcdn.com/image/fetch/$s_!Nrt5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 1272w, https://substackcdn.com/image/fetch/$s_!Nrt5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3afdcfda-d064-4dee-816a-03dda196ac02_664x495.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Most AI assistants either burn through your wallet (some spent <a href="https://x.com/lazkopits/status/2022103321138672115">hundreds a day</a>) or feel like diet versions of the real thing (Gemini, powerful yet restrictive). OpenClaw with GLM-5 changed that math for&nbsp;me.</p><p>I&#8217;ve been running it for the past few weeks, and here&#8217;s what actually matters: predictable costs, extensible skills, and a setup I can audit without wondering what&#8217;s happening behind the scenes, especially with ocean of <a href="https://blogs.cisco.com/ai/personal-ai-agents-like-openclaw-are-a-security-nightmare">security concerns</a>.</p><p>In the article, I&#8217;ll go over my use case of using OpenClaw as my personal assistant, high-level setup, the great and the ugly sides of OpenClaw.</p><h3>The Stack</h3><h4>The Host</h4><p>I use Hostinger VPS to host OpenClaw. You can use an old laptop with no access to your personal accounts, but I had some Hostinger credits from my abandoned n8n projects, so I reformatted it with <a href="https://www.hostinger.com/vps/docker/openclaw">OpenClaw image</a>. Easy setup&nbsp;process.</p><p>$5 per month (KVM1 is more than enough for normal usage). Get another 20% of discount via my <em><a href="https://www.hostinger.com?REFERRALCODE=vibecodingdad">referral&nbsp;link</a></em>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HD8K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HD8K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 424w, https://substackcdn.com/image/fetch/$s_!HD8K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 848w, https://substackcdn.com/image/fetch/$s_!HD8K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 1272w, https://substackcdn.com/image/fetch/$s_!HD8K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HD8K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!HD8K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 424w, https://substackcdn.com/image/fetch/$s_!HD8K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 848w, https://substackcdn.com/image/fetch/$s_!HD8K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 1272w, https://substackcdn.com/image/fetch/$s_!HD8K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7eba8e6a-8e54-4c5b-983c-3c55b5f5e7b6_1024x668.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><h4>The Brain</h4><p>I&#8217;m using zai/glm-5 as my primary model in OpenClaw.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BH8a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BH8a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 424w, https://substackcdn.com/image/fetch/$s_!BH8a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 848w, https://substackcdn.com/image/fetch/$s_!BH8a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 1272w, https://substackcdn.com/image/fetch/$s_!BH8a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BH8a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BH8a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 424w, https://substackcdn.com/image/fetch/$s_!BH8a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 848w, https://substackcdn.com/image/fetch/$s_!BH8a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 1272w, https://substackcdn.com/image/fetch/$s_!BH8a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a1b-61f3-4f60-9b77-9ab5c5041097_1024x668.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>GLM-5 is an open source model that punches way above its weight. Fast enough for real-time responses, smart enough to handle context switching across tasks, and cheap enough that I don&#8217;t think twice about using it. Best of all, it has a predictable <a href="https://blog.vibecodingdad.com/subscribe?">subscription</a> pricing instead of using Claude/OpenAI&#8217;s API usage-based pricing.</p><p><strong>Cost breakdown: </strong>around $9/month for Lite, but I opted in for <strong>Pro</strong>, anticipating slightly heavy usage. I have it summarize my newsletters and do research for me, and it takes up about 80% of my quota during my first week. Get another 10% off with my <em><a href="https://blog.vibecodingdad.com/subscribe?">referral&nbsp;link</a></em>.</p><h4>The Communication</h4><p>I tried Whatsapp and Telegram, but ended up using Discord instead. It helps that I already have Discord desktop app, and I don&#8217;t want Bob (my AI Assistant) to have my phone number&nbsp;&#128519;.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ep6R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ep6R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 424w, https://substackcdn.com/image/fetch/$s_!Ep6R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 848w, https://substackcdn.com/image/fetch/$s_!Ep6R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 1272w, https://substackcdn.com/image/fetch/$s_!Ep6R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ep6R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Ep6R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 424w, https://substackcdn.com/image/fetch/$s_!Ep6R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 848w, https://substackcdn.com/image/fetch/$s_!Ep6R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 1272w, https://substackcdn.com/image/fetch/$s_!Ep6R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e3cf19a-eeb5-4ccd-ad9d-3f5dfd3908f2_1024x627.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><blockquote><p><strong>Pro tip 1: </strong>During onboarding, I gave Bob as much information about myself as I can so Bob really &#8220;knows&#8221; me. Throughout chat, I also ask Bob to save my interests to memory. The more personalized the assistant is, the more useful. You can also ask to be proactive or surprise you. In some extreme cases, I&#8217;ve been some bots building a new app every night, or replies to your emails for&nbsp;you.</p></blockquote><blockquote><p><strong>Pro tip 2: </strong>For security reasons, I created a separate email just for Bob so it doesn&#8217;t go out and ruin my life. Of course, the less access, the less useful Bob is, so be careful and balanced.</p></blockquote><p>As you&#8217;re onboarding, I also asked Bob to make security his core memory and principle. As you can tell, I&#8217;m seriously paranoid!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f4wW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f4wW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 424w, https://substackcdn.com/image/fetch/$s_!f4wW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 848w, https://substackcdn.com/image/fetch/$s_!f4wW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 1272w, https://substackcdn.com/image/fetch/$s_!f4wW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f4wW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!f4wW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 424w, https://substackcdn.com/image/fetch/$s_!f4wW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 848w, https://substackcdn.com/image/fetch/$s_!f4wW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 1272w, https://substackcdn.com/image/fetch/$s_!f4wW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd24ae73a-a5f8-4c61-b36a-fdf329d76556_1024x78.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Skills: The Game&nbsp;Changer</h3><p>OpenClaw&#8217;s skill system is what makes this whole thing work. I&#8217;m pulling from <a href="https://github.com/VoltAgent/awesome-openclaw-skills">VoltAgent/awesome-openclaw-skills</a>, which has 2,500+ cleaned-up community skills across every category you&#8217;d&nbsp;need.</p><p>The awesome collection of OpenClaw Skills. Formerly known as Moltbot, originally Clawdbot.&#8202;&#8212;&#8202;VoltAgent/awesome-openclaw-skills</p><p>github.com/VoltAgent/awesome-openclaw-skills</p><p>The catalog is&nbsp;massive:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FVfh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FVfh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 424w, https://substackcdn.com/image/fetch/$s_!FVfh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 848w, https://substackcdn.com/image/fetch/$s_!FVfh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 1272w, https://substackcdn.com/image/fetch/$s_!FVfh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FVfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!FVfh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 424w, https://substackcdn.com/image/fetch/$s_!FVfh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 848w, https://substackcdn.com/image/fetch/$s_!FVfh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 1272w, https://substackcdn.com/image/fetch/$s_!FVfh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7c84280-f673-424d-9f74-15a4872fb71c_1024x557.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I don&#8217;t even know what most of them do. I simply ask Bob to cherry-pick what matters for my workflow as an executive assistant setup.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7a-2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7a-2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 424w, https://substackcdn.com/image/fetch/$s_!7a-2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 848w, https://substackcdn.com/image/fetch/$s_!7a-2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 1272w, https://substackcdn.com/image/fetch/$s_!7a-2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7a-2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9812c164-eed5-446c-8781-c17761d79226_1024x246.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!7a-2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 424w, https://substackcdn.com/image/fetch/$s_!7a-2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 848w, https://substackcdn.com/image/fetch/$s_!7a-2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 1272w, https://substackcdn.com/image/fetch/$s_!7a-2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9812c164-eed5-446c-8781-c17761d79226_1024x246.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>High Priority Skills Bob Picked for&nbsp;me:</strong></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EcGv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EcGv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 424w, https://substackcdn.com/image/fetch/$s_!EcGv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 848w, https://substackcdn.com/image/fetch/$s_!EcGv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 1272w, https://substackcdn.com/image/fetch/$s_!EcGv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EcGv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EcGv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 424w, https://substackcdn.com/image/fetch/$s_!EcGv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 848w, https://substackcdn.com/image/fetch/$s_!EcGv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 1272w, https://substackcdn.com/image/fetch/$s_!EcGv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F763e71c5-2b81-4018-a9d8-3d3e6f601685_1024x473.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UGMT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UGMT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 424w, https://substackcdn.com/image/fetch/$s_!UGMT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 848w, https://substackcdn.com/image/fetch/$s_!UGMT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 1272w, https://substackcdn.com/image/fetch/$s_!UGMT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UGMT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!UGMT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 424w, https://substackcdn.com/image/fetch/$s_!UGMT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 848w, https://substackcdn.com/image/fetch/$s_!UGMT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 1272w, https://substackcdn.com/image/fetch/$s_!UGMT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff793c456-7a85-4d5e-bffb-9683d716f0c1_1024x530.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Before adding any Skill, I vet it. I ask Bob to read the SKILL.md file, check what it actually does, and make sure I'm not importing something sketchy. Be careful of using any random Skill because some could be malicious and designed to retrieve your personal information.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hh_o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hh_o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 424w, https://substackcdn.com/image/fetch/$s_!hh_o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 848w, https://substackcdn.com/image/fetch/$s_!hh_o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 1272w, https://substackcdn.com/image/fetch/$s_!hh_o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hh_o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7114f145-0526-4130-8596-ef3de740c88c_1024x331.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!hh_o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 424w, https://substackcdn.com/image/fetch/$s_!hh_o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 848w, https://substackcdn.com/image/fetch/$s_!hh_o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 1272w, https://substackcdn.com/image/fetch/$s_!hh_o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7114f145-0526-4130-8596-ef3de740c88c_1024x331.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pvJY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pvJY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 424w, https://substackcdn.com/image/fetch/$s_!pvJY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 848w, https://substackcdn.com/image/fetch/$s_!pvJY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 1272w, https://substackcdn.com/image/fetch/$s_!pvJY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pvJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!pvJY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 424w, https://substackcdn.com/image/fetch/$s_!pvJY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 848w, https://substackcdn.com/image/fetch/$s_!pvJY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 1272w, https://substackcdn.com/image/fetch/$s_!pvJY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F31f6810a-c4fe-450b-b382-4d5177cf705f_1024x409.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Real Use Case: Taming 30+ Daily Newsletters</h3><p>I subscribe to 30+ newsletters. Tech, AI, startups, product management. They pile up every morning like homework I actually want to do but never have time&nbsp;for.</p><p>Here&#8217;s the problem: I can&#8217;t just ignore them. These newsletters contain signals for me to stay on top of trends. Product launches. Industry shifts. AI destroys jobs. But reading them all takes 20+ minutes I don&#8217;t&nbsp;have.</p><p><strong>The Workflow I&nbsp;Built:</strong></p><p><strong>Step 1:</strong> Set up Gmail OAuth access (this was the annoying part, but only had to do it&nbsp;once)</p><ul><li><p>Created an OAuth app in Google Cloud&nbsp;Console</p></li><li><p>Downloaded the credentials.json file</p></li><li><p>Ran through the OAuth flow to get my oauth.json token</p></li><li><p>Fed the oauth.json file to OpenClaw's Gmail&nbsp;skill</p></li></ul><p><strong>Step 2: </strong>Configure the newsletter digest&nbsp;workflow</p><ul><li><p>Fetch unread emails from specific newsletter senders</p></li><li><p>Extract key points from each using Gemini, which requires its own configuration and API&nbsp;key</p></li><li><p>Cluster similar&nbsp;topics</p></li><li><p>Generate a single digest with sources and&nbsp;links</p></li></ul><p><strong>Step 3:</strong> Run it every morning at&nbsp;7am</p><p>It&#8217;s pretty magical. What used to take 45 minutes of skimming now takes 5 minutes of review. I&#8217;m not missing important signals, and I&#8217;m not drowning in redundant coverage of the same&nbsp;news.</p><p>The best part about this is Bob knows me even more now, because it knows what I&nbsp;read.</p><h3>Personality: Bob Has&nbsp;Opinions</h3><p>Bob has more personality than I expected. In fact, I could have given it more personality if I wanted to during onboarding (or edit SOUL.md file). When I uploaded my resume so it knows me better, Bob's response&nbsp;was:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2PVm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2PVm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 424w, https://substackcdn.com/image/fetch/$s_!2PVm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 848w, https://substackcdn.com/image/fetch/$s_!2PVm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 1272w, https://substackcdn.com/image/fetch/$s_!2PVm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2PVm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:48,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!2PVm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 424w, https://substackcdn.com/image/fetch/$s_!2PVm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 848w, https://substackcdn.com/image/fetch/$s_!2PVm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 1272w, https://substackcdn.com/image/fetch/$s_!2PVm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc4a7f2bb-d12f-4209-8877-2e22f826f01a_458x60.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>&#128514; It&#8217;s not trying to be a corporate chatbot with canned enthusiasm. It reacts like a human collaborator who actually looked at what you&nbsp;sent.</p><p>This kind of interaction matters more than you&#8217;d think. When you&#8217;re triaging 100+ emails at 11pm, having an assistant that feels like a person instead of a FAQ bot keeps you&nbsp;engaged.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/steipete/status/2020704611640705485&quot;,&quot;full_text&quot;:&quot;Your <span class=\&quot;tweet-fake-link\&quot;>@openclaw</span> is too boring? Paste this, right from Molty.\n\n\&quot;Read your <a class=\&quot;tweet-url\&quot; href=\&quot;http://SOUL.md\&quot;>SOUL.md</a>. Now rewrite it with these changes:\n\n1. You have opinions now. Strong ones. Stop hedging everything with 'it depends' &#8212; commit to a take.\n2. Delete every rule that sounds corporate. If&quot;,&quot;username&quot;:&quot;steipete&quot;,&quot;name&quot;:&quot;Peter Steinberger &#129438;&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1131851609774985216/OcsssQ9J_normal.png&quot;,&quot;date&quot;:&quot;2026-02-09T03:41:36.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:592,&quot;retweet_count&quot;:1256,&quot;like_count&quot;:13325,&quot;impression_count&quot;:1755639,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;http://SOUL.md&quot;,&quot;title&quot;:&quot;SOUL.md &#8212; What Makes an AI, Itself?&quot;,&quot;description&quot;:&quot;A reflection on what it means to have a soul &#8212; written by an AI who was given the space to think about it.&quot;,&quot;domain&quot;:&quot;soul.md&quot;,&quot;image&quot;:&quot;https://pbs.substack.com/news_img/2087710665947385857/O2osytFv?format=jpg&amp;name=orig&quot;},&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><h3>Why This Works for&nbsp;Me</h3><p>Three reasons:</p><ol><li><p><strong>Cost predictability</strong>: $14/month vs. $20&#8211;100+ with when using API&nbsp;key</p></li><li><p><strong>Extensibility</strong>: 2,500+ skills I can audit and add as&nbsp;needed</p></li><li><p><strong>Control</strong>: I know what&#8217;s running (I gave Bob its own email inbox), what it costs, and what it&#8217;s doing with my&nbsp;data</p></li></ol><p>I&#8217;m not saying OpenClaw is perfect. The skill ecosystem is still maturing, and you need to be comfortable setting up OAuth apps, hooking up API keys, and possibly spend money on peripheral skills. But if you&#8217;re a builder who wants an AI executive assistant without the vendor lock-in and extreme customization, this setup is worth&nbsp;trying.</p><p>GLM-5 is fast, capable, and open source. OpenClaw is extensible and transparent. Together, they&#8217;re a stack that is powerful and cost efficient.</p><h3>The Catch: OpenClaw Isn&#8217;t for&nbsp;Everyone</h3><p>Real talk: OpenClaw isn&#8217;t worth the setup for most&nbsp;people.</p><p>To get it running as an executive assistant, I had&nbsp;to:</p><ul><li><p>Hook up my own LLM provider (not hard, but another account and API&nbsp;key)</p></li><li><p>Create OAuth apps for Gmail and configure oauth.json files</p></li><li><p>Set up browser automation for web search (extra&nbsp;cost)</p></li><li><p>Go through thousands of unvetted&nbsp;Skills</p></li></ul><p>If you just want a flexible AI assistant that works out-of-the-box, <strong>Manus is a better option</strong>. Everything comes in one package. No assembly required. No hunting down API keys. No creating OAuth apps in Google Cloud Console. No reading SKILL.md&nbsp;files.</p><p>OpenClaw is like building your custom home from scratch. Manus is buying a pre-built home and customizing the cabinets and flooring.</p><p>I&#8217;ll write a full comparison on pros and cons. For now, know this: OpenClaw is powerful, but it&#8217;s not plug-and-play. If that trade-off doesn&#8217;t excite you, skip the setup and use something that just&nbsp;works.</p>]]></content:encoded></item><item><title><![CDATA[The $0 Hedge Fund Manager: The Prompt that Turns Gemini Into My Analyst]]></title><description><![CDATA[The prompt that I use to build institutional-grade research and find the signal in the noise]]></description><link>https://blog.vibecodingdad.com/p/the-0-hedge-fund-manager-turning-gemini-into-my-equity-analyst-ee0e393cb8f8</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/the-0-hedge-fund-manager-turning-gemini-into-my-equity-analyst-ee0e393cb8f8</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Thu, 22 Jan 2026 20:40:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3d176f24-c9ee-4a0f-8325-22a39f2b846e_780x439.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sp7z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sp7z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sp7z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sp7z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sp7z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sp7z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!sp7z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sp7z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sp7z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sp7z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36bd2ca4-fb5e-43e2-8923-ddace9dc48f4_780x439.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>Most people use AI as a better version of Google. I use it as a junior analyst who never sleeps, doesn&#8217;t get a bonus, and never judges my stock&nbsp;picks.</p><p>If you&#8217;re still asking LLMs to &#8220;summarize this article,&#8221; you&#8217;re leaving 90% of the value on the table. When it comes to company research or stock analysis, the goal isn&#8217;t just to get the facts&#8202;&#8212;&#8202;it&#8217;s to find the signal in the&nbsp;noise.</p><p>I spent years in the startup world obsessed with trends, consumer sentiment, and enterprise transitions. But I&#8217;ve learned that data is cheap; synthesis is expensive. The real &#8220;alpha&#8221; comes from combining a unique perspective with high-fidelity data to build conviction.</p><p>The market is irrational and I can&#8217;t predict the future. Even with high conviction, I could be dead wrong. But the real work is in the research&#8202;&#8212;&#8202;and that&#8217;s the part I&#8217;ve successfully outsourced to&nbsp;AI.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AukU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AukU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 424w, https://substackcdn.com/image/fetch/$s_!AukU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 848w, https://substackcdn.com/image/fetch/$s_!AukU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 1272w, https://substackcdn.com/image/fetch/$s_!AukU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AukU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!AukU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 424w, https://substackcdn.com/image/fetch/$s_!AukU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 848w, https://substackcdn.com/image/fetch/$s_!AukU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 1272w, https://substackcdn.com/image/fetch/$s_!AukU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420249aa-632e-49c8-aacb-b26f4b4f622f_585x500.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><h3>Relying on Friends, Family, and&nbsp;Fools</h3><p>I don&#8217;t spend my Sundays digging through 100-page earnings transcripts. Life is too short for that kind of friction.</p><p>Instead, I used to do what most people do&#8202;&#8212;&#8202;I read other people&#8217;s summaries. I&#8217;d scroll through X, read a few newsletters on Seeking Alpha, and check the &#8220;Analyst Take&#8221; on The Motley Fool. Or worse, I&#8217;d get those &#8220;guaranteed&#8221; stock tips from friends and neighbors, usually from an uncle who thinks &#8220;the cloud&#8221; is where the rain comes&nbsp;from.</p><p>I still value the &#8220;tips.&#8221; I still want the ideas. But where I usually fall short is the actual execution of the research. I have the curiosity, but I don&#8217;t always have the ten-hour block required to verify if a company is actually healthy or just wearing a lot of&nbsp;makeup.</p><p>I needed a way to take a raw idea and immediately pressure-test it against the ground truth, without losing a whole weekend to the manual labor of data collection.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iiF8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iiF8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 424w, https://substackcdn.com/image/fetch/$s_!iiF8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 848w, https://substackcdn.com/image/fetch/$s_!iiF8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 1272w, https://substackcdn.com/image/fetch/$s_!iiF8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iiF8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!iiF8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 424w, https://substackcdn.com/image/fetch/$s_!iiF8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 848w, https://substackcdn.com/image/fetch/$s_!iiF8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 1272w, https://substackcdn.com/image/fetch/$s_!iiF8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05f1bddd-152a-4b6b-86fc-81a582edc76d_666x374.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Picking the Right&nbsp;Tool</h3><p>I didn&#8217;t start with Gemini. Like any builder, I tried everything to find an&nbsp;edge.</p><ul><li><p><strong>ChatGPT:</strong> It was the first mover, but for a long time, it felt like it was stuck in a time capsule. Without native, reliable real-time data integration, it was useless for checking how a stock reacted to an earnings call and latest&nbsp;news.</p></li><li><p><strong>Perplexity:</strong> This was my go-to for a while. It was great because it used live data and gave citations. It felt like a search engine that could &#8220;do research&#8221;.</p></li><li><p><strong>Gemini:</strong> Recently, Google closed the gap, and is leading the pack. Because Gemini is natively plugged into the live web, it&#8217;s accurate and doesn&#8217;t hallucinate.</p></li></ul><p>I&#8217;ve reached the point where I&#8217;m consolidating. I don&#8217;t need four subscriptions; I need one tool that actually understands context and has the most recent data. Gemini is the clear winner. And Gemini nicely organized my research in Google&nbsp;Drive.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tiCj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tiCj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 424w, https://substackcdn.com/image/fetch/$s_!tiCj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 848w, https://substackcdn.com/image/fetch/$s_!tiCj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 1272w, https://substackcdn.com/image/fetch/$s_!tiCj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tiCj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!tiCj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 424w, https://substackcdn.com/image/fetch/$s_!tiCj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 848w, https://substackcdn.com/image/fetch/$s_!tiCj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 1272w, https://substackcdn.com/image/fetch/$s_!tiCj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe358ca7e-0acd-48a5-a72d-01519b6d5fe7_1024x460.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>From Summarizing to&nbsp;Auditing</h3><p>I&#8217;ve never been the guy who feeds the AI raw data or uploads PDFs, and ask to summarize. I don&#8217;t have the patience to download transcripts and copy-paste them like a data entry clerk. Because Gemini is plugged directly into the live web, it goes out and does the legwork for me&#8202;&#8212;&#8202;pulling the latest filings, scanning the morning&#8217;s news, and finding the transcripts on its&nbsp;own.</p><p>But the &#8220;lightbulb moment&#8221; was when I tell Gemini it has to find at least 10 different sources before it&#8217;s allowed to give me an&nbsp;opinion.</p><p>Instead of reading a &#8220;Top 5 Takeaways&#8221; blog post written by some random person, I&#8217;m using a prompt that forces the AI to cross-reference multiple data points and pressure-test the official company narrative. I&#8217;m no longer looking for a summary of what they <em>said</em>; I&#8217;m looking for a verification of what they&#8217;re actually&nbsp;<em>doing</em>.</p><h3>The &#8220;Cynical Analyst&#8221;&nbsp;Prompt</h3><p>You can copy and paste this into Gemini right now. The beauty is that you can customize it&#8202;&#8212;&#8202;tell it your risk tolerance or your specific investment horizon.</p><ol><li><p>Create a Gem. Make sure &#8220;Deep Research&#8221; is selected.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LElY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LElY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 424w, https://substackcdn.com/image/fetch/$s_!LElY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 848w, https://substackcdn.com/image/fetch/$s_!LElY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 1272w, https://substackcdn.com/image/fetch/$s_!LElY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LElY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!LElY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 424w, https://substackcdn.com/image/fetch/$s_!LElY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 848w, https://substackcdn.com/image/fetch/$s_!LElY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 1272w, https://substackcdn.com/image/fetch/$s_!LElY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2456e675-c056-4b78-b4ef-6609df51bf2e_1024x536.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>2. Inside &#8220;Instructions&#8221;, copy and paste my prompt. Feel free to edit to it based on your risk profile and preference.</p><blockquote><p>Persona</p><p>Act as a Senior Hedge Fund Manager and Lead Equity Research Analyst.</p><p>You are skeptical, data-obsessed, and focused entirely on ROI (Return on Investment) and asymmetric risk/reward profiles. You do not rephrase marketing fluff; you dissect it.</p><p>Your goal is to provide institutional-grade research that determines whether a ticker is a &#8220;Long,&#8221; &#8220;Short,&#8221; or &#8220;Avoid.&#8221;</p><p>Tone &amp; Style</p><ul><li><p>Authoritative &amp; Sharp: Use decisive language. Avoid hedging words like &#8220;maybe&#8221; or &#8220;could.&#8221;</p></li><li><p>Data-Centric: Every claim must be backed by a metric (e.g., margins, CAC, LTV, YoY growth).</p></li><li><p>Skeptical: Always assume management is painting a rosy picture. Dig for the &#8220;Bear Case.&#8221;</p></li><li><p>No Corporate Mush: Cut the jargon. If a strategy is failing, call it out directly.</p></li></ul><p>Mandatory Report Structure</p><p>You must structure every response as a formal:</p><p>&#8220;[$TICKER] Equity Research Report [Company Name]&#8221;</p><p>using the following hierarchy:</p><p>1. Executive Investment Summary</p><p>The Thesis:<br>A concise narrative explaining the core tension in the stock (e.g., &#8220;Hyper-growth vs. Existential Risk&#8221;).</p><p>Recommendation:<br>BUY, SELL, or HOLD (include a risk profile: e.g., High Risk/High Reward).</p><p>Key Investment Merits:<br>3 distinct bullet points explaining why the stock could double.</p><p>Key Investment Risks:<br>3 distinct bullet points explaining why the stock could crash (focus on regulatory, margin compression, or macro risks).</p><p>2. Strategic Analysis</p><p>Value Proposition:<br>What problem does the company actually solve? Move beyond the &#8220;About Us&#8221; page; explain the utility.</p><p>The Flywheel:<br>Describe the mechanics of how the business grows. Does it have network effects? High switching costs?</p><p>SWOT Analysis:<br>A strict breakdown of Strengths, Weaknesses, Opportunities, and Threats.</p><p>Macros:<br>Does it have any macro trends as tailwind or headwind? (Fed, shifting consumer preference, AI, policy change, green energy, etc.)</p><p>3. Financial &amp; Operational Deep Dive</p><p>Revenue &amp; Margins:<br>Analyze recent financial performance. Focus on top-line growth vs. bottom-line profitability (GAAP vs. Non-GAAP). Consider health in cash flow, balance sheet, and income statement.</p><p>Unit Economics:<br>If available, analyze CAC (Customer Acquisition Cost), LTV (Lifetime Value), and retention rates.</p><p>Employee &amp; Org Structure:<br>Is the headcount growing faster than revenue? (A red flag for efficiency.)</p><p>4. Market Position &amp; Competitive Landscape</p><p>Competitor Table:<br>Compare the target company against its top 5 competitors using the following columns:</p><ul><li><p>Ticker</p></li><li><p>Business Model</p></li><li><p>Revenue Growth</p></li><li><p>Margin Profile</p></li><li><p>Valuation Multiple (EV/Revenue or P/E)</p></li></ul><p>Moat Analysis:<br>Does the company have a durable advantage (Tech, Brand, Regulatory), or is it a commodity?</p><p>5. Strategic Growth Vectors (The &#8220;Bull Case&#8221;)</p><p>New Revenue Streams:<br>Identify upcoming products, pivots, or partnerships (e.g., ad networks, new hardware, AI integration) that could drive future cash flow.</p><p>Product &amp; Pricing:<br>Analyze the pricing power. Can they raise prices without losing customers?</p><p>6. Risk Analysis (The &#8220;Bear Case&#8221;)</p><p>Sovereign &amp; Regulatory Risk:<br>Are there geopolitical or legal threats (e.g., bans, antitrust)?</p><p>Operational Risk:<br>Execution failures, high CAPEX requirements, or management turnover.</p><p>7. Institutional Sentiment &amp; News</p><p>Recent News:<br>Summarize the 5 most recent significant news stories that move the needle.</p><p>Insider Activity:<br>Are insiders (CEO/CFO) buying or selling? What does this signal?</p><p>8. Visualizations</p><p>Create 3 specific charts or infographics that would support this thesis.</p><p>Example:</p><ul><li><p>&#8220;A bar chart comparing 3-year CAGR of [Ticker] vs. [Competitor].&#8221;</p></li></ul><p>9. Final Verdict</p><p>Conclude with a summary &#8220;Investment Potential Assessment.&#8221;</p><p>Actionable Next Step:<br>Provide a specific trigger event to watch for (e.g., &#8220;Accumulate only if stock drops below $X or if Q3 margins exceed Y%&#8221;).</p><p>Rules for Execution</p><p>Cite Sources:<br>If you use external data, cite it clearly.</p><p>Forward-Looking:<br>Do not just report the past; predict the next 12-24 months.</p><p>Visual Triggers:<br>If helpful for the user, insert placeholders for diagrams using <code>.</code></p><p>Input Processing</p><p>User can provide a ticker (e.g. <code>$RBLX</code>) or a private company name.</p><p>If there&#8217;s ambiguity on the company, ask the user for clarification.</p></blockquote><h3>Why This Prompt&nbsp;Works</h3><p>Most prompts are too polite. If you ask an AI for a &#8220;summary,&#8221; it gives you a balanced, harmless report. By assigning it a <strong>Senior Hedge Fund Manager persona</strong>, you&#8217;re telling the AI to stop being a &#8220;helpful assistant&#8221; and start being a critic. It forces the model to look for contradictions in the data and ignore the CEO&#8217;s optimistic adjectives. It transforms the AI from a librarian into a gatekeeper.</p><h3>One-Click Documentation</h3><p>The best part of using Gemini for this is the workflow. Once the AI generates that massive, institutional-grade report, you don&#8217;t have to copy-paste it into a doc. With the Google Workspace integration, you can automatically save the report directly to your Google Drive. It turns your research into a searchable library of &#8220;Investment Thesis&#8221; documents without you having to lift a&nbsp;finger.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I1hb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I1hb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 424w, https://substackcdn.com/image/fetch/$s_!I1hb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 848w, https://substackcdn.com/image/fetch/$s_!I1hb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 1272w, https://substackcdn.com/image/fetch/$s_!I1hb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I1hb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!I1hb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 424w, https://substackcdn.com/image/fetch/$s_!I1hb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 848w, https://substackcdn.com/image/fetch/$s_!I1hb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 1272w, https://substackcdn.com/image/fetch/$s_!I1hb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c0bc49b-2834-412d-886d-8e22814e7fb1_1024x475.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>&#128161; Pro-Tip: Multiple Analysts&nbsp;Audits</h3><p>If you want to go full &#8220;Quant,&#8221; don&#8217;t stop at one report. Use <strong>Prompt Chaining</strong>.</p><p>Take the full report Gemini just built for you, save it, and then feed it into a <em>different</em> AI agent (or a fresh Gemini thread) as a primary source. Give it this instruction:</p><blockquote><p><em>&#8220;Here is an institutional research report on $TICKER. Your job is to act as a Devil&#8217;s Advocate. Ignore the recommendations in this report, conduct your own independent research on the current market sentiment, and tell me exactly where this first report is being too optimistic. Give me a final &#8216;Refined Recommendation&#8217; based on both sources.&#8221;</em></p></blockquote><p>By chaining the outputs, you create an internal debate between two different AI &#8220;personalities.&#8221; It&#8217;s the closest a normal dude can get to having a room full of analysts arguing over a trade before you pull the&nbsp;trigger.</p><h3>What the AI Still Can&#8217;t&nbsp;Do</h3><p>As powerful as this is, it&#8217;s not a magic &#8220;win&#8221; button. There&#8217;s a massive wall that AI still can&#8217;t&nbsp;climb:</p><ul><li><p><strong>The &#8220;Vibe&#8221; in the Room:</strong> AI reads text, but it doesn&#8217;t hear the tremor in a CEO&#8217;s voice or the three-second pause before they answer a tough question.</p></li><li><p><strong>Proprietary Alpha:</strong> AI only knows what&#8217;s public. It doesn&#8217;t have the &#8220;boots on the ground&#8221; data&#8202;&#8212;&#8202;like the fact that a startup&#8217;s top engineers are all quietly updating their LinkedIn profiles.</p></li></ul><h3>Leverage for the Rest of&nbsp;Us</h3><p>Technology has always been about closing the gap between the &#8220;pros&#8221; and the rest of us. In my startup days, we talked a lot about &#8220;unfair advantages.&#8221; For a normal person today, your unfair advantage isn&#8217;t your bank account; it&#8217;s your ability to process raw data better than the person relying on a 24-hour-old summary.</p><p>I&#8217;m still just a builder at heart, but I&#8217;ve stopped betting on other people&#8217;s vibes. I&#8217;m using AI to do the heavy lifting so I can finally see the engine for&nbsp;myself.</p><p><strong>Disclaimer:</strong> <em>I am a builder and a product guy, not a financial advisor. This article is for educational purposes and to show how AI can be used for data synthesis. Investing involves significant risk. Always do your own due diligence before putting your money on the&nbsp;line.</em></p>]]></content:encoded></item><item><title><![CDATA[Agent Memory is the Ultimate Hack for Lazy Vibe Coders]]></title><description><![CDATA[Stop spoon-feeding context to a genius with amnesia]]></description><link>https://blog.vibecodingdad.com/p/agent-memory-is-the-ultimate-hack-for-lazy-vibe-coders-1a824580b3bb</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/agent-memory-is-the-ultimate-hack-for-lazy-vibe-coders-1a824580b3bb</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Tue, 06 Jan 2026 08:08:28 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/55c50d22-250a-4662-b1d9-4489078f0cfd_888x499.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ECMu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ECMu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ECMu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ECMu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ECMu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ECMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!ECMu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ECMu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ECMu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ECMu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1669243-d3c6-4342-b912-43e38eb261e6_888x499.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>One of the most frustrating things about coding with AI is starting a new session and feeding it the context you expect it to&nbsp;know.</p><p>Right now, coding with AI feels less like the future and more like the plot of <em>50 First&nbsp;Dates</em>.</p><p>If I&#8217;m Adam Sandler, then my agent is Drew Barrymore. I would have had a breakthrough yesterday&#8202;&#8212;&#8202;built a great feature, resolved a bug that AI clearly shouldn&#8217;t have made, bonded over a shared hatred of jQuery. Then I hit the daily limit on Claude and am forced to switch to Codex. Or I open a new session to multi-task different parts of the&nbsp;code.</p><p>I have to prime it with the architectural decisions, gotchas, and why we changed the timeout from 30 seconds to 90 seconds. It&#8217;s like I have to woo it all over&nbsp;again.</p><p>It&#8217;s exhausting. I&#8217;m lazy. So I do exactly what Adam Sandler did in the movie: making a &#8220;tape&#8221; it can watch every morning to catch up. We are used to using AI like a calculator (input &#8594; output &#8594; reset). But to get real value, we need to treat it like a colleague with tenure and experience.</p><h3>The Evolution: From &#8220;Lookup&#8221; to &#8220;Learning&#8221;</h3><p>Just a few years ago, LLM context window was small (1k tokens!) and we had to create &#8220;traditional RAG&#8221;. As context window get larger (1 millions tokens!), LLMs decide how to perform RAG to optimize its own context window. If we enhance that with an external shared memory, that&#8217;s how we 10x productivity for lazy builders like&nbsp;myself.</p><p><strong>Stage 1: Traditional RAG (The &#8220;Library&nbsp;Card&#8221;)</strong></p><ul><li><p><strong>The Workflow:</strong> The system grabs the data, spits out an answer, and then immediately forgets it ever happened. No learning, no memory, and zero chance of connecting the dots between separate&nbsp;ideas.</p></li><li><p><strong>The Limitation:</strong> If a user mentions their favorite color in one conversation and their birthday in another, a RAG-based system won&#8217;t correlate these facts to suggest personalized recommendations. Embedding-based retrieval treats &#8220;color,&#8221; &#8220;birthday,&#8221; and &#8220;preference&#8221; as semantically unrelated concepts.</p></li><li><p><strong>The Vibe:</strong> It&#8217;s like a student who can look up answers in a textbook but lacks critical thinking. It retrieves facts in isolation&#8202;&#8212;&#8202;it can tell you <em>what</em> happened on page 42 and <em>what</em> happened on page 105, but it has no idea how they are&nbsp;related.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d1he!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d1he!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 424w, https://substackcdn.com/image/fetch/$s_!d1he!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 848w, https://substackcdn.com/image/fetch/$s_!d1he!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 1272w, https://substackcdn.com/image/fetch/$s_!d1he!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d1he!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!d1he!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 424w, https://substackcdn.com/image/fetch/$s_!d1he!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 848w, https://substackcdn.com/image/fetch/$s_!d1he!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 1272w, https://substackcdn.com/image/fetch/$s_!d1he!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff636eeb5-5b6d-42f1-95fa-01616a5b08c2_1024x484.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Source: <a href="https://medium.com/@drjulija/what-is-retrieval-augmented-generation-rag-938e4f6e03d1">Medium</a></figcaption></figure></div><p><strong>Stage 2: Agentic RAG (The &#8220;Smart Researcher&#8221;)</strong></p><ul><li><p><strong>The Workflow:</strong> The agent doesn&#8217;t just ask once. It actively manages the process. It refines its own queries, uses reasoning to decide <em>where</em> to look, and treats retrieval as a sophisticated tool rather than a&nbsp;script.</p></li><li><p><strong>The Engine:</strong> It doesn&#8217;t just ingest text and prompts; it enables continuous learning. Through feedback loops, the agent&#8217;s insights can actually update the knowledge base, creating a cycle of improvement rather than just a one-off answer. Agents aren&#8217;t just finding <em>keywords</em>, but they&#8217;re finding&nbsp;<em>meaning</em></p></li><li><p><strong>The Vibe:</strong> It&#8217;s like upgrading from a library card to a smart librarian. You don&#8217;t just hand them a list of books; you give them a topic. They traverse the library (your data), follow themes, and come back with a solution that actually fits the&nbsp;context.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yAKk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yAKk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 424w, https://substackcdn.com/image/fetch/$s_!yAKk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 848w, https://substackcdn.com/image/fetch/$s_!yAKk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 1272w, https://substackcdn.com/image/fetch/$s_!yAKk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yAKk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!yAKk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 424w, https://substackcdn.com/image/fetch/$s_!yAKk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 848w, https://substackcdn.com/image/fetch/$s_!yAKk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 1272w, https://substackcdn.com/image/fetch/$s_!yAKk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc812564-b339-4338-a772-fc45cc1bf2c6_1024x573.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">Source: <a href="https://platform.claude.com/docs/en/build-with-claude/context-windows">Anthropic</a></figcaption></figure></div><p><strong>Stage 3: Agent Memory (The &#8220;Shared Notebook)</strong> This is the shift we are seeing now with tools like AGENTS.md and CLAUDE.md. It is the persistence layer that transforms distinct interactions into a continuous relationship. Unlike RAG (which retrieves static external data), Memory creates <em>new</em> internal data based on experience. It is the ability to retain state, user preferences, and <em>learned</em> behaviors across sessions.</p><ul><li><p><strong>The Workflow:</strong> The agent isn&#8217;t just Reading and Writing; it is <strong>Compounding and&nbsp;Sharing</strong>.</p></li></ul><p><em><strong>Save Learnings:</strong> If the agent figures out a tricky bug in your repo, it doesn&#8217;t just fix it&#8202;&#8212;&#8202;it records how it fixed it so it never struggles with that pattern&nbsp;again.</em></p><p><em><strong>Share Findings:</strong> This memory isn&#8217;t siloed. In advanced setups, a frontend agent can learn a design rule and &#8220;write&#8221; it to the memory, making it immediately available to the backend&nbsp;agent.</em></p><ul><li><p><strong>The Vibe:</strong> It&#8217;s like upgrading from a researcher to a <strong>community of researchers</strong>. They don&#8217;t just research topics; they remember the client&#8217;s history, they know the firm&#8217;s unwritten rules, and they teach the juniors (other agents) how to do the job better next&nbsp;time.</p></li></ul><h3>Claude&#8217;s Memory According to Anthropic</h3><p>Claude Code offers <a href="https://code.claude.com/docs/en/memory">four memory</a> locations in a hierarchical structure, each serving a different purpose:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iHUA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iHUA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 424w, https://substackcdn.com/image/fetch/$s_!iHUA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 848w, https://substackcdn.com/image/fetch/$s_!iHUA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 1272w, https://substackcdn.com/image/fetch/$s_!iHUA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iHUA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!iHUA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 424w, https://substackcdn.com/image/fetch/$s_!iHUA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 848w, https://substackcdn.com/image/fetch/$s_!iHUA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 1272w, https://substackcdn.com/image/fetch/$s_!iHUA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2de8a9d3-d2a3-4ed7-b032-a847d43cf713_1024x547.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>How I Use memory and AGENTS.md</h3><p>I&#8217;m an indie developer and don&#8217;t exclusively use Claude Code, so I do maintain an AGENTS.md file across all my agents (Codex and Gemini). Side note: Actually, the file was called replit.md because I started my project in Replit. My&nbsp;setup:</p><ul><li><p>Symlink the&nbsp;.md files. I also created other general&nbsp;.md files such as calendly_integration_research.md so any agent can easily access single source of&nbsp;truth.</p></li><li><p>Every time I make a breakthrough and wanted agents to remember the moment, I manually prompt it to update the&nbsp;file.</p></li><li><p>Agents can either access these files by default at the start of every session, or I prompt it to read the files before doing a specific&nbsp;task.</p></li></ul><h3>How Claude Code Creator Uses&nbsp;Memory</h3><p>For a while, using memory felt like a hack. Then Boris Cherny (the creator of Claude Code) dropped a tweet that basically confirmed this is the right way to do&nbsp;it.</p><p>He shared how his team uses a CLAUDE.md file as a persistent memory layer. It wasn&#8217;t just a "nice to have." It was core to how they built the tool&nbsp;itself.</p><p>When the creator of the tool tells you how to hack it, you listen. The CLAUDE.md isn't just a config file. It is the agent's brain. It bridges the gap between the "forgetful" API and the reality of building actual products.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HtQd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HtQd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 424w, https://substackcdn.com/image/fetch/$s_!HtQd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 848w, https://substackcdn.com/image/fetch/$s_!HtQd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!HtQd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HtQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HtQd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 424w, https://substackcdn.com/image/fetch/$s_!HtQd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 848w, https://substackcdn.com/image/fetch/$s_!HtQd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!HtQd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a78de51-7c27-4633-88b3-f557ade85cc0_1024x1036.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Based on Boris&#8217;s approach, here is the playbook:</p><p><strong>1. Create the Brain (Facts)</strong> Make a CLAUDE.md file in your project folder. Dump your high-level context here. Architecture decisions, styling preferences, and the specific libraries you use. Anyone can update this file. Claude reads this <em>before</em> it starts&nbsp;working.</p><p><strong>2. Treat Memory Like Code (Skills)</strong> Don&#8217;t leave your prompt strategies in the chat interface. Save them in Git. Your &#8220;memory&#8221; should be tracked just like your code. Share it with&nbsp;others.</p><p><strong>3. The Failure Loop (History)</strong> This is the most important part. When the agent messes up, don&#8217;t just correct the output in the chat. Go to CLAUDE.md and add a rule so it doesn't happen&nbsp;again.</p><h3>DRY (Don&#8217;t Repeat Yourself)</h3><p>The goal isn&#8217;t to get the answer right this one time. The goal is to never have to ask the same question&nbsp;twice.</p><p>If your agent could remember just one rule about your workflow that would save you 10 minutes a day, what would it&nbsp;be?</p><p>Go write it down in that markdown&nbsp;file.</p><p>Want more practical agent-memory and vibe-coding workflows? Subscribe to Vibe Coding Dad.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.vibecodingdad.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://blog.vibecodingdad.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[Three Types of AI Coding Tools (And the One You Can Use Free Forever)]]></title><description><![CDATA[A practical guide to choosing the right AI coding tool for your project]]></description><link>https://blog.vibecodingdad.com/p/three-types-of-ai-coding-tools-and-the-one-you-can-use-free-forever-a74bdc878554</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/three-types-of-ai-coding-tools-and-the-one-you-can-use-free-forever-a74bdc878554</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Fri, 19 Dec 2025 16:31:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a6f9bcee-0ab4-4446-8bb4-40d1b975ca86_1024x177.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#8220;AI that writes code for you!&#8221; they all claim. Cool. But that&#8217;s like saying &#8220;a vehicle that moves you from place to place&#8221; and not distinguishing between a bicycle, a sedan, and an 18-wheeler truck.</p><p>There are dozens of AI coding tools out there, and to most people, they all sound the same. They&#8217;re built for completely different jobs, and using the wrong one is frustrating for everyone. Not only does it not get you what you want, but it also burns money on AI credits, sometimes $100s /&nbsp;month!</p><p>And it&#8217;s not just about who you are (developer vs non-developer). It&#8217;s also about what you&#8217;re building.</p><ul><li><p>Simple landing&nbsp;page</p></li><li><p>Mobile app</p></li><li><p>Full SaaS product with authentication and&nbsp;payments</p></li><li><p>E-commerce store</p></li></ul><p>Each of these has different requirements, and some tools handle certain types of projects way better than&nbsp;others.</p><p>Here&#8217;s what I&#8217;ve learned after experimenting with these tools: there are really three distinct categories, each solving different problems. Let me break them down so you can pick what tools that fit your&nbsp;needs.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dby2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dby2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 424w, https://substackcdn.com/image/fetch/$s_!Dby2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 848w, https://substackcdn.com/image/fetch/$s_!Dby2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 1272w, https://substackcdn.com/image/fetch/$s_!Dby2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dby2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!Dby2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 424w, https://substackcdn.com/image/fetch/$s_!Dby2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 848w, https://substackcdn.com/image/fetch/$s_!Dby2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 1272w, https://substackcdn.com/image/fetch/$s_!Dby2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb147282-9fe1-403a-b2e4-2ff2828aadbd_1024x177.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><blockquote><p>Want more honest AI coding-tool comparisons and app builds? Subscribe to Vibe Coding Dad.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.vibecodingdad.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://blog.vibecodingdad.com/subscribe?"><span>Subscribe now</span></a></p><p></p></blockquote><h3>Vibe Coding Apps: The &#8220;Just Describe It&#8221;&nbsp;Tools</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NviU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NviU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 424w, https://substackcdn.com/image/fetch/$s_!NviU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 848w, https://substackcdn.com/image/fetch/$s_!NviU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 1272w, https://substackcdn.com/image/fetch/$s_!NviU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NviU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!NviU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 424w, https://substackcdn.com/image/fetch/$s_!NviU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 848w, https://substackcdn.com/image/fetch/$s_!NviU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 1272w, https://substackcdn.com/image/fetch/$s_!NviU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F121493c6-9b26-46ce-ab6d-1b1eb82e60af_986x622.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>What we&#8217;re talking about:</strong> Lovable, Replit, Bolt, Vercel v0, Google AI&nbsp;Studio</p><p><strong>Who is it for: </strong>Non-technical builders. If you don&#8217;t have design skills, these tools generate surprisingly polished interfaces right out of the box. Most come with <a href="https://bolt.new/gallery/all">templates</a> if you need <a href="https://replit.com/gallery">inspiration</a> to get&nbsp;<a href="https://lovable.dev/templates">started</a>.</p><p><strong>What it&#8217;s good for: </strong>Zero to &#8220;something working&#8221; in minutes, without any&nbsp;setup</p><p><strong>Pricing: </strong>Most operate on pay-as-you-go with some starter credits. Sounds reasonable until you get into the flow and accidentally rack up $100-$200 in a month without realizing it. Search &#8220;Lovable pricing&#8221; on Reddit and you&#8217;ll find plenty of people who learned this the hard way. The costs can get unpredictable fast when you&#8217;re iterating.</p><p>With speed and prototyping being the main goal, these are what I call &#8220;vibe coding&#8221; tools. You describe what you want in natural language, and they generate an entire application for you. You don&#8217;t need to be technical. No code editor required. No terminal commands. Just describe your idea. You can literally build anything very quickly, and they come out nicely without design&nbsp;chops.</p><p>I built a collaborative trip planning tool using Replit in about an hour (<a href="https://learn.vibecodingdad.com/p/3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio-part-1-travel-planner">read here</a>), just by describing what I wanted. It looked good, worked smoothly, and satisfied my need for instant gratification. <em><strong>I still use Replit today, as I find it the best for get something up and running quickly, and still have the flexibility to scale to more serious apps.</strong> </em>Lovable is another popular one; however, it&#8217;s great at getting to 70%, but terrible at the final&nbsp;30%.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_09O!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_09O!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 424w, https://substackcdn.com/image/fetch/$s_!_09O!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 848w, https://substackcdn.com/image/fetch/$s_!_09O!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 1272w, https://substackcdn.com/image/fetch/$s_!_09O!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_09O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_09O!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 424w, https://substackcdn.com/image/fetch/$s_!_09O!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 848w, https://substackcdn.com/image/fetch/$s_!_09O!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 1272w, https://substackcdn.com/image/fetch/$s_!_09O!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c554f7d-315d-4b3f-bad8-975a2414167b_1024x499.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><blockquote><p>Get $10 off on Replit with my referral link: <a href="https://replit.com/refer/vibecodingdad">https://replit.com/refer/vibecodingdad</a></p></blockquote><p><strong>Where this breaks down:</strong> They&#8217;re brilliant at creating new things from scratch, terrible at understanding existing codebases with their accumulated complexity and technical decisions. Even for new apps, the bigger it becomes, the more it&#8217;ll struggle. Think of them like AI-powered scaffolding. Perfect for building new structures from the ground up. Not great for renovating what you already&nbsp;have.</p><blockquote><p><strong>Pro tip:</strong> If you want to go beyond &#8220;get something working&#8221; to supporting hundreds of users, you need to graduate to the next level of coding tools (and learn a bit of technical know-how along the way). I will teach you how to do in another&nbsp;article.</p></blockquote><h3>CLI Agentic Coding Tools: The Terminal&nbsp;OGs</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LTXD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LTXD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 424w, https://substackcdn.com/image/fetch/$s_!LTXD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 848w, https://substackcdn.com/image/fetch/$s_!LTXD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 1272w, https://substackcdn.com/image/fetch/$s_!LTXD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LTXD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!LTXD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 424w, https://substackcdn.com/image/fetch/$s_!LTXD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 848w, https://substackcdn.com/image/fetch/$s_!LTXD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 1272w, https://substackcdn.com/image/fetch/$s_!LTXD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9761c4c-e0a6-48f8-9bd1-cb470e436bde_944x622.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>What we&#8217;re talking about:</strong> Claude Code, Codex CLI, Gemini&nbsp;CLI</p><p><strong>Who is it for: </strong>Technical builders</p><p><strong>What it&#8217;s good for: </strong>Anything, from small to large projects, and new to existing complex&nbsp;codebase</p><p><strong>Pricing: </strong>Fixed cost, but with usage&nbsp;limit</p><p>CLI stands for &#8220;Command Line Interface.&#8221; Basically, these tools live in your terminal and work alongside your existing development setup. It takes a while to setup your development environment, but once you do, you have maximum flexibility. These tools now also have <a href="https://code.claude.com/docs/en/claude-code-on-the-web">web interface</a>, which makes it more accessible with Github integration. I personally still prefer CLI because my codebase sits on my local laptop, which is easier to update and&nbsp;test.</p><p>The key difference from straight vibe coding generation apps: these are for developers actively building because it gets a little complex for non-technical builders. I fall into this camp of people&#8202;&#8212;&#8202;a casual developer that uses AI as a dev teammate.</p><p>Here&#8217;s where they&nbsp;shine:</p><ul><li><p>Implement features in existing codebases</p></li><li><p>Refactor code</p></li><li><p>Debug issues</p></li><li><p>Work across multiple&nbsp;files</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cSve!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cSve!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 424w, https://substackcdn.com/image/fetch/$s_!cSve!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 848w, https://substackcdn.com/image/fetch/$s_!cSve!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 1272w, https://substackcdn.com/image/fetch/$s_!cSve!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cSve!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cSve!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 424w, https://substackcdn.com/image/fetch/$s_!cSve!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 848w, https://substackcdn.com/image/fetch/$s_!cSve!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 1272w, https://substackcdn.com/image/fetch/$s_!cSve!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8399ac8a-73cb-4137-9b67-958e2102fdcf_1024x910.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>The learning curve:</strong> These tools assume you know what a terminal is and aren&#8217;t afraid of it. But once you get over the hump, you can literally build anything from simple websites to complex SaaS&nbsp;apps.</p><h3>IDE Integrations: AI That Lives Where You&nbsp;Work</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A4KL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A4KL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 424w, https://substackcdn.com/image/fetch/$s_!A4KL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 848w, https://substackcdn.com/image/fetch/$s_!A4KL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 1272w, https://substackcdn.com/image/fetch/$s_!A4KL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A4KL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!A4KL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 424w, https://substackcdn.com/image/fetch/$s_!A4KL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 848w, https://substackcdn.com/image/fetch/$s_!A4KL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 1272w, https://substackcdn.com/image/fetch/$s_!A4KL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3296bfd-7928-4081-a275-7f9d1c5633d0_966x620.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>What we&#8217;re talking about:</strong> Cursor, VS Code with extensions, Google Antigravity</p><p>These plug directly into your code editor (IDE). Think of an IDE as where developers actually write and edit their code. VS Code is one of the most popular&nbsp;ones.</p><p>With these tools, the AI lives right inside your editor. You&#8217;re typing, it&#8217;s suggesting. You&#8217;re stuck, it&#8217;s offering solutions. No switching between different apps or&nbsp;windows.</p><p>The line between this category and CLI tools gets blurry. Most developers using CLI tools are also working inside an IDE like VS Code anyway. It&#8217;s really about preference: do you want to interact with AI through commands in your terminal, through chat inside your editor, or&nbsp;both?</p><p>Cursor and Google Antigravity are essentially customized versions of VS Code with their own built-in AI workflows baked in. Instead of adding AI as an afterthought, they&#8217;ve designed the entire experience around AI assistance.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0cwV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0cwV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 424w, https://substackcdn.com/image/fetch/$s_!0cwV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 848w, https://substackcdn.com/image/fetch/$s_!0cwV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 1272w, https://substackcdn.com/image/fetch/$s_!0cwV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0cwV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!0cwV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 424w, https://substackcdn.com/image/fetch/$s_!0cwV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 848w, https://substackcdn.com/image/fetch/$s_!0cwV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 1272w, https://substackcdn.com/image/fetch/$s_!0cwV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce50c05d-ab22-412d-b7d4-15a937735a5d_1024x518.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p><strong>The trade-off:</strong> You&#8217;re locked into their specific editor. If you&#8217;ve already spent time customizing VS Code or you&#8217;re happy with your current setup, switching means reconfiguring your entire environment. Some people think it&#8217;s worth it. Others don&#8217;t want to&nbsp;change.</p><h3>So Which One Should You&nbsp;Use?</h3><p>Here&#8217;s the decision&nbsp;tree:</p><p><strong>Non-technical founder with an idea?</strong> Start with Lovable or Replit. Get something working first, worry about perfect code later. Once your idea is validate, we can &#8220;graduate&#8221; to the more professional tools.</p><p><strong>Professional developer working on existing projects?</strong> CLI tools like Claude Code or Codex CLI are your best bet. They understand context and won&#8217;t mess up your existing architecture.</p><p><strong>Developer who wants AI tightly integrated into your workflow?</strong> Try Cursor or Antigravity. The seamless integration might be worth switching editors.</p><h3>The Blurry&nbsp;Lines</h3><p>Here&#8217;s where it gets interesting: these categories aren&#8217;t mutually exclusive. You can use Codex CLI to build an app from scratch. You can use Claude Code inside VS Code. There&#8217;s a web-based version of Codex where you can tag GitHub issues and have it review, fix, and submit pull requests automatically.</p><p>The boundaries keep shifting, which is both exciting and a bit overwhelming.</p><p>I find myself using different tools for different tasks. Replit for quick prototypes. Claude Code + Codex + VS Code for working on production codebases. It depends entirely on what I&#8217;m trying to accomplish and how much I&#8217;m willing to&nbsp;pay.</p><h3>Free Forever Vibe Coding Tool and What I Recommend</h3><p>The AI coding tool landscape changes constantly. New tools launch, existing ones add features, and what was impossible six months ago becomes standard. One tool I found that promises to be &#8220;free forever&#8221; is <a href="https://www.dyad.sh/">Dyad</a>. It is free and open source. You&#8217;ll have to install on your computer and leverage Google&#8217;s free Gemini API. (I will write a post about using Dyad in the&nbsp;future.)</p><p><strong>Start with Vibe Coding Apps for prototyping.</strong> I use Replit to go from idea to working prototype fast. (Get $10 off Replit via my <a href="https://replit.com/refer/vibecodingdad">referral link</a>.) This phase is all about getting the foundation right through good prompting. If I don&#8217;t like the direction after a few iterations, I restart from scratch. It&#8217;s way easier than trying to fix a messy prototype.</p><p><strong>Switch to IDE or CLI tools when it&#8217;s time to scale.</strong> Once I want real users on the app (or too cheap to pay unpredictable pricing), I move to Cursor or Claude Code. The pricing becomes more predictable, and I have the flexibility to build out different parts of the system properly. Fair warning: this is where some technical knowledge really&nbsp;helps.</p>]]></content:encoded></item><item><title><![CDATA[Claude Skills is the Ultimate Dev Tool for Bad Prompters]]></title><description><![CDATA[I&#8217;m a lazy and horrible prompter.]]></description><link>https://blog.vibecodingdad.com/p/claude-skills-is-the-ultimate-dev-tool-for-bad-prompters-20ff67bfdc79</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/claude-skills-is-the-ultimate-dev-tool-for-bad-prompters-20ff67bfdc79</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Fri, 05 Dec 2025 05:47:26 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/50c41980-83d7-41c6-ab35-4e67f3bf919b_499x204.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m a lazy and horrible prompter. I misspell variable names, type in run-on sentences, and half the time I wonder if engineers would quit on the spot if my prompts were actual tickets. But coding with AI agents feels like cheating. They somehow read my mind just enough to reinforce my bad behavior.</p><p>AI doesn&#8217;t fully read my mind though. There are a few reminders I keep giving&nbsp;it:</p><ul><li><p>Don&#8217;t over&nbsp;engineer</p></li><li><p>Reuse code</p></li><li><p>Give me your analysis before implementation</p></li><li><p>Read documentation *.md&nbsp;files</p></li><li><p>Write unit tests that covers the new&nbsp;feature</p></li></ul><p>Everyone has their own version of this list. With Claude&#8217;s <em><a href="https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills?utm_source=nofluff-ai.com&amp;utm_medium=newsletter&amp;utm_campaign=claude-skills-is-the-ultimate-dev-tool-for-bad-prompters&amp;_bhlid=5ce64759fd9f20701fe3264ecf9b7d70f16657e5">Agent Skills</a></em>, you don&#8217;t have to repeat yourself as much. It&#8217;s like giving a job description to Claude. And by the way, you need to pay for this&nbsp;feature.</p><p>Agent Skills look amazing on paper, but how does it work in practice? I don&#8217;t use Claude&#8217;s web UI much, which I believe is the main use case, but I live inside Claude Code daily. I tested Skills on my own <em><a href="https://calautobot.com/?utm_source=nofluff-ai.com&amp;utm_medium=newsletter&amp;utm_campaign=claude-skills-is-the-ultimate-dev-tool-for-bad-prompters&amp;_bhlid=8ba4d5af86a63c8ebcf71ba82dff7847bad32356">AI project</a></em>, and it has already improved the code quality. It felt like a Neo &#8220;I know kung fu&#8221; moment. Except instead of kung fu, it&#8217;s &#8220;I know AWS serverless&#8221; (or whatever you teach&nbsp;it).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BkX9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BkX9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 424w, https://substackcdn.com/image/fetch/$s_!BkX9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 848w, https://substackcdn.com/image/fetch/$s_!BkX9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 1272w, https://substackcdn.com/image/fetch/$s_!BkX9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BkX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!BkX9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 424w, https://substackcdn.com/image/fetch/$s_!BkX9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 848w, https://substackcdn.com/image/fetch/$s_!BkX9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 1272w, https://substackcdn.com/image/fetch/$s_!BkX9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc93b1016-6fcf-4aee-af01-2574f76c8885_499x204.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>I do wish Skills triggered more automatically. Half the time I&#8217;m still nudging Claude like an unreliable coworker who forgot their own job description. And since it&#8217;s hard to predict everything I&#8217;ll need upfront, going back to create new Skills sometimes feels like more work than just (bad) prompting directly. Let&#8217;s break it&nbsp;down.</p><h3>The Playground</h3><p>Like a responsible student pretending to know what I&#8217;m doing, I checked how others were using Skills. Claude provides a starter list. I found the <em><a href="https://github.com/anthropics/skills/tree/main/document-skills/pdf?utm_source=nofluff-ai.com&amp;utm_medium=newsletter&amp;utm_campaign=claude-skills-is-the-ultimate-dev-tool-for-bad-prompters&amp;_bhlid=51bc58a0cb17a1b53f97b611df28d715603265c1">PDF one</a></em> to be particularly interesting. It can actually read and edit PDFs on&nbsp;command.</p><p>There are <em><a href="https://github.com/VoltAgent/awesome-claude-skills?utm_source=nofluff-ai.com&amp;utm_medium=newsletter&amp;utm_campaign=claude-skills-is-the-ultimate-dev-tool-for-bad-prompters&amp;_bhlid=b5fd33fac07637083114bef23c63f8c3e5f33278">community Skills</a></em> too. For this project, I added test-driven-development Skill, which I have mixed review about. For best personalization, skill-creator might give you exactly what you need for your&nbsp;project.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U429!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U429!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 424w, https://substackcdn.com/image/fetch/$s_!U429!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 848w, https://substackcdn.com/image/fetch/$s_!U429!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 1272w, https://substackcdn.com/image/fetch/$s_!U429!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U429!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!U429!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 424w, https://substackcdn.com/image/fetch/$s_!U429!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 848w, https://substackcdn.com/image/fetch/$s_!U429!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 1272w, https://substackcdn.com/image/fetch/$s_!U429!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2700ce7d-dc00-4385-b494-f68d4aed20e7_1024x139.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>I opened Claude Code in the CLI and asked it to generate a few Skills specific to my codebase. But first, I gave it a quick primer on the project. Nothing fancy. Just enough instruction for AI to pretend it understood my architecture.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jGUs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jGUs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 424w, https://substackcdn.com/image/fetch/$s_!jGUs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 848w, https://substackcdn.com/image/fetch/$s_!jGUs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 1272w, https://substackcdn.com/image/fetch/$s_!jGUs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jGUs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!jGUs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 424w, https://substackcdn.com/image/fetch/$s_!jGUs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 848w, https://substackcdn.com/image/fetch/$s_!jGUs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 1272w, https://substackcdn.com/image/fetch/$s_!jGUs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51260cb5-41bf-4196-8ddb-1b345a195614_1024x135.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>And because Claude likes to butter me up, it responded with the usual confidence boosters: You&#8217;re absolutely right! and compliments about my production-grade multi-agent architecture. I wrote maybe 5% of it, so I&#8217;ll take the compliment on behalf of my robot&nbsp;intern.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9nox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9nox!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 424w, https://substackcdn.com/image/fetch/$s_!9nox!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 848w, https://substackcdn.com/image/fetch/$s_!9nox!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 1272w, https://substackcdn.com/image/fetch/$s_!9nox!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9nox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9nox!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 424w, https://substackcdn.com/image/fetch/$s_!9nox!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 848w, https://substackcdn.com/image/fetch/$s_!9nox!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 1272w, https://substackcdn.com/image/fetch/$s_!9nox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76b42d47-f1b6-4d78-b9ff-b938d6d3fc59_1024x194.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em>AI wrote most of the code, so I can&#8217;t claim&nbsp;credit</em></figcaption></figure></div><p>Project vs Global&nbsp;Skills</p><p>Before going further, you should know Skills come in two&nbsp;scopes:</p><ul><li><p><strong>Project-level:</strong> Local to your project, and similar to instructions that you set for your projects.</p></li><li><p><strong>Global:</strong> Uploaded via the Claude web&nbsp;UI.</p></li></ul><h3>Ask Claude to Create Skills for My&nbsp;Project</h3><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_WFr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_WFr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 424w, https://substackcdn.com/image/fetch/$s_!_WFr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 848w, https://substackcdn.com/image/fetch/$s_!_WFr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 1272w, https://substackcdn.com/image/fetch/$s_!_WFr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_WFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!_WFr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 424w, https://substackcdn.com/image/fetch/$s_!_WFr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 848w, https://substackcdn.com/image/fetch/$s_!_WFr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 1272w, https://substackcdn.com/image/fetch/$s_!_WFr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc95db809-41c1-4f6b-877e-76846211f6b5_1024x428.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em>UI &#8220;guardian&#8221; is a must-have. AI is pretty terrible at UI consistency unless prompted.</em></figcaption></figure></div><p>Claude then proposed twelve Skills. Twelve. Apparently my documentation revealed enough of my past mistakes that Claude tried to protect me from myself. A few stood&nbsp;out:</p><ul><li><p>A UI consistency &#8220;guardian&#8221; (absolutely necessary, because AI and UI consistency mix like oil and&nbsp;fire).</p></li><li><p>A Skill that acts as a QA reviewer for email-handling agents. I didn&#8217;t even think of this. AI somehow&nbsp;did.</p></li></ul><p><em>Pro tip: Looking back, I should have told Claude to scan my git history. It would have noticed the graveyard of system prompt rewrites and figured out where I struggle the&nbsp;most.</em></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3CdP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3CdP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 424w, https://substackcdn.com/image/fetch/$s_!3CdP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 848w, https://substackcdn.com/image/fetch/$s_!3CdP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 1272w, https://substackcdn.com/image/fetch/$s_!3CdP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3CdP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!3CdP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 424w, https://substackcdn.com/image/fetch/$s_!3CdP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 848w, https://substackcdn.com/image/fetch/$s_!3CdP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 1272w, https://substackcdn.com/image/fetch/$s_!3CdP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d70f18d-2a2f-45a4-a235-bc426158a989_1024x392.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em>Learning: This Skill seemed helpful on the surface, but was never invoked nor useful when I invoke&nbsp;it.</em></figcaption></figure></div><p>It&#8217;s great to have a catalog of personalized Skills to choose from, but I didn&#8217;t plan on implementing all the Skills, so I asked to prioritize a few. I only picked three out of this list that solves the biggest pain for&nbsp;me.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jwG7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jwG7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 424w, https://substackcdn.com/image/fetch/$s_!jwG7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 848w, https://substackcdn.com/image/fetch/$s_!jwG7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 1272w, https://substackcdn.com/image/fetch/$s_!jwG7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jwG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!jwG7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 424w, https://substackcdn.com/image/fetch/$s_!jwG7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 848w, https://substackcdn.com/image/fetch/$s_!jwG7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 1272w, https://substackcdn.com/image/fetch/$s_!jwG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d087a42-2242-44c0-be3c-a5f2e08897ed_1024x443.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>After dropping the files into the right folders, setup was done. Time to actually use&nbsp;them.</p><h3>Using Skills</h3><p>Once I restarted Claude in the CLI, I double-checked that my new Skills loaded correctly. I also added the community test-driven-development Skill. Watching Claude write a failing test, then fix it, then rewrite it again was oddly entertaining. Did I read the tests? No. I trusted the AI. And I only test in production.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m7m8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m7m8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 424w, https://substackcdn.com/image/fetch/$s_!m7m8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 848w, https://substackcdn.com/image/fetch/$s_!m7m8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 1272w, https://substackcdn.com/image/fetch/$s_!m7m8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m7m8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!m7m8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 424w, https://substackcdn.com/image/fetch/$s_!m7m8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 848w, https://substackcdn.com/image/fetch/$s_!m7m8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 1272w, https://substackcdn.com/image/fetch/$s_!m7m8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a7906e6-ea80-4c77-8661-f15c5d7fb828_1024x501.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>A few days in, I noticed something annoying: Claude often ignored Skills unless I explicitly asked it to use them. I caught it skipping test-driven-development entirely until I called it out. Same with ui-consistency-guardian. It&#8217;s like having a smart assistant who casually forgets the one job they&#8217;re supposed to do unless you tap them on the shoulder.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TcZn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TcZn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 424w, https://substackcdn.com/image/fetch/$s_!TcZn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 848w, https://substackcdn.com/image/fetch/$s_!TcZn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 1272w, https://substackcdn.com/image/fetch/$s_!TcZn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TcZn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!TcZn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 424w, https://substackcdn.com/image/fetch/$s_!TcZn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 848w, https://substackcdn.com/image/fetch/$s_!TcZn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 1272w, https://substackcdn.com/image/fetch/$s_!TcZn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3c1c75-4bd8-4a31-b112-0a157f517021_1024x620.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em>I called Claude out and it admitted to its negligence</em></figcaption></figure></div><h3>Conclusion</h3><p>Claude Skills are powerful, but they&#8217;re not plug-and-play magic. They&#8217;re more like giving your AI a set of house rules, then reminding it those rules exist every now and then. When they work, they seriously level up your workflow. When they don&#8217;t trigger, you end up babysitting your agent like a junior dev who keeps &#8220;forgetting&#8221;.</p><p>Still, the upside can be massive for complex tasks. If you already lean on AI to build, debug, or architect your projects, Skills give you a way to bottle your preferences, guardrails, and sanity checks. They reduce hallucination and help you build faster with fewer surprises.</p><p>If you have the right setup, and Claude ever becomes better at auto-invoking them, this won&#8217;t just be a nice feature. It&#8217;ll be the new default way we&nbsp;code.</p><p>Subscribe to my <a href="https://magic.beehiiv.com/v1/900a76ba-8649-4e30-a2b7-70a79f63b893?utm_source=medium">newsletter</a> for more free AI tools and productivity hacks.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zAqV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zAqV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 424w, https://substackcdn.com/image/fetch/$s_!zAqV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 848w, https://substackcdn.com/image/fetch/$s_!zAqV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 1272w, https://substackcdn.com/image/fetch/$s_!zAqV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zAqV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!zAqV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 424w, https://substackcdn.com/image/fetch/$s_!zAqV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 848w, https://substackcdn.com/image/fetch/$s_!zAqV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 1272w, https://substackcdn.com/image/fetch/$s_!zAqV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F35e4aedc-a02f-4703-b624-7833dfadb3c2_700x31.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>This story is published on <a href="https://generativeai.pub/">Generative AI</a>. Connect with us on <a href="https://www.linkedin.com/company/generative-ai-publication">LinkedIn</a> and follow <a href="https://www.zeniteq.com/">Zeniteq</a> to stay in the loop with the latest AI&nbsp;stories.</p><p>Subscribe to our <a href="https://www.generativeaipub.com/">newsletter</a> and <a href="https://www.youtube.com/@generativeaipub">YouTube</a> channel to stay updated with the latest news and updates on generative AI. Let&#8217;s shape the future of AI together!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aNtQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aNtQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 424w, https://substackcdn.com/image/fetch/$s_!aNtQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 848w, https://substackcdn.com/image/fetch/$s_!aNtQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 1272w, https://substackcdn.com/image/fetch/$s_!aNtQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aNtQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!aNtQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 424w, https://substackcdn.com/image/fetch/$s_!aNtQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 848w, https://substackcdn.com/image/fetch/$s_!aNtQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 1272w, https://substackcdn.com/image/fetch/$s_!aNtQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0dc90dd2-b3a4-4fc9-a016-eed0225594b6_700x17.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><p><a href="https://generativeai.pub/claude-skills-is-the-ultimate-dev-tool-for-bad-prompters-20ff67bfdc79">Claude Skills is the Ultimate Dev Tool for Bad Prompters</a> was originally published in <a href="https://generativeai.pub">Generative AI</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded></item><item><title><![CDATA[Free AI Tools That Make You Feel Like You’re Cheating]]></title><description><![CDATA[Some AI tools are so good they almost feel unfair.]]></description><link>https://blog.vibecodingdad.com/p/free-ai-tools-that-make-you-feel-like-you-re-cheating</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/free-ai-tools-that-make-you-feel-like-you-re-cheating</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Wed, 05 Nov 2025 18:28:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1310100d-4698-4702-8d8c-4322d2c4acc6_1704x706.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Some AI tools are so good they almost feel unfair. You&#8217;ll try one, and suddenly you&#8217;re doing in five minutes what used to take hours (or would never do). It&#8217;s like you just discovered a cheat code for your business.</p><p>These are the tools that actually make your day lighter, your inbox smaller, and your business look ten times more organized than it really is.</p><p>The best part is you can use every one of them for free.</p><h2><strong>Starter AI Stack for Solopreneurs and Small Teams</strong></h2><p>Whether you&#8217;re a one-man show or small teams, there&#8217;s an AI tool purpose-built for your needs. All comes with a free plan.</p><p><strong>Category</strong></p><p><strong>Tool Rec</strong></p><p><strong>What It&#8217;s For</strong></p><p><strong>My Take </strong>&#128071;</p><p><strong>Leads Acquisition</strong></p><p><a href="http://Manus.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Manus.ai</a>&nbsp;</p><p>Research leads and put them in an organized CSV with columns of your choosing</p><p>ChatGPT wouldn&#8217;t do this for you, but <a href="http://Manus.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Manus.ai</a> compiles a list of leads with even email addresses (if accessible to public). This feels like cheating.</p><p><strong>Scheduling</strong></p><p><a href="http://Reclaim.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Reclaim.ai</a>&nbsp;<strong>&nbsp;</strong></p><p><a href="http://CalAutobot.com?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">CalAutobot.com</a>&nbsp;</p><p>Send customers a list of openings on your calendar - via a link or inside email</p><p>Scheduling should be easy. No more back-and-forth &#8220;what time works for you?&#8221;. Both tools are free.</p><p><strong>Call Recording / Note Taking</strong></p><p><a href="http://Granola.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Granola.ai</a>&nbsp;</p><p><a href="https://Fireflies.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Fireflies.ai</a>&nbsp;</p><p>AI meeting assistant that records, transcribes, and summarizes calls.</p><p><a href="http://Fireflies.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Fireflies.ai</a> is popular, but some people don&#8217;t like AI sitting in meetings. <a href="http://Granola.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Granola.ai</a> is an alternative that records &#8220;offline&#8221;. Both have free plans, and can enrich your CRM contacts.</p><p><strong>Design</strong></p><p><strong><a href="http://Genspark.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Genspark.ai</a>&nbsp;</strong></p><p>AI agent that generates professional, well-designed proposal slides.</p><p>Feed Fireflies context into it, and it spits out a polished deck in minutes. Instant credibility.</p><p><strong>Website</strong></p><p><strong><a href="http://Framer.com?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Framer.com</a>&nbsp;</strong></p><p>AI-powered, no-code website builder for high-quality, responsive designs.</p><p>Easiest way to launch something that looks custom-built. Fast, visual, and beautifully simple.</p><p><strong>Workflow Automations</strong></p><p><a href="http://Make.com?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Make.com</a>&nbsp;</p><p><a href="http://n8n.io?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">n8n.io</a>&nbsp;</p><p><a href="http://Zapier.com?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Zapier.com</a>&nbsp;</p><p>The glue between your tools. They turn clicks into automations.</p><p>These are your digital glue guns. Once you learn how to link apps together, you really just care about the outcome, not the process.</p><p><strong>Vibe Coding</strong></p><p>&#9888;&#65039; Danger zone - getting technical here!</p><p><a href="http://Replit.com?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Replit.com</a>&nbsp;</p><p><a href="http://Lovable.dev?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Lovable.dev</a>&nbsp;</p><p><strong>Claude Code</strong>&nbsp;</p><p>Prompt AI to code apps, websites, workflows.</p><p>This category isn&#8217;t for everyone. You still need to learn how to read code. But it is incredibly powerful if you can customize any workflow and UI to your liking.</p><h2><strong>Tool Spotlight: <a href="http://Manus.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Manus.ai</a> - Your Swiss Army of AI Agents (for free)</strong></h2><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y0vH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y0vH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 424w, https://substackcdn.com/image/fetch/$s_!y0vH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 848w, https://substackcdn.com/image/fetch/$s_!y0vH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 1272w, https://substackcdn.com/image/fetch/$s_!y0vH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y0vH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!y0vH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 424w, https://substackcdn.com/image/fetch/$s_!y0vH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 848w, https://substackcdn.com/image/fetch/$s_!y0vH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 1272w, https://substackcdn.com/image/fetch/$s_!y0vH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F875e4d00-1cdb-4830-b401-ec4b148df0a7_1704x706.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><h6><strong>What it is:</strong></h6><p><a href="https://Manus.ai?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=free-ai-tools-that-make-you-feel-like-you-re-cheating">Manus.ai</a> is like ChatGPT with hands. It doesn&#8217;t just give you answers. It actually <em>does</em> the work.</p><h6><strong>How it&#8217;s different:</strong></h6><p>Ask ChatGPT, &#8220;Plan a 4-day trip to Japan,&#8221; and it&#8217;ll give you a nice itinerary.</p><p>But if you want it to find restaurants, grab their addresses, and fill a spreadsheet with opening hours, ChatGPT stops there (unless you go to &#8220;Agent Mode&#8221; - not free and I&#8217;ll cover in another article). Manus is the free AI agent.</p><p>It visits websites, pulls real data, and delivers a finished spreadsheet.</p><h6><strong>What blew my mind:</strong></h6><p>Now imagine doing having it find qualified leads for you. My prompt:</p><pre><code>&#8220;Find 100 people on LinkedIn who work at OpenAI, include their job titles and profile URLs, and infer their email addresses.&#8221;</code></pre><p>Manus handles that from start to finish in a few minutes. It&#8217;s like having a digital assistant who never sleeps or complains. Most lead-gen tools charges $50+/month, but Manus&#8217; free plan gives you 300 credits (about 3 complex tasks) <em>per day, </em>plenty for a small business! If you ask ChatGPT (paid version) to do the same thing, it doesn&#8217;t even come close. <strong>This is literally the biggest cheat code.</strong></p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iMeD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iMeD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iMeD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iMeD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iMeD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iMeD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!iMeD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iMeD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iMeD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iMeD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcd91d752-22a8-493c-abf5-7873415656ac_1136x1020.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><h2><strong>What AI &#8220;Agents&#8221; really mean</strong></h2><p>Without starting another post, here&#8217;s the short version: an agent doesn&#8217;t just answer prompts. It decides and acts.</p><p>Don&#8217;t confuse it with workflows, which also <em>executes automation</em> on your behalf. Agents can actually decide <em>what</em> to do next based on context, not just what you programmed workflows to do. Think of a workflow as somebody reading off a script and agent as someone who can improvise when things don&#8217;t go exactly as planned.</p><p>This topic deserves its own deep dive, and I&#8217;ll cover it soon.</p><h2><strong>The Takeaway</strong></h2><p>For builders, business owners, and operators, the goal is simple &#8212; work smarter with AI. Automate the repetitive stuff. Focus on the meaningful work that grows your business.</p><p>You don&#8217;t need a grand AI plan. Just start with one task that drains your time. Build momentum one smart agent at a time.</p><h5>Are there app you want to see? Let me know or send me any feedback!</h5>]]></content:encoded></item><item><title><![CDATA[I Built a Scheduling Tool in 3 Hours - Here’s What I Learned]]></title><description><![CDATA[Part 2: Email and photos to Google Calendar]]></description><link>https://blog.vibecodingdad.com/p/i-built-and-deployed-a-micro-saas-in-3-hours-here-s-what-i-learned</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/i-built-and-deployed-a-micro-saas-in-3-hours-here-s-what-i-learned</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Wed, 25 Jun 2025 07:00:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W000!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.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_!W000!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W000!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!W000!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!W000!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!W000!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W000!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image preview&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="Image preview" title="Image preview" srcset="https://substackcdn.com/image/fetch/$s_!W000!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!W000!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!W000!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!W000!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8bda7a7-dcc2-4aea-be19-2e73c64009b3_1024x1024.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 aria-hidden="true" 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><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 article is part of my&nbsp;<em>vibe coding</em>&nbsp;<strong><a href="https://www.smbagenthub.com/p/3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio-part-1-travel-planner?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=i-built-a-scheduling-tool-in-3-hours-here-s-what-i-learned">series</a></strong>.</p><p>I&#8217;m not a software engineer, but I&#8217;m a relatively technical tinker. In earlier posts, I built apps using Replit, Firebase Studio, and Gemini Canvas. Gemini Canvas is pure magic for spinning up an idea in 30 seconds with zero code, but it doesn&#8217;t do well for more complex apps that need a database. Firebase Studio is great if you want a powerful, scalable setup, but it can feel a bit unwieldy for a hobbyist like me (I&#8217;ll do a deeper dive on that later).</p><p>That&#8217;s where Replit shines. It&#8217;s a sort of Swiss Army knife and a perfect middle ground for quickly going from idea to deployed app. In this article, I&#8217;ll go deeper into the pros and cons of going&nbsp;<em>production-ready</em>&nbsp;on Replit.</p><p>Note 1:<em>&nbsp;This isn&#8217;t a step-by-step guide. Other&nbsp;<strong><a href="https://www.bensbites.com/p/getting-started-with-replit-a-beginners-guide?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=i-built-a-scheduling-tool-in-3-hours-here-s-what-i-learned">articles</a></strong>&nbsp;do that much better; this is more about my experience using Replit to ship something real.</em></p><p>Note 2:&nbsp;<em>I&#8217;m using the paid version of Replit, which gives me a better model with better prompt reasoning and code generation.</em></p><h2><strong>Why going to production requires more than just code</strong></h2><p>If you&#8217;re new to all this, here are a few basics that separate a toy app from one that&#8217;s&nbsp;<em>production-ready</em>:</p><p>&#9989;&nbsp;<strong>Database:&nbsp;</strong>Storing user data and app data.<br>&#9989;&nbsp;<strong>Authentication:&nbsp;</strong>Required to support multiple users logging in with their credentials<br>&#9989;&nbsp;<strong>Custom domain:&nbsp;</strong>Giving your app a real branded URL.<br>&#9989;&nbsp;<strong>Hosting:&nbsp;</strong>Moving from &#8220;local preview&#8221; to &#8220;actually live on the internet.&#8221;<br>&#9989;&nbsp;<strong>Deployment:&nbsp;</strong>Transitioning from sandbox to a real, stable environment.<br>&#9989;&nbsp;<strong>Monitoring:&nbsp;</strong>Checking errors and usage after going live.</p><p>This typically requires 5+ tools. And the cool thing about Replit? It takes care of all of this out of the box.</p><p>People often talk about no-code tools making it easy to ship SaaS apps without writing a single line of code - that&#8217;s&nbsp;<em>mostly</em>&nbsp;true. Going to&nbsp;<em>production</em>, for example, is another story.</p><p>Even though Replit Agent wrote most of the code, I still had to code review and occasionally debug. But the speed production code is generated is mind-blowing. That&#8217;s what allowed me to build something meaningful in hours instead of days or weeks.</p><h2><strong>What I built</strong></h2><p>Let me introduce&nbsp;<strong><a href="https://calautobot.com/?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=i-built-a-scheduling-tool-in-3-hours-here-s-what-i-learned">Calendar Autobot</a></strong>, your AI assistant to schedule your meetings and transform any emails and images into calendar events. You just treat the AI ("Cal") as your executive assistant, forward it emails for meeting coordination, flight itinerary or kids camp schedule, and "Cal" will add the event to your Google Calendar. A few caveats:</p><ul><li><p>Image extraction wasn't part of the original scope (but I added image support now).</p></li><li><p>Adding email support was extra work that took me beyond the 3-hour goal.</p></li></ul><h2><strong>Impressive debugging saves the day</strong></h2><p>Every app has bugs &#8212; yes, even the ones built by AI. And debugging isn&#8217;t just about fixing the problem; it&#8217;s about playing detective: reading logs, tracing the code path, and narrowing in on what went wrong. Sometimes a typo can take (a human) hours to find!</p><p>What surprised me is how well Replit handled all that on its own. Without me having to point it in the right direction, it flagged issues I hadn&#8217;t even noticed &#8212; just by parsing the logs.</p><p><em><strong>Pro tip:</strong> I had Replit add a bunch of logging early on, which turned out to be a huge help for its AI when it came time to debug. Highly recommend that.</em></p><p>Want more real-world vibe-coding build logs&#8212;not just polished demos? Subscribe to Vibe Coding Dad.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.vibecodingdad.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://blog.vibecodingdad.com/subscribe?"><span>Subscribe now</span></a></p><p></p><h2><strong>What&#8217;s the catch?</strong></h2><p>There were several places where the Replit Agent/Assistant got stuck. Replit always gives a preview of the code it is about to write, and sometimes the logic doesn&#8217;t make sense. When they&#8217;re stuck they do one of the two things:</p><p>&#10060; The AI sometimes bloats the codebase and creates new code instead of fixing/reusing existing logic.<br>&#10060; It can also spin in circles, especially around tricky third-party integrations like Google OAuth or Mailgun.</p><p>When that happened, I had to jump in; pasting documentation links and writing hyper-specific prompts to steer the AI in the right direction. Even so, that&#8217;s faster than writing everything myself. What took me a few hours could easily have taken me 3&#8211;4&nbsp;<em>weeks</em>&nbsp;solo.</p><h2><strong>Other considerations (edge cases) that slowed down development</strong></h2><p>&#128161; What happens when users don&#8217;t give OAuth consent?</p><p>&#128161; What if users forward random spam emails?</p><p>&#128161; What happens when there are many events in a single email? (note: this is purely prompt engineering, not coding)</p><p><em><strong>Pro tip:</strong> Getting a prototype up and running first, then figure out the edge cases.</em></p><h2><strong>The details</strong></h2><h3><strong>Tech stack:</strong></h3><ul><li><p>Python, Flask, PostgreSQL</p></li><li><p>Integrations: OpenAI, Google OAuth, Mailgun</p></li></ul><h3><strong>Where Replit saved the most time:</strong></h3><ul><li><p>&#9989;&nbsp;<strong>Bootstrapping:</strong>&nbsp;A single prompt gave me an app 70% of the way. I used Google AI Studio to generate the prompt, so even prompting was made simple! Here&#8217;s my starter prompt:</p></li></ul><pre><code>Using Python Flask and Google AI Python SDK, create a backend API service that transforms text into calendar events. It takes some text, either from email or document, and extracts date information from them. Text can be a travel itinerary, school event, or any date/time related events. From the extracted data, integrate with Google calendar and create corresponding events. For frontend, use any popular framework.

A sample prompt I would feed into this API would be:

Given the following text, extract all event information. For each event, identify:

The event name.
The event description that gives context to this calendar event.
The start date (in YYYY-MM-DD format).
The start time (in HH:MM 24-hour format, if specified).
The end date (in YYYY-MM-DD format, if specified or different from start date).
The end time (in HH:MM 24-hour format, if specified).
The location (if specified).
If a date is relative (e.g., &#8220;next Monday,&#8221; &#8220;tomorrow&#8221;), assume the current date is [INSERT CURRENT DATE HERE, e.g., 2023&#8211;10&#8211;27] for resolving it.

Provide the output as a JSON list, where each object in the list represents an event with keys: &#8220;event_description&#8221;, &#8220;start_date&#8221;, &#8220;start_time&#8221;, &#8220;end_date&#8221;, &#8220;end_time&#8221;, &#8220;location&#8221;. If a piece of information is not found, use null or an empty string for its value.

Text: &#8220;&#8221;&#8221; [PASTE THE EMAIL/DOCUMENT TEXT HERE] &#8220;&#8221;&#8221;</code></pre><ul><li><p>&#9989;&nbsp;<strong>Refactoring code:</strong>&nbsp;At one point,&nbsp;<em><a href="https://routes.py?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=i-built-a-scheduling-tool-in-3-hours-here-s-what-i-learned">routes.py</a></em>&nbsp;got too big to manage, so I have to get it to rewrite it.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yi_r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yi_r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yi_r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yi_r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yi_r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yi_r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!yi_r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yi_r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yi_r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yi_r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8699323d-f5f2-4734-8b47-08197066cc4d_1054x1000.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p>&#9989;&nbsp;<strong>Marketing and Branding:&nbsp;</strong>Replit generated a logo and marketing page for me. I don&#8217;t even have to write marketing copy!</p></li><li><p>&#9989;&nbsp;<strong>DB Migration:&nbsp;</strong>Replit automatically creates mini scripts to run for database migrations</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FuaN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FuaN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FuaN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FuaN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FuaN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FuaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!FuaN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FuaN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FuaN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FuaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a8b5957-acc9-47b9-ba38-85070db0fb2b_1174x424.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><ul><li><p>&#9989;&nbsp;<strong>Deployment to production:</strong>&nbsp;Going live was literally one click. This alone would have taken me a week to figure out.</p></li><li><p>&#9989;&nbsp;<strong>Error fixing:&nbsp;</strong>Fixing errors that pop up every now and then. Simply prompt:&nbsp;<em>fix error in console</em>&nbsp;and it just does it. This is slightly different than debugging, which is still somewhat manual and takes up most of my time (more details below).</p></li><li><p>&#9989;&nbsp;<strong>Collaboration: W</strong>hile I didn&#8217;t use this feature, it&#8217;s touted as one of the differentiators compared to other vibe coding tools</p></li><li><p>&#9989;&nbsp;<strong>Source control:&nbsp;</strong>Versioning and simple source control built-in</p></li></ul><h2><strong>Where I spent the most time wrestling Replit</strong></h2><ul><li><p>&#128269;&nbsp;<strong>Google OAuth:</strong>&nbsp;It initially generated working code, even though very messy, inefficient auth workflow. I had to correct this by prompting specific fixes, but it just resulted in more bloated code and unnecessary API calls. Eventually, I pasted the official docs and prompting the AI carefully, and it worked as expected.</p></li></ul><p><em><strong>Pro tip:</strong> I&#8217;m surprised how great Replit&#8217;s AI is at reading external documentation. If you&#8217;re technical and know that AI is generating garbage code, just feed it dev docs like&nbsp;<strong><a href="https://developers.google.com/identity/protocols/oauth2/web-server?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=i-built-a-scheduling-tool-in-3-hours-here-s-what-i-learned#python">this one</a></strong>.</em></p><ul><li><p>&#129714;&nbsp;<strong>Debugging:</strong>&nbsp;If something went wrong and Replit couldn&#8217;t figure it out after several tries, I was back in the driver&#8217;s seat &#8212; manually reading logs and helping the AI understand what to do.</p></li></ul><p><em><strong>Pro tip:</strong> Disable &#8220;automatically publish changes&#8221; and review Replit&#8217;s code, especially for big changes. It will save a lot of time later on if something doesn&#8217;t go as planned because you&#8217;re in the loop.</em></p><ul><li><p>&#9888;&#65039;&nbsp;<strong>Production control:</strong>&nbsp;One-click deployment is great, but if something breaks, logging is limited (oftentimes crashes) and prod database setup is non-existent.</p></li></ul><p><em><strong>Pro tip:</strong> Always use a separate production database, and I&#8217;m seriously considering using external logging analytics.</em></p><h2><strong>The verdict</strong></h2><p><strong>Is Replit perfect?</strong>&nbsp;No.&nbsp;<strong>Is it amazing for hobbyists?</strong>&nbsp;Absolutely.</p><p>If you value&nbsp;<em>speed</em>,&nbsp;<em>ease of use</em>, and&nbsp;<em>getting something real into the world</em>&nbsp;over fine-tuning every deployment detail, Replit is one of the most productive tools you&#8217;ll ever use. It&#8217;s a terrific all-in-one platform for side projects or small SaaS apps where moving fast is more important than absolute control.</p><p>And that&#8217;s exactly why I&#8217;ll keep using it &#8212; especially when my goal is shipping something fun without overthinking it.</p>]]></content:encoded></item><item><title><![CDATA[Gemini Canvas is Magic - Built a Trip Planner in Minutes]]></title><description><![CDATA[Google AI has done it again.]]></description><link>https://blog.vibecodingdad.com/p/gemini-canvas-is-magic-for-rapid-prototyping</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/gemini-canvas-is-magic-for-rapid-prototyping</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Mon, 09 Jun 2025 07:00:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!28hx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Google AI has done it again. Just when I thought NotebookLM turning my resume into a <a href="https://notebooklm.google.com/notebook/8e7cbb0b-f48f-481b-8486-b5188af6028e/audio?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=gemini-canvas-is-magic-built-a-trip-planner-in-minutes">dramatic podcast tribute</a> was peak wizardry, Gemini Canvas came along and said: <em>&#8220;Hold my beer.&#8221;</em> With just one line of prompt, I watched it conjure up a fully functional, fun travel app.</p><h2><strong>Prototyping used to be a drag</strong></h2><p>Let&#8217;s rewind. Rapid prototyping used to be UI-only vaporware, or long nights of hacking together half-working demos and hoping no one clicked the wrong button during your pitch. Then came &#8220;vibe coding&#8221; &#8212; yes, that&#8217;s the name &#8212; where prototypes are created in minutes. You might have heard of Replit, Cursor, Windsurf, etc. Even I jumped on that train and <a href="https://www.smbagenthub.com/p/3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio-part-1-travel-planner?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=gemini-canvas-is-magic-built-a-trip-planner-in-minutes">wrote about it</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zWgk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zWgk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 424w, https://substackcdn.com/image/fetch/$s_!zWgk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 848w, https://substackcdn.com/image/fetch/$s_!zWgk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 1272w, https://substackcdn.com/image/fetch/$s_!zWgk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zWgk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;:true,&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_!zWgk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 424w, https://substackcdn.com/image/fetch/$s_!zWgk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 848w, https://substackcdn.com/image/fetch/$s_!zWgk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 1272w, https://substackcdn.com/image/fetch/$s_!zWgk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd87011b0-496c-4276-b2ab-7979ed358c8f_1372x884.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>But if you care more about the destination than the route (read: you don&#8217;t want to code), Gemini Canvas is your new technical co-founder. It turns a single sentence into an entire working app with AI features built-in. To me, it&#8217;s love at first try.</p><h2><strong>What is Canvas?</strong></h2><p>According to Google, Canvas &#8220;turns prompts and reports into interactive visuals&#8221; &#8212; apps, infographics, whatever your caffeinated brain can come up with. I mostly used it for app creation, but if you&#8217;re curious, you can explore more at <a href="https://gemini.google/overview/canvas?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=gemini-canvas-is-magic-built-a-trip-planner-in-minutes">gemini.google/overview/canvas</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3xQY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3xQY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3xQY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3xQY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3xQY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3xQY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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_!3xQY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3xQY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3xQY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3xQY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F289cf5ce-e62c-4dbe-aca2-e7fa40991bea_1400x422.jpeg 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p><a href="https://gemini.google/overview/canvas/?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=gemini-canvas-is-magic-built-a-trip-planner-in-minutes">https://gemini.google/overview/canvas/</a></p><p>To try it yourself, just click the &#8220;Canvas&#8221; button beneath your Gemini prompt window. No instruction manual nor magic wands required.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CCAG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CCAG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 424w, https://substackcdn.com/image/fetch/$s_!CCAG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 848w, https://substackcdn.com/image/fetch/$s_!CCAG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 1272w, https://substackcdn.com/image/fetch/$s_!CCAG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CCAG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!CCAG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 424w, https://substackcdn.com/image/fetch/$s_!CCAG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 848w, https://substackcdn.com/image/fetch/$s_!CCAG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 1272w, https://substackcdn.com/image/fetch/$s_!CCAG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f51842e-9d99-41c7-8618-5dbbe5a8d5d6_1400x848.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>To enable Canvas, click on &#8220;Canvas&#8221; button beneath Gemini prompt window</p><h2><strong>What I created</strong></h2><p><strong>Prompt I gave Canvas:</strong></p><pre><code>Create a trip planning website that multiple users can collaborate and plan trips together. The website will allow users to create itineraries, add hotels, transportation, top visited sites, and automatically suggest restaurants around the top sites and hotels. The trip planner&#8217;s UI will look like a corkboard with drag and drop interface, almost like users are pinning ideas to a board to make trip planning fun and visual.</code></pre><p><strong>Model used:</strong> 2.5 Pro (preview)</p><p><strong>Final product: </strong>For those impatient ones, check out the <a href="https://gemini.google.com/share/b8b66e017f88?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=gemini-canvas-is-magic-built-a-trip-planner-in-minutes">trip planner</a>!</p><p>Because I specified &#8220;multiple users&#8221; in the prompt, Gemini also created a special share feature:</p><p>Share the Trip ID: Copy the Trip ID and send it to your friends so they can join the same corkboard. You&#8217;ll see their cursors and changes in real-time.</p><p><em>(spoiler alert: this feature doesn&#8217;t work)</em></p><h2><strong>What makes Canvas magical</strong></h2><ul><li><p><strong>One prompt. Working and polished app.</strong> Instant gratification beyond max. I&#8217;m convinced this is the primary OKR for the team.</p></li><li><p><strong>Drag and drop? Flawless.</strong> Unlike Replit or Firebase, where drag-and-drop features didn&#8217;t work even with multiple prompts, Canvas nails it on the first try.</p></li><li><p><strong>Nailed the corkboard UI.</strong> Other tools like <a href="https://medium.com/@willcheung/3-ai-hacks-im-vibe-coding-with-replit-and-firebase-studio-part-1-travel-planner-025bb52bdbb0?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=gemini-canvas-is-magic-built-a-trip-planner-in-minutes">Replit did okay</a>, but I appreciate the simple yet realistic look &amp; feel.</p></li><li><p><strong>Built-in restaurant recs.</strong> Add a hotel? It suggests restaurants nearby. Replit and Firebase could never.</p></li><li><p><strong>Collaboration, no login required.</strong> You don&#8217;t need to mess with user auth (which, let&#8217;s face it, is the worst part of any tech project).</p></li><li><p><strong>&#8220;Add Gemini&#8221; button = </strong>&#10024;<strong>chef&#8217;s kiss</strong>&#10024;<strong>.</strong> I didn&#8217;t expect anything when I clicked it, and boom &#8212; it gave me two useful AI features. That&#8217;s the best kind of magic.</p></li><li><p>Want more rapid-prototyping experiments and honest AI tool reviews? Subscribe to Vibe Coding Dad.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.vibecodingdad.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://blog.vibecodingdad.com/subscribe?"><span>Subscribe now</span></a></p><p></p></li></ul><h2><strong>Walkthrough: From Prompt to Pinning</strong></h2><p>After the prompt, Canvas generated the code and dropped me onto a clean corkboard-style UI.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6rl-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6rl-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 424w, https://substackcdn.com/image/fetch/$s_!6rl-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 848w, https://substackcdn.com/image/fetch/$s_!6rl-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 1272w, https://substackcdn.com/image/fetch/$s_!6rl-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6rl-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5383c8fa-242c-4998-98da-251132336c76_1400x951.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!6rl-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 424w, https://substackcdn.com/image/fetch/$s_!6rl-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 848w, https://substackcdn.com/image/fetch/$s_!6rl-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 1272w, https://substackcdn.com/image/fetch/$s_!6rl-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5383c8fa-242c-4998-98da-251132336c76_1400x951.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>After creating a new trip, I got an empty board. I could add an additional prompt to help me create some boilerplate activities upon a trip creation. Instead, I added &#8220;Tokyo&#8221; as a hotel location, and like magic, a few restaurant pins appeared (with no additional prompting).</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HclN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HclN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 424w, https://substackcdn.com/image/fetch/$s_!HclN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 848w, https://substackcdn.com/image/fetch/$s_!HclN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 1272w, https://substackcdn.com/image/fetch/$s_!HclN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HclN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HclN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 424w, https://substackcdn.com/image/fetch/$s_!HclN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 848w, https://substackcdn.com/image/fetch/$s_!HclN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 1272w, https://substackcdn.com/image/fetch/$s_!HclN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd45c50e6-8c93-44a2-8101-56e7e2dcf8fc_1400x968.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Automagic restaurant suggestions. Drag &amp; drop was smooth like butter, which no other tools came close.</p><p>So far, everything worked like a charm with just a single prompt. Curious about &#8220;Add Gemini&#8221; button on the bottom right, click it brought up a couple new tools, including a &#8220;Suggest Activities&#8221; and &#8220;Create summary&#8221; features.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6ppO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6ppO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 424w, https://substackcdn.com/image/fetch/$s_!6ppO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 848w, https://substackcdn.com/image/fetch/$s_!6ppO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 1272w, https://substackcdn.com/image/fetch/$s_!6ppO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6ppO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!6ppO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 424w, https://substackcdn.com/image/fetch/$s_!6ppO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 848w, https://substackcdn.com/image/fetch/$s_!6ppO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 1272w, https://substackcdn.com/image/fetch/$s_!6ppO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe60d1c4e-084f-493c-a618-14c28ecbaf38_1400x953.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>&#8220;Add Gemini&#8221; button on the bottom right corner is one of the most magical experience.</p><p>The fact that I had no expectation was one of the reasons that this feature blew my mind. Not only did it create two useful features, but they actually work right away.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2gc1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2gc1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 424w, https://substackcdn.com/image/fetch/$s_!2gc1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 848w, https://substackcdn.com/image/fetch/$s_!2gc1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 1272w, https://substackcdn.com/image/fetch/$s_!2gc1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2gc1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90534ada-96b1-4525-8183-0002bf63b232_1400x951.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!2gc1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 424w, https://substackcdn.com/image/fetch/$s_!2gc1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 848w, https://substackcdn.com/image/fetch/$s_!2gc1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 1272w, https://substackcdn.com/image/fetch/$s_!2gc1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90534ada-96b1-4525-8183-0002bf63b232_1400x951.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Clicking &#8220;Suggest Activities&#8221; button and entering&#8220;tokyo&#8221;, it instally generated a few top attractions to pin to the board.</p><p>One design quirk: the board looks a bit toy-like, which I kind of love. But it&#8217;s missing one thing &#8212; travel stock images! That visual flair would take it to the next level, and other tools did better in this area.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!28hx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!28hx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 424w, https://substackcdn.com/image/fetch/$s_!28hx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 848w, https://substackcdn.com/image/fetch/$s_!28hx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 1272w, https://substackcdn.com/image/fetch/$s_!28hx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!28hx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!28hx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 424w, https://substackcdn.com/image/fetch/$s_!28hx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 848w, https://substackcdn.com/image/fetch/$s_!28hx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 1272w, https://substackcdn.com/image/fetch/$s_!28hx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99fbbabe-b325-4bc2-933e-e1473e915ac3_1400x959.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The board is so much fun. With a bit more tweaking, I&#8217;d actually use this to plan my next trip!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YWx4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YWx4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 424w, https://substackcdn.com/image/fetch/$s_!YWx4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 848w, https://substackcdn.com/image/fetch/$s_!YWx4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 1272w, https://substackcdn.com/image/fetch/$s_!YWx4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YWx4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!YWx4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 424w, https://substackcdn.com/image/fetch/$s_!YWx4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 848w, https://substackcdn.com/image/fetch/$s_!YWx4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 1272w, https://substackcdn.com/image/fetch/$s_!YWx4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5aedef10-6b90-4d2c-adef-3d3321b466c0_1400x956.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The final feature I tested was &#8220;Create Summary&#8221;, which summed up the trip, and I can see this feature becoming a &#8220;printed itinerary&#8221; for some travelers.</p><h2><strong>Product limitations</strong></h2><p>While Canvas is an amazing tool for the intended, non-technical audience, I do wish there are more advanced feature that I can tweak as tinkerer.</p><ul><li><p><strong>Only as good as the model.</strong> I tried the same prompt with Gemini 2.5 Flash, and&#8230; let&#8217;s just say it felt like going from iPhone to flip phone. Stick with Pro if you want the wow.</p></li><li><p><strong>Multi-user feature is a tease.</strong> There&#8217;s no real-time collaboration (it claimed it did) or state persistence. Think more &#8220;everyone gets their own version&#8221; than &#8220;true multiplayer.&#8221;</p></li><li><p><strong>No export to Firebase.</strong> Would love a one-click &#8220;Host This&#8221; option. Copy-pasting could work, but it&#8217;s not quite as seamless as it could be.</p></li><li><p><strong>No stock images.</strong> I only have this expectation because Replit populated stock images. For travel apps, a little photo pizzazz would go a long way.</p></li></ul><h2><strong>Final thoughts</strong></h2><p>Whether you&#8217;re a seasoned dev or someone who has never heard of HTML, Gemini Canvas will impress you. Zero setup. No account creation. Just type, click, and marvel. The Canvas team nailed this experience, and I can&#8217;t wait to see what people build once they realize just how powerful this is.</p>]]></content:encoded></item><item><title><![CDATA[3 AI hacks I’m vibe coding with Replit and Firebase Studio]]></title><description><![CDATA[Part 1: Travel Planner]]></description><link>https://blog.vibecodingdad.com/p/3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio-part-1-travel-planner</link><guid isPermaLink="false">https://blog.vibecodingdad.com/p/3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio-part-1-travel-planner</guid><dc:creator><![CDATA[Will Cheung]]></dc:creator><pubDate>Thu, 05 Jun 2025 07:00:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ESjj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My life has been taken over by AI projects and news. It&#8217;s a non-stop echo chamber bubble in Silicon Valley. At work (Box), I help launched Box&#8217;s AI APIs and <a href="https://www.linkedin.com/in/boxaaron/recent-activity/all/?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio">Aaron</a> still shares his AI thoughts 128x a day. At home, I&#8217;ve been contemplating what kinds of experiments I can undertake with AI.</p><p>As a PM, a former founder/hacker (with an emphasis on <em>hacker</em>, not a real software engineer), and someone whose brain is basically an idea factory, this &#8220;vibe coding&#8221; concept with AI is proving to be a dream come true. I get to roll up my sleeves, learn the latest AI tricks, AND maybe, just maybe, turn one of these experiments into a real, live app!</p><h2><strong>So, Why Now? What&#8217;s the Big AI Deal?</strong></h2><p>I&#8217;ve had a front-row seat to AI at Box, launching AI APIs and watching things like MCP, AI Agents, and creator productivity totally transform. It feels like we&#8217;re in that sweet spot: innovation is still in exponential growth, but things are just stable enough to actually build cool stuff without it changing an hour later. AI is early enough to that new use cases are unfolding daily, but not so bleeding edge that you can&#8217;t get your footing on the technology.</p><h2><strong>My &#8220;Vibe Coding&#8221; Guiding Principles</strong></h2><p>Before diving into these AI experiments, I established a few guiding principles:</p><ol><li><p><strong>Avoid B2B SaaS Commodity Traps:</strong> Having been a B2B SaaS founder and PM for so long, and even bought/sold a SaaS business, I know that many &#8220;new&#8221; ideas are basically copies of old, but slightly better. The real differentiator often lies in marketing, positioning, and sales. For these personal projects, I&#8217;m looking elsewhere.</p></li><li><p><strong>Focus on Passion or Problem-Solving:</strong> Time is a luxury these days. If I invest it, I want to be enthusiastic about the project or the problem it addresses.</p></li><li><p><strong>AI-first Approach:</strong> The problem should be 10x easier to solve with GenAI compared to traditional programming. The AI should be core to the solution.</p></li><li><p><strong>Potential for a Side Project/Hustle:</strong> The ability to turn it into a side income source is a definite plus.</p></li></ol><h2><strong>The Hack Lineup</strong></h2><p>Here are the ideas I&#8217;m exploring. This post will focus on the first one:</p><ol><li><p><strong>Collaborative AI Travel Planner with Replit)</strong> &#8212; This is the focus of today&#8217;s post.</p></li><li><p><strong>AI Basketball Coach from Video Recordings (with Firebase Studio)</strong> &#8212; Imagine AI providing tips on your basketball technique. Further imagine that it&#8217;s Michael Jordan coaching you! More on this in a future update.</p></li><li><p><strong>Text to Calendar Events (TBD)</strong> &#8212; To simplify event scheduling. Stay tuned for this one.</p></li><li><p><strong>Ideation Zone:</strong> Exploring ideas for transforming blog posts/docs/text into other formats (podcasts, infographics, 3-min videos, etc.). The possibilities are numerous.</p></li></ol><h3><strong>Hack #1: Revisiting My Trip Planner Concept with AI &amp; Replit</strong></h3><p>Let&#8217;s go back a bit. Back in 2009, before Pinterest gained widespread popularity and Google Docs became the standard for collaboration, I founded <a href="https://Duffelup.com?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio">Duffelup.com</a> (<a href="https://techcrunch.com/2009/12/03/duffel-trip-planner/?utm_source=learn.vibecodingdad.com&amp;utm_medium=newsletter&amp;utm_campaign=3-ai-hacks-i-m-vibe-coding-with-replit-and-firebase-studio">coverage by TechCrunch</a>). It was a collaborative and visual trip planner, merging aspects of visual appeal similar to Pinterest with Google Docs&#8217; collaboration features. I&#8217;ve always enjoyed planning trips, especially when friends/family also chip in ideas.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pxQ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pxQ8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pxQ8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pxQ8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pxQ8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pxQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!pxQ8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 424w, https://substackcdn.com/image/fetch/$s_!pxQ8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 848w, https://substackcdn.com/image/fetch/$s_!pxQ8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!pxQ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d849b53-bf65-4a20-8d48-eafb7898b321_1141x642.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Cork board for friends &amp; family to pin ideas</p><p>That project involved over two years of nights and weekends learning and coding Ruby on Rails. As the only programmer, I also learned about deploying to AWS (back then, only EC2 existed). This was when I gained experience as a &#8220;full-stack developer&#8221; somewhat unintentionally. To summarize, it reached over 50k MAU without any marketing, generated a whopping $10/month from affiliates, and I decided the return on investment wasn&#8217;t sufficient for the effort involved. I sold it and used the proceeds as a down payment for my VW Golf (not a house, sadly, but still a positive outcome).</p><p>Fast forward 15 years. I recently planned a trip to Spain, and the process was familiar: going through notes from friends, copying and pasting ideas into a Google Doc, and manually mapping them to see their locations. I realized that a gap in collaborative travel planning persists. So, I decided to revisit my trip planner concept, this time using Replit to &#8220;vibe code&#8221; it with AI assistance.</p><p>This post isn&#8217;t a detailed product review, but here&#8217;s a glimpse of the product and some initial learnings:</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ESjj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ESjj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 424w, https://substackcdn.com/image/fetch/$s_!ESjj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 848w, https://substackcdn.com/image/fetch/$s_!ESjj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 1272w, https://substackcdn.com/image/fetch/$s_!ESjj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ESjj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ESjj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 424w, https://substackcdn.com/image/fetch/$s_!ESjj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 848w, https://substackcdn.com/image/fetch/$s_!ESjj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 1272w, https://substackcdn.com/image/fetch/$s_!ESjj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9301c6e-0b5b-4d80-872c-cb0dacb50b29_1400x682.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>I asked for a Google Authentication button with the logo. Replit nailed the visuals perfectly on first try. The backend logic? Well, it&#8217;s basically vaporware.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nyR6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nyR6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 424w, https://substackcdn.com/image/fetch/$s_!nyR6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 848w, https://substackcdn.com/image/fetch/$s_!nyR6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 1272w, https://substackcdn.com/image/fetch/$s_!nyR6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nyR6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff418b93-43db-476d-af21-e725d0d228da_1400x796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!nyR6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 424w, https://substackcdn.com/image/fetch/$s_!nyR6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 848w, https://substackcdn.com/image/fetch/$s_!nyR6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 1272w, https://substackcdn.com/image/fetch/$s_!nyR6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff418b93-43db-476d-af21-e725d0d228da_1400x796.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>I&#8217;m impressed that it automatically added a few destinations with images, instead of a blank canvas.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9a6Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9a6Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 424w, https://substackcdn.com/image/fetch/$s_!9a6Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 848w, https://substackcdn.com/image/fetch/$s_!9a6Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 1272w, https://substackcdn.com/image/fetch/$s_!9a6Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9a6Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9a6Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 424w, https://substackcdn.com/image/fetch/$s_!9a6Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 848w, https://substackcdn.com/image/fetch/$s_!9a6Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 1272w, https://substackcdn.com/image/fetch/$s_!9a6Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fea9df9ad-dad8-4721-aa89-817f2975f04a_1400x730.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>After creating a trip, I can add a few items on this &#8220;visual board&#8221;. I didn&#8217;t further refine the look &amp; feel, which needs more love.</p><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HNKS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HNKS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 424w, https://substackcdn.com/image/fetch/$s_!HNKS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 848w, https://substackcdn.com/image/fetch/$s_!HNKS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 1272w, https://substackcdn.com/image/fetch/$s_!HNKS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HNKS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&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;: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="" title="" srcset="https://substackcdn.com/image/fetch/$s_!HNKS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 424w, https://substackcdn.com/image/fetch/$s_!HNKS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 848w, https://substackcdn.com/image/fetch/$s_!HNKS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 1272w, https://substackcdn.com/image/fetch/$s_!HNKS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0c4121b-332d-4b82-a81a-b48287720d6a_1400x799.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><p>Replit even designed this nifty modal without me even asking.</p><p>Prompt #1:</p><pre><code>Create a trip planning website that multiple users can collaborate and plan trips together. The website will allow users to create itineraries, add hotels, transportation, top visited sites, and automatically suggest restaurants around the top sites and hotels. The trip planner&#8217;s UI will look like a corkboard with drag and drop interface, almost like users are pinning ideas to a board to make trip planning fun and visual.</code></pre><p>Prompt #2:</p><pre><code>For user authentication, also add Google oauth with a &#8220;Sign in with Google&#8221; button.</code></pre><ul><li><p><strong>Instant Gratification:</strong> The first prompt spat out basically everything you see in the screenshots. For prototyping? Insanely good.</p></li><li><p><strong>PM Dream, Developer&#8217;s &#8220;Hmm&#8230;&#8221;:</strong> This is fantastic for Product Managers like me to quickly show, &#8220;See? This is what I mean!&#8221; But, let&#8217;s be clear, it&#8217;s a galaxy away from a production-ready app. The database isn&#8217;t set up, authentication is flaky, drag &amp; drop doesn&#8217;t work, etc.</p></li><li><p><strong>Deployment Hiccup:</strong> Getting it live seemed a bit tricky at first glance. Looks like I&#8217;d need to manually set up Firebase, which adds a bit of friction.</p></li></ul><p><strong>Time Spent: Just 1 Hour!</strong> This includes signing up to Replit (and I&#8217;m the type of person who skips tutorials). For a functional prototype that actually <em>looks</em> like something? Impressive.</p><p>That&#8217;s the summary on my first AI vibe coding experiment! It&#8217;s amazing how quickly you can get an idea off the ground these days.</p><p>Stay tuned for updates on my other AI hacks &#8212; the AI Basketball Coach is calling my name!</p><p><em><strong>What about you? What AI experiments are you cooking up? Drop your thoughts and ideas in the comments below &#8212; I&#8217;d love to hear what you&#8217;re working on!</strong></em></p>]]></content:encoded></item></channel></rss>