<?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[CodeYam’s Substack]]></title><description><![CDATA[At CodeYam, we're building a robust software simulator. This is our blog on Substack. ]]></description><link>https://blog.codeyam.com</link><image><url>https://substackcdn.com/image/fetch/$s_!VZzs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F352328d7-a8ae-44d1-9828-bcbe85a65b59_400x400.png</url><title>CodeYam’s Substack</title><link>https://blog.codeyam.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 18 May 2026 06:10:02 GMT</lastBuildDate><atom:link href="https://blog.codeyam.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[CodeYam]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[codeyam@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[codeyam@substack.com]]></itunes:email><itunes:name><![CDATA[CodeYam]]></itunes:name></itunes:owner><itunes:author><![CDATA[CodeYam]]></itunes:author><googleplay:owner><![CDATA[codeyam@substack.com]]></googleplay:owner><googleplay:email><![CDATA[codeyam@substack.com]]></googleplay:email><googleplay:author><![CDATA[CodeYam]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Ideal Software Development Experience]]></title><description><![CDATA[What might building software look like in the Star Trek universe?]]></description><link>https://blog.codeyam.com/p/the-ideal-software-development-experience</link><guid isPermaLink="false">https://blog.codeyam.com/p/the-ideal-software-development-experience</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Wed, 25 Mar 2026 17:03:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Kyk8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Science fiction often shapes how we imagine the future. While it rarely predicts outcomes precisely, the visions sci-fi offers can still be revealing. Imagining how software development might work in Star Trek, for example, is a useful thought experiment.</p><p>Star Trek represents a technological ideal, at least relative to where we are today. It invites a simple question: if you had access to Star Trek-level technology, how could software development work?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Kyk8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Kyk8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Kyk8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Kyk8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Kyk8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Kyk8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg" width="1481" height="1079" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1079,&quot;width&quot;:1481,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:156795,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Kyk8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Kyk8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Kyk8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Kyk8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57388f13-07b7-453d-9acf-ab25beb2bd46_1481x1079.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image source: <a href="https://galacticjourney.org/march-14-1968-bugs-in-the-machine-star-trek-the-ultimate-computer/">Bugs in the machine (Star Trek: &#8220;The Ultimate Computer&#8221;)</a></figcaption></figure></div><p>Importantly, in the Star Trek universe, many non-technological constraints remain intact. People are still valuable, but also flawed in familiar ways. What changes most dramatically is the quality of the tools they use.</p><h2>Foundational Challenges</h2><p>In this Star Trek world, we will assume that we have a powerful AI that can use available technologies to build whatever software we envision very quickly. This, however, is not the end of the story. </p><p>Even the most powerful AI does not alleviate all of our problems. If you want to build something, you still face a number of challenges:</p><ul><li><p><strong>Iteration:</strong> Your vision for your application will not be detailed or accurate enough when you start building. You need to be able to explore ideas quickly, with high quality feedback, as you build and experiment your way toward a high quality product.</p></li><li><p><strong>Complexity:</strong> Software products become complex very quickly. How do you manage complexity so that you can ensure a quality user experience no matter what the end user is doing within this complex application?</p></li><li><p><strong>Collaboration:</strong> Even if you are building alone, you are working with an AI. The communication challenges for that collaboration are significant and only become more challenging the more people or AI agents you work with.</p></li></ul><p>These dynamics matter, regardless of how capable AI becomes. Even if AI eventually builds large, complex systems with minimal guidance, tools that support iteration, complexity management, and collaboration do not become less important. In fact, they become more important as you are able to build more complex software more quickly. In doing so, you introduce more and more small decisions that will shape the end user experience.</p><p>Significant projects are shaped by thousands of small decisions. Even if an AI can make reasonable choices at each step, those decisions are subjective, and each one subtly steers the product. Human involvement allows those choices to be guided intentionally.</p><p>Over time, the cumulative effect of many small decisions can be the difference between an average product and a great one. When software is built for people, human judgment grounded in lived experience remains essential.</p><p>For the purposes of this piece, we will assume there is real value in people collaborating with AI throughout the lifecycle of a product. Even if an AI produces a strong first version, humans still add value by refining, guiding, and evolving what gets built.</p><h2>Iteration</h2><p>Anyone who has worked on a significant creative project recognizes the value of iteration. You want to be able to run experiments quickly, observe how changes feel or perform, and improve based on what you learn.</p><p>Software has always been unusually well suited to this kind of iteration. Changes can be made at almost any point, even after a product has shipped.</p><p>Fast iteration depends on quickly launching an experiment and getting high-quality feedback you can learn from to, in turn, shape the next experiment.</p><h2>Complexity</h2><p>Software becomes complex very quickly. Before long, it is impossible to predict how every part of a system will respond to a given change. One effective way to manage this complexity is through decomposition and perspective. You need to be able to zoom in on individual components and zoom back out to understand how those pieces fit together.</p><p>Much like Tony Stark working with JARVIS, you might isolate a component, reason about it in isolation, simulate how it behaves under different conditions, make changes, and then observe how those changes integrate back into the larger system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xqcu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xqcu!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 424w, https://substackcdn.com/image/fetch/$s_!xqcu!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 848w, https://substackcdn.com/image/fetch/$s_!xqcu!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 1272w, https://substackcdn.com/image/fetch/$s_!xqcu!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xqcu!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif" width="498" height="312" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:312,&quot;width&quot;:498,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;a man is standing in front of a computer screen .&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="a man is standing in front of a computer screen ." title="a man is standing in front of a computer screen ." srcset="https://substackcdn.com/image/fetch/$s_!xqcu!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 424w, https://substackcdn.com/image/fetch/$s_!xqcu!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 848w, https://substackcdn.com/image/fetch/$s_!xqcu!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 1272w, https://substackcdn.com/image/fetch/$s_!xqcu!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a89c62-e3ef-4c46-9f73-3c075f5439d3_498x312.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Tony Stark built J.A.R.V.I.S. (Just A Rather Very Intelligent System), an advanced AI assistant designed by Tony Stark <a href="https://tenor.com/view/tinkering-tony-stark-tony-stark-jarvis-gif-24567852">Image Source</a></figcaption></figure></div><p>Equally important is understanding how parts of the system interact. Changes to lower-level components often ripple outward, affecting many areas of an application. Managing complexity requires visibility into what is impacted and how.</p><h2>Collaboration</h2><p>One of the hardest challenges in any creative project involving multiple people is communication. You may have a clear vision, but communicating that vision with perfect fidelity is effectively impossible. Language is inherently ambiguous, and that ambiguity increases as you attempt to describe a more complex vision.</p><p>This problem is amplified in software, where specific experiences may only occur under certain state conditions. To change such an experience, you must describe how to put the application in the correct state so that you can describe the necessary changes, execute on them, and see the results.</p><p>While AI has broad knowledge, it typically lacks deep, accumulated context about a specific codebase that coworkers might have. Even with coworkers, or in a Star Trek world where AI has excellent memory, ensuring everyone involved in the project has the same understanding requires a great deal of effort.</p><h2>The Ideal Development Experience</h2><p>Given these goals, what would the ideal experience look like?</p><p>We are imagining a Star Trek-like world, so much of what follows is aspirational. Still, it is a useful exercise.</p><p>Imagine a very powerful AI that can quickly bring any concept to life. Because it is fast, you can begin with vague, imperfect descriptions. That is fine. If the result is wrong, it can be discarded or refined at a very low cost.</p><p>In order to iterate on this initial attempt, you need to first understand what was built. Regardless of the interface (e.g. a screen, a hologram, etc), you need to be able to interact with the application and put it through its paces. Enter simulation.</p><blockquote><p>The ideal tool would use AI to create simulations of every part of the application. It would generate representative data, place the system into different states, and either capture the resulting behavior or run the software live with that data in place. It would essentially demo the application to you, walking through what was built, and showing how it all works under different data scenarios.</p></blockquote><p>You would also be able to isolate individual components and simulate them directly. This makes it easier to iterate on specific parts of the application in isolation and to reason about how they behave under different conditions.</p><p>You can zoom in on components, interact with them in specific states, and zoom back out to see how changes affect the system as a whole. When you notice an issue, the shared context of an isolated component allows you to ask the AI for targeted changes without first explaining the entire path to the desired outcome.</p><p>As changes are made, the AI can quickly demonstrate the results via these simulations across data scenarios so you can feel confident that an intended change does not have unintended consequences elsewhere in the application or under different data scenarios.</p><p>This creates a tight feedback loop. You can explore, adjust inputs, experiment, evaluate results, and repeat. If the tool and the AI are fast enough, this feedback loop allows you to shape both the product and its user interactions with confidence.</p><p>The ability to fluidly zoom in and out and to run rapid experiments at multiple levels of abstraction across a range of data scenarios is at the core of the ideal experience.</p><h2>Other Important Considerations</h2><h3><strong>Documentation</strong></h3><p>High-quality collaboration depends on clear communication, including communication with your past self. Why decisions were made and how the system is meant to work are often not obvious from reading code or using the product.</p><p>With sufficiently powerful AI, documentation can become a continuous process rather than a separate task. As decisions are made, the AI can record them automatically and make them easy to retrieve when you return to a specific part of the system. This creates a clear narrative explaining how and why the software works the way it does, preserving shared context as complexity grows.</p><h3><strong>Maintenance &amp; Testing</strong></h3><p>Building software is fun. Maintenance is not. Yet, maintenance is essential to any high-quality system. As software evolves, it becomes critical to avoid introducing unexpected changes caused by hidden interdependencies.</p><p>Automated testing remains one of the most effective ways to manage this risk. Even in a future where AI is highly capable, there is little value in having it manually check for regressions when automated tests can exercise thousands or even millions of scenarios in seconds.</p><p>AI can, however, be very effective at generating and expanding test coverage. As software is developed and explored, correct behaviors can be captured. If the same scenarios later produce different results, you can be alerted and decide whether the change is intentional or unexpected.</p><p>This allows complex systems to evolve without sacrificing speed or confidence.</p><h2><strong>CodeYam: Introducing Memory, Editor, &amp; Labs</strong></h2><p>This vision is what we are working toward at CodeYam.</p><h3>CodeYam Memory</h3><p>Our first publicly available feature is called CodeYam Memory and focuses on self-reflective memory creation and tracking (essentially the continuous documentation process we described above).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hQ5b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hQ5b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 424w, https://substackcdn.com/image/fetch/$s_!hQ5b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 848w, https://substackcdn.com/image/fetch/$s_!hQ5b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!hQ5b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hQ5b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png" width="1456" height="901" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:901,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:254313,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.codeyam.com/i/187798066?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hQ5b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 424w, https://substackcdn.com/image/fetch/$s_!hQ5b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 848w, https://substackcdn.com/image/fetch/$s_!hQ5b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 1272w, https://substackcdn.com/image/fetch/$s_!hQ5b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F257afcf9-a9f7-457b-9d8c-9c5a06223287_2538x1570.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">CodeYam Memory for Claude Code Dashboard. </figcaption></figure></div><p>During a working session, the AI (Claude Code, to start) reviews what it did and identifies areas of confusion, important architectural decisions, or context that would be valuable in the future. These insights are saved as memories and associated with relevant parts of the codebase.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yI2T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yI2T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 424w, https://substackcdn.com/image/fetch/$s_!yI2T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 848w, https://substackcdn.com/image/fetch/$s_!yI2T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 1272w, https://substackcdn.com/image/fetch/$s_!yI2T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yI2T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png" width="1456" height="465" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:465,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118162,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.codeyam.com/i/187798066?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yI2T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 424w, https://substackcdn.com/image/fetch/$s_!yI2T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 848w, https://substackcdn.com/image/fetch/$s_!yI2T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 1272w, https://substackcdn.com/image/fetch/$s_!yI2T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787e5e0d-6584-45f7-83b6-5f2b7ad04fa0_1874x598.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example of CodeYam Memory in a Claude Code CLI session in the terminal.</figcaption></figure></div><p>You can review these memories, see which ones have changed, and explore which ones apply to a given area of the system. High-quality memories can be marked as reviewed so you know which context you have already validated.</p><h3><strong>CodeYam Editor</strong></h3><p>CodeYam Editor is a new product in early access and the beginning of our push toward the ideal development experience. It introduces a new software development workflow where code and data are developed in conjunction, creating simulations that drive the development process.</p><p>If you&#8217;re interested in trying this out, sign up for our <a href="https://codeyam.com/waitlist">waitlist</a> and mention &#8220;CodeYam Editor&#8221; specifically.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codeyam.com/waitlist&quot;,&quot;text&quot;:&quot;Join the Waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codeyam.com/waitlist"><span>Join the Waitlist</span></a></p><h3>CodeYam Labs &amp; Simulations</h3><p>Simultaneously, other early access functionality is available to select users in the &#8220;Labs&#8221; section of the CodeYam Dashboard. </p><p>These Labs features includes the ability to edit, create, and deconstruct software and isolate any method or function. Once isolated, a function can be simulated under different data scenarios, interacted with directly, and modified with AI assistance.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mHUR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mHUR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 424w, https://substackcdn.com/image/fetch/$s_!mHUR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 848w, https://substackcdn.com/image/fetch/$s_!mHUR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 1272w, https://substackcdn.com/image/fetch/$s_!mHUR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mHUR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png" width="1456" height="791" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:791,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:312421,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.codeyam.com/i/187798066?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mHUR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 424w, https://substackcdn.com/image/fetch/$s_!mHUR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 848w, https://substackcdn.com/image/fetch/$s_!mHUR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 1272w, https://substackcdn.com/image/fetch/$s_!mHUR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad3b9c38-68dc-40d0-a2ac-ce2b0ad56933_2880x1564.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">CodeYam Labs is in early access, with simulations available to select individuals and teams. </figcaption></figure></div><p>When a simulation behaves as expected, it can be captured and used in a variety of ways, including as part of a test suite or as a way to evaluate or demo the application. As simulations accumulate, you gain the ability to explore the system holistically, zooming in and out while collaborating with AI to make changes.</p><p>This is an early step, but it points toward a development experience where understanding, iteration, and confidence scale alongside complexity.</p><h3><strong>Why now?</strong></h3><p>AI has changed the economics of software creation. Generating code is no longer the primary bottleneck. What remains hard is the challenges of communicating your vision, iterating on it as you learn more, and managing and maintaining the complexity of it as it grows. Even with increasingly powerful AI, we benefit by having excellent tools to support these challenges.</p><p>A Star Trek-level future does not eliminate the need for these tools. It amplifies it. The more powerful our AI collaborators become, the more important it is to have interfaces that keep humans oriented, intentional, and in control.</p><div><hr></div><p><em><a href="https://codeyam.com/">CodeYam</a> introduces simulation to create a powerful, comprehensive AI-native software development experience for experienced developers and aspiring builders alike.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hello@codeyam.com&quot;,&quot;text&quot;:&quot;&#9993;&#65039; Email Us&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="mailto:hello@codeyam.com"><span>&#9993;&#65039; Email Us</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codeyam.com/waitlist&quot;,&quot;text&quot;:&quot;Join the Waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codeyam.com/waitlist"><span>Join the Waitlist</span></a></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading the CodeYam blog! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Introducing the CodeYam CLI with CodeYam Memory]]></title><description><![CDATA[Building the ideal development experience for software built with AI]]></description><link>https://blog.codeyam.com/p/introducing-the-codeyam-cli-with</link><guid isPermaLink="false">https://blog.codeyam.com/p/introducing-the-codeyam-cli-with</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 03 Mar 2026 21:40:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Dv2l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today we&#8217;re opening the CodeYam CLI to the public. This is free to download and use. It requires no registration and only runs locally. The CodeYam CLI integrates with Claude Code and leverages it for a variety of functions.</p><p>Over time, the CodeYam CLI will introduce features designed to make working with AI on software development more effective and powerful. You can read more in our previous blog posts, and we&#8217;ll be sharing more detail on our full vision soon.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading CodeYam&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Our first product, now available in the CodeYam CLI, is a memory management feature we&#8217;ve named CodeYam Memory.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Dv2l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Dv2l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 424w, https://substackcdn.com/image/fetch/$s_!Dv2l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 848w, https://substackcdn.com/image/fetch/$s_!Dv2l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 1272w, https://substackcdn.com/image/fetch/$s_!Dv2l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Dv2l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png" width="1447" height="871" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:871,&quot;width&quot;:1447,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;: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="" srcset="https://substackcdn.com/image/fetch/$s_!Dv2l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 424w, https://substackcdn.com/image/fetch/$s_!Dv2l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 848w, https://substackcdn.com/image/fetch/$s_!Dv2l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 1272w, https://substackcdn.com/image/fetch/$s_!Dv2l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218a4f51-69bb-4a83-b331-95554daebd22_1447x871.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">CodeYam Memory: current view of the CodeYam CLI Dashboard and Claude Code rules which, in this case, are for the CodeYam project itself.</figcaption></figure></div><p>As we&#8217;ve worked toward our longer-term-vision of an ideal software development experience, we&#8217;ve had to leverage complex static code analysis. As AIs became more adept they were able to support more and more of this work. We were able to increasingly use Claude Code to accelerate the pace of development. Unfortunately, because we were working on a novel challenge, we found that Claude Code was frequently confused. </p><p>In each session, many of the same issues would arise. Complex parts of the codebase had to be researched from scratch each time Claude touched them, even when it was interacting with those same areas multiple times per day. The same misunderstandings would often resurface despite Claude doing its best to investigate the code.</p><p>We attempted to use CLAUDE.md and continue to do so. Our root-level CLAUDE.md helps communicate some of the rules of our repo, such as approaching changes via test-driven development (TDD), as well as tribal knowledge our team has internalized. However, we don&#8217;t want to overload it with information about every area of the codebase, given context window constraints and our desire to avoid confusing Claude with irrelevant details.</p><p>So we explored CLAUDE.md files in select folders within the repo. These were valuable but proved difficult to write and maintain. We weren&#8217;t creating or updating them frequently enough to have the impact we wanted. On more than one occasion, we discovered that one contained outdated information that was actively causing confusion.</p><p>Recently, researchers scanned 10,000 repositories and found that only 466 (5%) had adopted AI configuration files such as AGENTS.md, CLAUDE.md, or Copilot instructions. Of the 155 AGENTS.md files analyzed, 50% were never modified after the initial commit, and only 6% had 10 or more revisions (<a href="https://www.threads.com/@omarsar0/post/DVWAx0SlHDi?xmt=AQF0sjA9m-opaWrVuyq9LVRLpt7fZUFlW0rqG74pjWEctA">source</a>). It seems evident that most teams have these same struggles trying to properly use and maintain the AI configuration files that serve as the &#8220;memory&#8221; for the AI.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yIPe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yIPe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 424w, https://substackcdn.com/image/fetch/$s_!yIPe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 848w, https://substackcdn.com/image/fetch/$s_!yIPe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 1272w, https://substackcdn.com/image/fetch/$s_!yIPe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yIPe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png" width="1456" height="1350" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1350,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yIPe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 424w, https://substackcdn.com/image/fetch/$s_!yIPe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 848w, https://substackcdn.com/image/fetch/$s_!yIPe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 1272w, https://substackcdn.com/image/fetch/$s_!yIPe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F218d9b43-ca29-4ce9-aea1-c04fc5a207a2_1596x1480.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Threads post summarizing this recent research study (<a href="https://www.threads.com/@omarsar0/post/DVWAx0SlHDi?xmt=AQF0sjA9m-opaWrVuyq9LVRLpt7fZUFlW0rqG74pjWEctA">source</a>).</figcaption></figure></div><p>So we set out to find a better solution. We discovered Claude Rules. Claude Rules allow you to surgically inject specific memories into the context window based on which files are being interacted with during a conversation. Using search patterns, you can apply rules across the entire codebase or to individual files deep within nested folders.</p><p>The problem is that writing and maintaining Claude Rules by hand is difficult in practice, arguably even more difficult than managing nested CLAUDE.md files. So we built CodeYam Memory to help with this.</p><h2><strong>How CodeYam Memory Works</strong></h2><h4><strong>1. Conversation Reflection.</strong></h4><p>CodeYam Memory adds a reflection phase, run by a background agent, to all Claude Code conversations. It looks for anything confusing, relevant tribal knowledge about the software being developed, and complex architectural decisions made along the way. The goal is to capture these observations as Claude Rules with appropriate paths so they&#8217;re only applied to relevant parts of the codebase, preserving the context window and avoiding irrelevant information.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5trD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5trD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 424w, https://substackcdn.com/image/fetch/$s_!5trD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 848w, https://substackcdn.com/image/fetch/$s_!5trD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 1272w, https://substackcdn.com/image/fetch/$s_!5trD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5trD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png" width="1456" height="550" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:550,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5trD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 424w, https://substackcdn.com/image/fetch/$s_!5trD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 848w, https://substackcdn.com/image/fetch/$s_!5trD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 1272w, https://substackcdn.com/image/fetch/$s_!5trD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0610ff20-d5f2-4c0f-839f-bb731352155e_1674x632.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Claude Code with CodeYam Memory will automatically reflect on conversations or you can prompt Claude to do so with /codeyam-memory</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jlO-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jlO-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 424w, https://substackcdn.com/image/fetch/$s_!jlO-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 848w, https://substackcdn.com/image/fetch/$s_!jlO-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 1272w, https://substackcdn.com/image/fetch/$s_!jlO-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jlO-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png" width="1456" height="494" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:494,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jlO-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 424w, https://substackcdn.com/image/fetch/$s_!jlO-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 848w, https://substackcdn.com/image/fetch/$s_!jlO-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 1272w, https://substackcdn.com/image/fetch/$s_!jlO-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5bdd6b9-410a-4b57-acc0-42b0bf3920ca_1686x572.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Claude Code checking in to investigate or get input on whether a rule is still required.</figcaption></figure></div><h4><strong>2. Rule Auditing.</strong></h4><p>If Claude Rules are used effectively, you can quickly end up with dozens of highly specific rules across the codebase. Maintaining them as the repo evolves becomes difficult. To help with this, CodeYam Memory tracks each rule and, when impacted files are edited, a background auditing agent detects stale rules and updates the rule as needed based on code changes. This prevents rules from drifting away from the code and creating confusion for Claude.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ewLM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ewLM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 424w, https://substackcdn.com/image/fetch/$s_!ewLM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 848w, https://substackcdn.com/image/fetch/$s_!ewLM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!ewLM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ewLM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png" width="1298" height="1152" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1152,&quot;width&quot;:1298,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ewLM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 424w, https://substackcdn.com/image/fetch/$s_!ewLM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 848w, https://substackcdn.com/image/fetch/$s_!ewLM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!ewLM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78c3fa54-30e5-4aa0-8214-ad498e16e293_1298x1152.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>CodeYam Memory Rule Audit lets you easily see which rules apply to a given file.</em></p><h4><strong>3. The CodeYam CLI Dashboard.</strong></h4><p>For CodeYam Memory, the dashboard provides a comprehensive view of your rules, allowing you to read, edit, and track changes, as well as see which rules apply to each file in the codebase.</p><p>The CodeYam CLI Dashboard will evolve into a more robust interface for interacting with and understanding your software project, including its architecture, system evolution, and AI interactions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nT_U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nT_U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 424w, https://substackcdn.com/image/fetch/$s_!nT_U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 848w, https://substackcdn.com/image/fetch/$s_!nT_U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!nT_U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nT_U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png" width="1248" height="1052" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1052,&quot;width&quot;:1248,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nT_U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 424w, https://substackcdn.com/image/fetch/$s_!nT_U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 848w, https://substackcdn.com/image/fetch/$s_!nT_U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 1272w, https://substackcdn.com/image/fetch/$s_!nT_U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21bf7b97-0de6-440a-abc4-a076159042eb_1248x1052.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">View recently changed rules on the CodeYam CLI Dashboard and review to save memories.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eUHp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eUHp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 424w, https://substackcdn.com/image/fetch/$s_!eUHp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 848w, https://substackcdn.com/image/fetch/$s_!eUHp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!eUHp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eUHp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png" width="1456" height="882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:882,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eUHp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 424w, https://substackcdn.com/image/fetch/$s_!eUHp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 848w, https://substackcdn.com/image/fetch/$s_!eUHp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!eUHp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1a52ec0-4ec1-4ee6-8dae-d9c8c8fb1d51_2048x1240.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">View all rules for a software project on the CodeYam CLI Dashboard and the impacted files.</figcaption></figure></div><p>All of this is available for free. No registration required. The CodeYam CLI runs locally and is fully configurable to your needs. This is just the first step toward our larger vision for how humans and AI can most effectively work together to build software.</p><h2><strong>How to Get Started</strong></h2><h4>Install:</h4><p><code>npm install -g @codeyam/codeyam-cli@latest</code></p><h4>Then from your project root:</h4><p><code>codeyam</code></p><p>This will launch a dashboard with further instructions for initializing CodeYam Memory.</p><p>If you have questions, feedback, or run into issues, join our <a href="https://discord.com/invite/x4uAgaRdwF">Discord</a> server or email us. We&#8217;d love to hear  what you think. </p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading the CodeYam blog! Subscribe for free to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[How we’re using AI to communicate about our product (while building it)]]></title><description><![CDATA[As a small startup (a team of four), we are always moving fast.]]></description><link>https://blog.codeyam.com/p/how-were-using-ai-to-communicate</link><guid isPermaLink="false">https://blog.codeyam.com/p/how-were-using-ai-to-communicate</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 13 Jan 2026 18:16:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pmbA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a small startup (a team of four), we are always moving fast. Right now, while our CTO and main developer are focused on the deeper, structural parts of our product, <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nadia Eldeib&quot;,&quot;id&quot;:552827,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5cccef64-7e0b-4ab8-b879-64afeaedfe7f_1206x1206.jpeg&quot;,&quot;uuid&quot;:&quot;7a9a3c80-3bc4-44d2-88de-df456a580104&quot;}" data-component-name="MentionToDOM"></span> (our CEO) and I (product designer) are pitching in wherever we can. Thanks to tools like <a href="https://code.claude.com/docs/en/overview">Claude Code</a> and <a href="https://cursor.com/">Cursor</a>, that includes frontend work and even some basic backend tasks.</p><p>The upside: we are shipping more changes faster with all of us contributing to the code and product.</p><p>The downside: while we are all heads down building, there is little time left to create thoughtful demos, explainers, and content that clearly communicate what we are building.</p><p>So we started experimenting with AI tools not just to <em>build</em> the product, but also to help us <em>demo how it works</em>.</p><h3><strong>Letting AI describe the product it&#8217;s helping to build</strong></h3><p>As AI becomes more powerful and more options emerge at both the foundational model and tooling layer, it is easy to feel overwhelmed by the number of options out there. Choosing what to try (and what to ignore) is not always obvious.</p><p>So far, our team&#8217;s experience with Claude Code has been really good. We have learned how to prompt using the Claude Code CLI in the terminal to make frontend changes, commit code, and even create and review pull requests. Even though my background is design, I honestly feel like a junior developer - in a good way!</p><p>Recently, the thought occurred to me:</p><p><em>If Claude is helping us build the product, what happens if I ask it to describe the product?</em></p><p>As an experiment, I asked Claude to explain what CodeYam is, what problems it solves for users, and where its main strengths lie. The result was&#8230; surprisingly good. Clear, mostly accurate, and relatively close to how we&#8217;ve been describing it internally.</p><p>The prompt I used: </p><blockquote><p><em>Claude, can you explain in detail what CodeYam is and how it works?</em></p></blockquote><p>Claude&#8217;s response:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pmbA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pmbA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 424w, https://substackcdn.com/image/fetch/$s_!pmbA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 848w, https://substackcdn.com/image/fetch/$s_!pmbA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 1272w, https://substackcdn.com/image/fetch/$s_!pmbA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pmbA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png" width="1456" height="1411" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1411,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:308100,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.codeyam.com/i/184347303?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pmbA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 424w, https://substackcdn.com/image/fetch/$s_!pmbA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 848w, https://substackcdn.com/image/fetch/$s_!pmbA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 1272w, https://substackcdn.com/image/fetch/$s_!pmbA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5b9e1dc-6287-4c9d-8542-e5312b4652ae_1624x1574.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>From product description to demo script</strong></h3><p>Encouraged by my initial results, I took this experiment one step further and asked Claude to create a script for a full product demo video.</p><p>What really impressed me was how the AI structured the story. Claude chose to start the demo with a pull request and a concrete developer problem; this was almost exactly the same framing Nadia and I had been brainstorming ourselves. Seeing an AI independently land on the same narrative we had was eye-opening.</p><p>Prompt: </p><blockquote><p><em>Based on your previous description of CodeYam, can you please create a script for a demo that targets developers?</em></p></blockquote><p>Claude&#8217;s response:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j4xB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j4xB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 424w, https://substackcdn.com/image/fetch/$s_!j4xB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 848w, https://substackcdn.com/image/fetch/$s_!j4xB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 1272w, https://substackcdn.com/image/fetch/$s_!j4xB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j4xB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png" width="1456" height="1166" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1166,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:493685,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.codeyam.com/i/184347303?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j4xB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 424w, https://substackcdn.com/image/fetch/$s_!j4xB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 848w, https://substackcdn.com/image/fetch/$s_!j4xB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 1272w, https://substackcdn.com/image/fetch/$s_!j4xB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd55ff448-1db7-4254-802b-9deff09c9490_1950x1562.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>Turning text into conversation with NotebookLM</strong></h3><p>Around the same time I was experimenting with Claude, <a href="https://notebooklm.google/">Google NotebookLM</a> caught my attention. NotebookLM is described by Google on their site as &#8220;an AI research tool and thinking partner that can analyze your sources, turn complexity into clarity, and transform your content.&#8221;</p><p>I had recently had a long conversation with my brother, who is a developer working at another startup, about CodeYam and other AI tools like NotebookLM. So, I decided to give NotebookLM a try.</p><p>I fed NotebookLM:</p><ul><li><p>The CodeYam product description</p></li><li><p>The demo script generated by Claude</p></li><li><p>Our website (<a href="https://codeyam.com/">codeyam.com</a>)</p></li><li><p>An early demo iteration Nadia was working on internally</p></li></ul><p>The result was mind-blowing.</p><p>It generated a long, conversational walkthrough of the product. Probably too long and a bit too podcast-y to be something we would feel confident putting out there to officially represent CodeYam. But as a first attempt, it really surprised us in the best way.</p><div id="youtube2-EyXe4GhNNCY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;EyXe4GhNNCY&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/EyXe4GhNNCY?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>The content was mostly (but not 100%) accurate, the explanations made sense, and the illustrations were fun and informative. We then tried a second version, aiming to make it shorter and sharper, and here&#8217;s the resulting take:</p><div id="youtube2-HcnodWtUc1g" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;HcnodWtUc1g&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/HcnodWtUc1g?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><h3><strong>Still experimenting&#8230; and I continue to be pleasantly surprised</strong></h3><p>These are still exploratory demos. There is plenty to tweak, tighten, and improve. That said, overall, we&#8217;ve been blown away by how much these tools can accelerate not just software development, but also communication.</p><p>Tools like Claude, Cursor, and now Google NotebookLM help us move faster, test ideas earlier, and lower the barrier to creating content that would otherwise take much more time and coordination.</p><p>If you&#8217;ve tried creating product content with tools like these and have suggestions, recommendations, or best (or worst!) practices to share for creating demos or explainers in an easy, fun, and fast way, let us know in the comments section below &#128071;</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading CodeYam&#8217;s blog! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[To Tool or Not To Tool? ]]></title><description><![CDATA[When can AI &#8220;just do it&#8221; and when do you need tooling to help for software development?]]></description><link>https://blog.codeyam.com/p/to-tool-or-not-to-tool</link><guid isPermaLink="false">https://blog.codeyam.com/p/to-tool-or-not-to-tool</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 23 Dec 2025 17:27:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VZzs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F352328d7-a8ae-44d1-9828-bcbe85a65b59_400x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>At CodeYam, we are building out tools to help you understand what code does by generating simulations. Simulations, by our definition, mean generating high-quality mock data that is designed to change the execution flow of your code, so you can see the results of a given function or method across a range of data or user scenarios.</p><p>In creating this tooling, our goal is to help both AI agents and human developers (and their less technical colleagues) collaborate more effectively to build software. As it happens, this is valuable for software development teams regardless of whether AI is being used or not. AI amplifies existing challenges that can exist among human colleagues and, when AI is being used in software development, the speed of change and potential for miscommunication increase significantly. This makes tools such as CodeYam more useful.</p><h3>Why Can&#8217;t AI Just Do Everything Itself?</h3><p>Given this, we are often asked why an AI can&#8217;t just do this all itself. If a powerful enough AI existed, why couldn&#8217;t it simulate the code it is writing and display it to the user?</p><p>We&#8217;ll put aside the other aspects of CodeYam that help with storing, organizing, and leveraging these artifacts for sharing, documentation, and testing and focus on AI tool use.</p><p> That is the primary question we want to explore here: <strong>should an AI use tools and, if so, when?</strong></p><p>We think the answer to this is simply yes, AI should use tools. The primary logic is simple: intelligent beings use tools, so why wouldn&#8217;t an AI? In fact, as intelligence increases so does tool use. The more intelligent you are, the more often you use tools, and the more complex those tools can be.</p><h3>A Framework for Thinking About Tool Use</h3><p>There is more nuance to this question, though. It parallels the concept of System 1 and System 2 thinking popularized by Daniel Kahneman in <em><a href="https://www.goodreads.com/book/show/11468377-thinking-fast-and-slow">Thinking, Fast and Slow</a></em>. System 1 thinking is fast, automatic, and intuitive; System 2 thinking is slow, deliberate, and effortful.</p><p>You might consider adding a System 3 thinking: thinking that an intelligence cannot do on its own, but rather requires the help of a tool to accomplish.</p><p>This System 1, 2, and 3 thinking becomes a good framework to think about tool usage for AI, regardless of how intelligent it becomes.</p><h3>System 1, System 2, and System 3 Tasks</h3><p>Essentially there are certain tasks that an intelligence can do almost without thinking. If you are fluent in English and reading this, it takes very little effort to do so. Even more obviously, if someone talks to you in your native language you essentially can&#8217;t stop yourself from understanding them. Similarly, if I were to ask you what 2 + 2 is, the answer probably arrives immediately with essentially no effort.</p><p>At the next level are tasks that an intelligence can do on their own but it takes effort, goes more slowly, and is more error-prone. For humans examples include trying to understand something in a language you&#8217;ve studied but are not fluent in or trying to calculate 7 * 17. It likely takes some time and effort to complete the task and you&#8217;re more likely to get it wrong, but you can do it without the help of a tool.</p><p>Finally, there are those tasks where we need tools. In this category, we have examples such as trying to understand a language you&#8217;ve never studied before that is not similar to any language you already know. Or trying to calculate the square root of 32,317. Most likely, unless you&#8217;re a math prodigy, you just can&#8217;t figure out how to do this on your own. While this may not be impossible to figure out on your own, the required effort and likelihood of an error are so high as to make it not worthwhile. This is especially true if a tool is available (e.g. a calculator) that can complete the task quickly and with a low likelihood of error.</p><h3>Applying This Framework to AI</h3><p>Now, the threshold for each of these levels changes depending on the intelligence in question. This becomes the primary question for AI: How intelligent can it become and, for any given level of intelligence, what tasks should it leverage tools for?</p><p>More specifically, for an AI, what tasks:</p><ul><li><p>Are easy enough that the AI should do them directly (using a tool would be wasteful)?</p></li><li><p>Would benefit from tools to speed the AI up, allow it to save energy, and lower the risk of error?</p></li><li><p>Are so hard that a tool is required (these would not be achievable without one)?</p></li></ul><p>At any level of intelligence, there are tasks in all three categories. Maybe there is some God-tier AI that is so efficient that all tasks reside in the first bucket. Given the sheer complexity of the universe, that seems extremely unlikely. While AI will continue to advance, we&#8217;re certainly nowhere near that level of omnipotence at the current moment. And even if achieved, it seems unlikely that there are never opportunities for tools to improve efficiency and performance.</p><p>For the near future, we&#8217;re left wondering what tasks will fit into which categories for a given AI.</p><h3>Why Software Simulation Requires Tooling Today</h3><p>For CodeYam specifically, our testing has shown that for most current AI models the software development tasks we are asking the AI to do fall into the third category: they cannot be done without help from tooling.</p><p>The task is to understand how a complex method or function behaves by passing data through it. To do this, we need a very accurate understanding of the data structures across the entire dependency tree of that method or function.</p><p>This may not sound that complex, and we originally did not realize how complex it would be to achieve. However, code becomes very complex very quickly! If you think about all of the variations of data that can pass through code, this task really explodes in complexity.</p><p>As a side note, we did consider database schemas and type systems for this information. They are helpful, but they describe types in their full structure and do not handle recursion very well. Most functions and methods use a fraction of the structure described in a database schema or type system and are not very informative about how many layers of a given data structure are required to properly simulate the code with mock data. In the end, extensive static code analysis was necessary to calculate the most accurate and relevant data structure.</p><h3>Tool Use as a Measure of Intelligence</h3><p>For CodeYam, we believe that while all of the AI models and agents we&#8217;ve tested completely fail at this task, and therefore require a tool to accomplish the task at all, there&#8217;s a reasonable chance in the near future that an AI will be available where this task is in category two (possible without tooling but faster / better as a result of tooling) instead of three (impossible without tooling). Given the complexity of code, though, we believe we are quite far away from an AI being able to do this task so easily and effectively that using a tool actually slows it down.</p><p>It&#8217;s worth asking this question for any number of tasks an AI is being asked to perform, and not just assuming that any given task will be easy enough for the AI to achieve.</p><p>Just because an AI can perform a task, doesn&#8217;t mean it shouldn&#8217;t use a tool to help it perform the task more quickly and effectively. Ignoring helpful tools is a sign of lesser intelligence, not greater intelligence.</p><div><hr></div><p>Thanks for reading. If you&#8217;re a developer interested in software simulation, join the CodeYam waitlist. You can also subscribe for future posts.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codeyam.com/waitlist&quot;,&quot;text&quot;:&quot;Join waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codeyam.com/waitlist"><span>Join waitlist</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.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.codeyam.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[CodeYam: The Value of Software Simulations]]></title><description><![CDATA[Our vision: simulations as the IDE for generative AI]]></description><link>https://blog.codeyam.com/p/codeyam-the-value-of-software-simulations</link><guid isPermaLink="false">https://blog.codeyam.com/p/codeyam-the-value-of-software-simulations</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Thu, 14 Aug 2025 18:40:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V-m8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Simulations play a critical role in how scientists and engineers build and explore complex products, from planes and skyscrapers to drugs and even shoes. Simulations allow teams to test products under a wide range of conditions, accelerating feedback and learning, which reduces risk, cost, and time-to-market.</p><p>What if we could simulate software the same way we simulate physical systems?</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading CodeYam&#8217;s Substack! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>What Are Software Simulations?</h2><p>A wind tunnel is a simulated environment that makes iteratively testing under varying wind conditions possible. An early wind tunnel allowed the Wright Brothers to test hundreds of wing designs within a few months, enabling them to build the first airplane to achieve powered flight.</p><p>For software, the varying conditions are the data that is passed through the system.</p><p>Software is essentially made up of data (states) and functions (methods). The goal of a software simulator is to generate different data that enables the developer to see how the various functions in a software system respond to different inputs.</p><p>We define software simulations as passing varying data through isolated parts of a software application and capturing the results for comparison, evaluation, and documentation. This could be for a single function, a group of interdependent functions, or all the way up to the high-level functions that provide the entry points into a software system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V-m8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V-m8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 424w, https://substackcdn.com/image/fetch/$s_!V-m8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 848w, https://substackcdn.com/image/fetch/$s_!V-m8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 1272w, https://substackcdn.com/image/fetch/$s_!V-m8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V-m8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png" width="1456" height="551" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:551,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;: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="" srcset="https://substackcdn.com/image/fetch/$s_!V-m8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 424w, https://substackcdn.com/image/fetch/$s_!V-m8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 848w, https://substackcdn.com/image/fetch/$s_!V-m8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 1272w, https://substackcdn.com/image/fetch/$s_!V-m8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dbf106d-98bf-4de0-a270-3bf5d962e6cc_1600x606.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Imagine writing a backend function that calculates pricing based on user tiers, discounts, and usage. CodeYam can simulate dozens of realistic input combinations to show you what the function does, providing immediate feedback about how the function responds to diverse inputs. Now imagine doing this across every frontend and backend function in your entire application within minutes.</p><h2>Why Are Software Simulations Valuable?</h2><p>Just as simulations help other research and engineering teams accelerate product development through faster feedback loops, reducing risk and cost, so too can software simulations accelerate the software development life cycle.</p><p>Imagine: as you write code (or as an AI agent writes your code), a separate AI-based system is showing you what happens when different data is passed into the code you are writing. The results of these simulations might be visual (e.g. a React component) or data (e.g. a backend function) or might involve calling third party services (e.g. an API or database).</p><p>With a variety of data scenarios, you can see what the code will do when presented with different data. This provides immediate feedback to the software developer (or the person ultimately responsible for the product if an AI agent is acting as the developer), helping them to more easily validate whether the code being written has the intended effect.</p><p>As new software functionality is developed, simulations can be shared internally with the team or even externally with customers to demonstrate progress and gather feedback. New developers can learn about the software system more efficiently by seeing how each piece of the overall system behaves. As a software system evolves, newer simulations can be compared to older simulations to ensure that nothing changed unexpectedly. This ensures there are always up-to-date simulations across the whole application for demonstration, documentation, and a robust &#8220;approval&#8221; test suite.</p><h2>Why Now? The Rise of AI Software Development</h2><p>Over the last few decades, software development has evolved significantly with more powerful dev tooling, robust CI/CD pipelines, and, more recently, with AI supporting code generation or AI agents that can write the code themselves. In this new world, we need new tools to help us understand what our code does, especially as more code is written by AI, not humans.</p><p>AI also makes robust simulations possible. Without AI, the technique closest to software simulation is fuzz testing, which involves passing in a wide range of random values into functions to ensure the system does not crash. Fuzz testing is valuable, but it is constrained to finding errors that cause the software to run too slowly or fail.</p><p>With AI, we can go beyond fuzz testing to ensure we not only avoid failures but also that the business logic is properly respected. AI can semantically understand what the software is trying to do and can attempt to both identify failures and generate successful simulations.</p><p>Looking towards the future of software development, as AI agents are used to write more and more code, robust simulations become mission critical. We will increasingly need tooling to help us understand if the AI is building the correct software.</p><p>The odds of missing bugs, issues, or deviations from business intent in code that an AI wrote is quite high. Moreover, AI agents may generate test suites that validate their own changes, but overlook the broader business context of the software, resulting in a false sense of correctness and regressions that go unnoticed until later.</p><p>With static code analysis and AI, CodeYam can do something previously not possible: for each change to a codebase, we can generate high quality simulations that make evaluating the results of an AI agent changing the code far easier.</p><h2>Simulations as the IDE for Generative AI</h2><p>As AI becomes a collaborator, not just a tool, we need new paradigms and interfaces for human-to-AI and AI agent-to-agent interactions. This is where simulation becomes not just a tool, but also the core of the development environment.</p><p>We need ways of visualizing and navigating software systems that allow us to easily specify which part of an application we want to change. We need to be able to isolate and discuss the change to a specific part of the system. Once that change has been written, we need to verify the results of this change. Simulations provide the necessary artifacts to find, discuss, and potentially change isolated parts of a software system, even as a non-technical user.</p><p>Simulations become the Integrated Development Environment (IDE) for working with AI agents.</p><h2>CodeYam: 18+ Months of Software Simulation R&amp;D</h2><p>CodeYam represents over 18 months of R&amp;D into how to best utilize AI in creating software simulations, leverage those simulations during the software development life cycle, and manage the complexity and significant amount of information created by these simulations. In this way, CodeYam has become a simulation-based IDE for humans to interact with AI agents around isolated parts of a complex software system.</p><p>The simulator uses a combination of both static code analysis and generative AI to ensure accurate and high quality results. The simulator currently supports TypeScript and frameworks such as Next.js and Remix, but the R&amp;D has revealed a strategy that will allow the simulator to be ported to other languages more quickly and easily going forward.</p><p>The future of software isn&#8217;t just AI writing code; it&#8217;s humans and AI collaborating across the entire software development life cycle. Simulation is the shared language that makes that collaboration possible.</p><p>CodeYam is building that interface. If you&#8217;re building or using AI or agents for software development, we&#8217;d love to learn about and support what you&#8217;re doing.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hello@codeyam.com&quot;,&quot;text&quot;:&quot;&#128231; Get in touch&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="mailto:hello@codeyam.com"><span>&#128231; Get in touch</span></a></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe to receive updates on what we&#8217;re building at CodeYam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Creating Software Without Writing Code: Testing AI “Vibe Coding” Tools]]></title><description><![CDATA[Can you build a real, functional web app with nothing but natural language prompts?]]></description><link>https://blog.codeyam.com/p/creating-software-without-writing</link><guid isPermaLink="false">https://blog.codeyam.com/p/creating-software-without-writing</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Fri, 20 Jun 2025 13:12:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zwQq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We recently put vibe coding to the test at CodeYam, exploring AI tools that turn natural language into working software. These tools are becoming increasingly sophisticated, but how well do they perform when asked to build a moderately complex application and not just a pretty static landing page?</p><p>We tested six tools:</p><ul><li><p><strong><a href="https://v0.dev/">v0</a></strong><a href="https://v0.dev/"> by Vercel</a> </p></li><li><p><strong><a href="https://lovable.dev/">Lovable</a> </strong></p></li><li><p><strong><a href="https://bolt.new/">Bolt</a> </strong>by StackBlitz </p></li><li><p><strong><a href="https://idx.google.com/">Firebase Studio</a></strong> (formerly IDX) </p></li><li><p><strong><a href="https://replit.com/">Replit AI agents</a> </strong></p></li><li><p><strong><a href="https://www.figma.com/make/">Figma Make (Beta)</a></strong></p></li><li><p><strong><a href="https://base44.com/">Base44</a> (just acquired by Wix) </strong></p></li></ul><p>Each offered natural language input and code output with a UI preview.</p><p>We also considered GitHub Spark (demo&#8217;d at GitHub Universe &#8216;24), but it&#8217;s in limited preview and wasn&#8217;t testable.</p><div><hr></div><h2>The Task: Build a Real App</h2><p>The assignment was straightforward but ambitious: create a multi-page, mobile-responsive, to-do app in a dark theme with a number of high-level features explicitly called out.</p><p>Also ask: &#8220;What functionality is missing? Generate a product spec.&#8221; as the first step.</p><p>We then prompted the tools to build.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zwQq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zwQq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 424w, https://substackcdn.com/image/fetch/$s_!zwQq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 848w, https://substackcdn.com/image/fetch/$s_!zwQq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 1272w, https://substackcdn.com/image/fetch/$s_!zwQq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zwQq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png" width="1234" height="616" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:616,&quot;width&quot;:1234,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zwQq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 424w, https://substackcdn.com/image/fetch/$s_!zwQq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 848w, https://substackcdn.com/image/fetch/$s_!zwQq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 1272w, https://substackcdn.com/image/fetch/$s_!zwQq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6bb44ff-5a82-4243-a27a-ed7eccd1c266_1234x616.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The initial prompt used for this vibe coding experiment.</figcaption></figure></div><div><hr></div><h2><strong>Results: From Prompt to Spec</strong></h2><p>The tools fell into three broad behavior categories:</p><ul><li><p><strong>Detailed planners</strong>: v0, Lovable, Base44, and Bolt produced multi-page specs.</p><p></p></li><li><p><strong>Lightweight planners</strong>: Firebase Studio gave a sparse outline.</p><p></p></li><li><p><strong>Opaque agents</strong>: Replit and Figma Make didn&#8217;t share much about their reasoning.</p></li></ul><p>Despite their varied responses to the initial prompt, all tools attempted to build something close to the original vision. Some had a single-click &#8220;build&#8221; or &#8220;prototype&#8221; button. Others waited for a natural language command like &#8220;proceed.&#8221;</p><p>The most surprising reaction was Figma Make, which didn&#8217;t generate a product spec but did generate a skeleton architecture, complete with a &#8220;Hello, World&#8221; message.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wx1J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wx1J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 424w, https://substackcdn.com/image/fetch/$s_!wx1J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 848w, https://substackcdn.com/image/fetch/$s_!wx1J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 1272w, https://substackcdn.com/image/fetch/$s_!wx1J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wx1J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png" width="728" height="544.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1089,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wx1J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 424w, https://substackcdn.com/image/fetch/$s_!wx1J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 848w, https://substackcdn.com/image/fetch/$s_!wx1J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 1272w, https://substackcdn.com/image/fetch/$s_!wx1J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8cad2ac-4d89-44d7-b165-e58f91f80f3a_1600x1197.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Figma Make&#8217;s reaction to the initial prompt to create a spec. The reasoning basically repeated back the initial prompt, but the code generated was surprising.</em></figcaption></figure></div><p>One other quirky behavior observed is that development estimates (when provided) were usually for human developers in weeks, even if the input specified that the vibe coding tool would be used exclusively.</p><p>For instance, v0 gave this timeline when prompted to spec out a new to-do app feature:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DPBj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DPBj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 424w, https://substackcdn.com/image/fetch/$s_!DPBj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 848w, https://substackcdn.com/image/fetch/$s_!DPBj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!DPBj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DPBj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png" width="716" height="1150" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1150,&quot;width&quot;:716,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DPBj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 424w, https://substackcdn.com/image/fetch/$s_!DPBj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 848w, https://substackcdn.com/image/fetch/$s_!DPBj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!DPBj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8b50a4c-0019-4c5e-935a-b3c80749d500_716x1150.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">v0 estimated a lengthy timeline for a single new feature that could likely be generated in minutes or hours while vibe coding.</figcaption></figure></div><p>Finally, despite not specifying a specific language or framework to use in the initial prompt, all of these tools defaulted to TypeScript and frameworks like <a href="http://next.js">Next.js</a>. This made sense for the project at hand, though only certain tools shared this decision or their reasoning. Firebase Studio was a positive example here:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-dET!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-dET!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 424w, https://substackcdn.com/image/fetch/$s_!-dET!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 848w, https://substackcdn.com/image/fetch/$s_!-dET!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!-dET!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-dET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png" width="1244" height="1408" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1408,&quot;width&quot;:1244,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-dET!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 424w, https://substackcdn.com/image/fetch/$s_!-dET!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 848w, https://substackcdn.com/image/fetch/$s_!-dET!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 1272w, https://substackcdn.com/image/fetch/$s_!-dET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d544727-11a3-4e94-9056-4b845137e91e_1244x1408.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Firebase Studio suggested Style Guidelines and the Stack before building the app.</figcaption></figure></div><div><hr></div><h2><strong>Fast &#8800; Flawless</strong></h2><p>Most tools tried to generate full MVPs in a single shot. While impressive, this was not always reliable. Common issues included:</p><ul><li><p>Random added features</p></li><li><p>Missing or broken functionality</p></li><li><p>Unpolished UI/UX</p></li><li><p>Misinterpreted design preferences</p></li></ul><p>Iterative workflows are more token-efficient and tend to deliver better results. The push toward one-shot builds still needs refinement. That said, there were hints of this; e.g. certain tools flagging if a prompt might require a lot of tokens, or others suggesting a sequence of tasks instead of doing them all at once. One future test we may try is to call out efficiency more explicitly as a focus, however that was not a part of this experiment.</p><div><hr></div><p><strong>Database Integration: Supabase as Both a Benefit and Bottleneck</strong></p><p>Supabase is the default backend for most of these tools, but support for connecting accounts varies:</p><ul><li><p><strong>v0</strong>: Easy to create a free Supabase project in a new account, but hard to add or switch to an existing org/project later. Required bouncing between dashboards (v0&#8217;s, Vercel&#8217;s, Supabase&#8217;s) and dealing with conflicting UI states.<br></p></li><li><p><strong>Lovable and Bolt.new</strong>: Only allow granting full access to all org projects, not something we were willing to do for our startup&#8217;s Supabase account. Too blunt for easy experimentation.<br></p></li><li><p><strong>Replit</strong>: Manual copy/paste of Supabase keys. Clunky, but effective. <br></p></li><li><p><strong>Firebase Studio</strong>: No support. Recommends manual editing of placeholder files and warns against &#8220;insecure&#8221; alternate approaches.<br></p></li><li><p><strong>Base44</strong>: No support. They have their own authentication available.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LF1e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LF1e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 424w, https://substackcdn.com/image/fetch/$s_!LF1e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 848w, https://substackcdn.com/image/fetch/$s_!LF1e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!LF1e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LF1e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png" width="1076" height="1034" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1034,&quot;width&quot;:1076,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LF1e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 424w, https://substackcdn.com/image/fetch/$s_!LF1e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 848w, https://substackcdn.com/image/fetch/$s_!LF1e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 1272w, https://substackcdn.com/image/fetch/$s_!LF1e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fac3eb4d2-916d-4f9d-bb66-6cfaf02f0ea1_1076x1034.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Replit&#8217;s in-chat Supabase integration.</em></figcaption></figure></div><p><strong>Takeaway</strong>: most tools assume either a brand new user or an experienced engineer; few support the middle ground (e.g. someone testing personally, then connecting to a company org). </p><p>That&#8217;s a missed opportunity as people look to adopt these tools professionally, beyond hobbyist levels, either in their daily work or in new professional side projects.</p><div><hr></div><h2><strong>Automated Error Management</strong></h2><p>Most of the tools tried offered variations of a &#8220;fix it&#8221; button for issues automatically detected; in general, this is a great idea.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oAtf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oAtf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 424w, https://substackcdn.com/image/fetch/$s_!oAtf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 848w, https://substackcdn.com/image/fetch/$s_!oAtf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 1272w, https://substackcdn.com/image/fetch/$s_!oAtf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oAtf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png" width="910" height="306" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:306,&quot;width&quot;:910,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oAtf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 424w, https://substackcdn.com/image/fetch/$s_!oAtf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 848w, https://substackcdn.com/image/fetch/$s_!oAtf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 1272w, https://substackcdn.com/image/fetch/$s_!oAtf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64167dd-d5aa-46ab-b4b3-4dd0a798c81b_910x306.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Firebase Studio&#8217;s Fix Error modal is more geared towards developers, although without more context about the error, not sure how helpful Edit Code is yet.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wVyj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wVyj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 424w, https://substackcdn.com/image/fetch/$s_!wVyj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 848w, https://substackcdn.com/image/fetch/$s_!wVyj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 1272w, https://substackcdn.com/image/fetch/$s_!wVyj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wVyj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png" width="776" height="828" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:828,&quot;width&quot;:776,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wVyj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 424w, https://substackcdn.com/image/fetch/$s_!wVyj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 848w, https://substackcdn.com/image/fetch/$s_!wVyj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 1272w, https://substackcdn.com/image/fetch/$s_!wVyj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85dd083b-4662-4442-a72b-00c8136d03ee_776x828.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Firebase Studio auto-prompts when &#8220;Fix Error&#8221; is selected, and provides more context on both the error and fix there.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lLfi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lLfi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 424w, https://substackcdn.com/image/fetch/$s_!lLfi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 848w, https://substackcdn.com/image/fetch/$s_!lLfi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 1272w, https://substackcdn.com/image/fetch/$s_!lLfi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lLfi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png" width="758" height="502" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f59627d-a022-4103-b7f9-af45df2402da_758x502.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:502,&quot;width&quot;:758,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lLfi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 424w, https://substackcdn.com/image/fetch/$s_!lLfi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 848w, https://substackcdn.com/image/fetch/$s_!lLfi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 1272w, https://substackcdn.com/image/fetch/$s_!lLfi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f59627d-a022-4103-b7f9-af45df2402da_758x502.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Example of a deployment warning in v0 with the ability to &#8220;Fix&#8221;.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0dwA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0dwA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 424w, https://substackcdn.com/image/fetch/$s_!0dwA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 848w, https://substackcdn.com/image/fetch/$s_!0dwA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 1272w, https://substackcdn.com/image/fetch/$s_!0dwA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0dwA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png" width="708" height="450" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:450,&quot;width&quot;:708,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0dwA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 424w, https://substackcdn.com/image/fetch/$s_!0dwA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 848w, https://substackcdn.com/image/fetch/$s_!0dwA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 1272w, https://substackcdn.com/image/fetch/$s_!0dwA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b7ab8d2-be0d-4ba9-8021-16427573733f_708x450.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Using v0 Fix button pre-deployment led to this auto-generated prompt.</em></figcaption></figure></div><p>However, some of these issues were irrelevant to the project being worked on and recurring. For instance, v0 repeatedly surfaced this MetaMask bug that&#8217;s not relevant, and there is not a way to dismiss once and for all:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I1_1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I1_1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 424w, https://substackcdn.com/image/fetch/$s_!I1_1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 848w, https://substackcdn.com/image/fetch/$s_!I1_1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 1272w, https://substackcdn.com/image/fetch/$s_!I1_1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I1_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png" width="704" height="246" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:246,&quot;width&quot;:704,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I1_1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 424w, https://substackcdn.com/image/fetch/$s_!I1_1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 848w, https://substackcdn.com/image/fetch/$s_!I1_1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 1272w, https://substackcdn.com/image/fetch/$s_!I1_1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10c22d3c-05bc-4550-955e-e27c751277fe_704x246.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>This error continued to pop up in v0 even though it&#8217;s unrelated to the to-do app being built.</em></figcaption></figure></div><div><hr></div><h2><strong>One Name, Many Clones</strong></h2><p>Most tools returned apps with nearly identical names (TaskFlow, TaskFlow Pro, TaskMaster, etc.) despite no branding prompt. If your intent is to build something unique, plan to explicitly prompt to change the name and branding.</p><p>That said, despite the same prompts, each interface had slight differences. Compare / contrast:</p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e45ac5a-f3e6-45e9-b23b-983b3a276b17_1248x684.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b36734ba-26f2-4534-8e50-350f44cb4139_1244x644.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fcb51c20-f3af-4820-a166-63eb994a6aba_1246x984.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db9420d4-53d6-4887-8a68-21c8565f6736_1244x832.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1aac1592-75fe-4bce-bb05-a643803065c6_1248x1002.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee7171a0-9a9a-43f5-bb27-f42ba55d4b07_1244x924.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4ee06c85-3367-4778-8075-48a4c49c8b12_1248x884.png&quot;}],&quot;caption&quot;:&quot;The to-do apps generated. From top left to bottom right: Base44, Bolt, Firebase Studio, Figma Make, Replit, Lovable, v0.&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8a48871e-ff37-40d4-92ca-7aed753984e3_1456x1946.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p>Branding can also be changed later, often with help from Claude or ChatGPT. You can use those tools to prompt for color schemes, fonts, then pick a winner and suggest it to the vibe coding tool, leading to a polished overall look-and-feel post-build. This was also surprisingly fun!</p><div><hr></div><h2><strong>QA Is Critical</strong></h2><p>One major learning: QA is critical. You can&#8217;t assume what you&#8217;re seeing in the preview environment matches what you&#8217;ll see when you deploy; I had some wild surprises, e.g. Lovable creating a totally different landing and auth page than what I&#8217;d seen in the preview when I first deployed (one that didn&#8217;t work at all).</p><p>While some tools did show pre-filled data to help give you a sense of the app, others maintained the null state (e.g. as a new user of a to-do app, you&#8217;d have no projects or tasks). Ultimately, viewing both states is helpful.</p><p>An area many of these tools could improve is facilitating easier manual testing; while there are some benefits like offering the ability to navigate based on the page (&#8220;/dashboard&#8221; vs. &#8220;/login&#8221; for example), in most cases I&#8217;d need to manually create a real user and use that to sign in and test.</p><p>Figma Make was a positive notable exception here, facilitating easier testing through dummy data and users (reminiscent of Stripe facilitating easier payment testing with their 4242 test card number).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L3-U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L3-U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 424w, https://substackcdn.com/image/fetch/$s_!L3-U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 848w, https://substackcdn.com/image/fetch/$s_!L3-U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 1272w, https://substackcdn.com/image/fetch/$s_!L3-U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L3-U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png" width="1246" height="1050" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1050,&quot;width&quot;:1246,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L3-U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 424w, https://substackcdn.com/image/fetch/$s_!L3-U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 848w, https://substackcdn.com/image/fetch/$s_!L3-U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 1272w, https://substackcdn.com/image/fetch/$s_!L3-U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F172adcdd-55e6-4e14-a879-51f3e106f619_1246x1050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Figma Make calls out in the visual preview that it is in &#8220;Demo Mode&#8221; and you can use demo credentials for testing.</figcaption></figure></div><p>In some tools, private keys and other sensitive data may inadvertently appear, either in your code and/or the chat history, which is visible if made public (e.g. this <a href="https://www.reddit.com/media?url=https%3A%2F%2Fpreview.redd.it%2Fbe-careful-when-building-in-loveable-api-keys-exposed-in-v0-glt5c7rgswqe1.png%3Fwidth%3D811%26format%3Dpng%26auto%3Dwebp%26s%3Ded49c2177f80830a2c8ac14e5de4995bf0e5d194">Reddit</a> and this <a href="https://www.linkedin.com/feed/update/urn:li:activity:7309106300083146753/">LinkedIn</a> thread). For free users of Lovable, Replit, and Base44, note that projects are public by default. Always check.</p><p>In general, these tools require significant oversight and, if you&#8217;re not familiar with writing tests or manually QAing software, you&#8217;re likely to miss bugs and issues. That&#8217;s fine for side projects or prototypes, but for pushing meaningful software to production you need to be more careful.</p><div><hr></div><h2><strong>Deployment Hurdles</strong></h2><p>Most tools offer GitHub integration or live deployment. Notable exceptions: Replit, Firebase Studio, and Base44.</p><p>Replit paywalls production deploys behind a subscription. Firebase Studio requires you to link a Google Cloud Billing account before you can proceed. Base44 requires you to upgrade to a paid plan to be able to export to GitHub.</p><p>Understandable? Sure. But this approach creates a wall for learners and slows experimentation. We&#8217;d love to see monetization models that charge for value, not for basic feedback loops.</p><p>v0 had one of the smoothest deployment flows (through Vercel, of course). There&#8217;s also a new sync to GitHub (Beta) functionality that was initially buggy (it was not clear when changes were automatically committed, and if committing directly to main there were extra quirks) but seems promising.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aYz2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aYz2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 424w, https://substackcdn.com/image/fetch/$s_!aYz2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 848w, https://substackcdn.com/image/fetch/$s_!aYz2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 1272w, https://substackcdn.com/image/fetch/$s_!aYz2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aYz2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png" width="970" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/085d32ec-eb06-453c-b24b-effb01af050d_970x424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:970,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aYz2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 424w, https://substackcdn.com/image/fetch/$s_!aYz2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 848w, https://substackcdn.com/image/fetch/$s_!aYz2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 1272w, https://substackcdn.com/image/fetch/$s_!aYz2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F085d32ec-eb06-453c-b24b-effb01af050d_970x424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">v0 auto-synced and committed to GitHub for the to-do app&#8217;s staging branch.</figcaption></figure></div><div><hr></div><h2><strong>Takeaways</strong></h2><ul><li><p>Yes, you can build multi-page apps using only natural language.</p><p></p></li><li><p>But results are mixed: tool maturity and UX vary widely.<br></p></li><li><p>Supabase (database) integration is an important friction point that has the potential to be better integrated.<br></p></li><li><p>Iteration outperforms one-shot builds in quality and clarity so far.<br></p></li><li><p>Branding and QA still matter. Don&#8217;t skip them.<br></p></li><li><p>Tooling needs to better support users who sit between "beginner" and "expert&#8221; developer.</p></li></ul><p>You can see the results, including UI previews and the full chat history, here:</p><ul><li><p><a href="https://v0.dev/chat/v0-to-do-app-task-flow-w6o9aSkr5pE">v0 by Vercel</a> (and on <a href="https://github.com/nseldeib/taskflow-app">GitHub</a>)</p></li><li><p><a href="https://lovable.dev/projects/c5f7cfad-4c41-4e71-be33-338164c0f9e8">Lovable</a> (and on <a href="https://github.com/nseldeib/lovable-todo-app">GitHub</a>)</p></li><li><p>Bolt.new on Stackblitz: <a href="https://stackblitz.com/edit/sb1-yybd7ban?file=README.md">Editor</a> and <a href="https://sb1-yybd7ban.stackblitz.io">App</a> (and on <a href="https://github.com/nseldeib/boltnew-todo-app">GitHub</a>)</p></li><li><p><a href="https://9000-firebase-studio-1749848818214.cluster-pb4ljhlmg5hqsxnzpc56r3prxw.cloudworkstations.dev">Firebase Studio</a> (formerly IDX)</p></li><li><p><a href="https://replit.com/@NadiaEldeib/TaskMasterPro">Replit AI agents</a></p></li><li><p><a href="https://www.figma.com/make/ghklHlCtzW7uThuny1abi8/Todo-and-Project-Tracking-App?node-id=0-1&amp;t=PzNtX8uYEhdARN9g-1&amp;code-node-id=1-8">Figma Make (Beta)</a></p></li><li><p><a href="https://app--untitled-804db9f0.base44.app">Base44</a></p></li></ul><p>Right now, we&#8217;re using v0 under a paid plan, though Supabase connection issues may drive us to explore other options. We also have access to Figma Make (Beta) via our paid Figma plan, however this tool (which to be fair, is in beta) seems at an earlier stage than the others we tried. Every tool tested shows promise and all of them are evolving rapidly.</p><p>An important caveat: this experiment relied on natural language prompts to interact with the vibe coding agents and tools; some have other features to interact through visuals, drawing, selecting elements, and other methods that looked interesting but were not tested at this time.</p><div><hr></div><h2><strong>Final Thoughts</strong></h2><p>Vibe coding is powerful. Fast prototyping plus AI-native feedback loops (like what we&#8217;re building at CodeYam) can dramatically reshape how software gets made.</p><p>But today&#8217;s tools still need refinement, especially around integrations, iteration, and user flexibility. We&#8217;ll continue exploring the space and building tools that bridge these gaps.</p><p>If you&#8217;ve had similar experiences with these tools (or others), we&#8217;d love to compare notes. Feel free to reply or reach out at <a href="mailto:hello@codeyam.com">hello@codeyam.com</a>.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading CodeYam&#8217;s blog! Subscribe to receive new posts and support our work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Testing the latest AI tools for prototyping and building simple websites]]></title><description><![CDATA[A product design perspective on how v0, Cursor, Lovable, and Bolt.new compare as tools to redesign our company's website.]]></description><link>https://blog.codeyam.com/p/testing-the-latest-ai-tools-for-prototyping</link><guid isPermaLink="false">https://blog.codeyam.com/p/testing-the-latest-ai-tools-for-prototyping</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Wed, 26 Mar 2025 17:55:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!M1Kn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As we work on a new landing page for CodeYam, we saw this as a perfect opportunity to test out some of the most talked-about AI tools for prototyping software projects. These tools promise to simplify website creation, but how well do they actually perform on a real task?</p><p>As a product and web designer with over ten years of industry experience, the idea of AI simplifying this job is both exciting and a little daunting. My typical (pre-AI) process involves prototyping in Figma, reviewing designs with the team, and then handing them off to developers who bring them to life through code. This often leads to multiple feedback loops and revisions, which can be time-consuming. I am particularly curious to see how AI handles this process and whether it can streamline the transition from design to development, reducing the back-and-forth and making collaboration and implementation smoother.</p><p>To keep the comparison fair, I used the same basic prompt across all the platforms, and kept it super simple to test how each tool performed with very little information:</p><blockquote><p><em>"I need a landing page for a product we are building. It's a software simulator called 'CodeYam'. This is the website we currently have. Can you create something similar but more professional looking?"</em></p></blockquote><p>I also included a screenshot of our existing website to see how each tool would interpret and enhance our design with minimal additional input.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M1Kn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M1Kn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 424w, https://substackcdn.com/image/fetch/$s_!M1Kn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 848w, https://substackcdn.com/image/fetch/$s_!M1Kn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 1272w, https://substackcdn.com/image/fetch/$s_!M1Kn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M1Kn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png" width="1456" height="787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:787,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;: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="" srcset="https://substackcdn.com/image/fetch/$s_!M1Kn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 424w, https://substackcdn.com/image/fetch/$s_!M1Kn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 848w, https://substackcdn.com/image/fetch/$s_!M1Kn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 1272w, https://substackcdn.com/image/fetch/$s_!M1Kn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e343d5b-4a76-4945-a6a7-769a906b1b01_1600x865.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The screenshot of our current CodeYam website that was included with the prompt.</figcaption></figure></div><h2>The AI Website Builders: My Hands-On Experience</h2><h3><strong>Cursor</strong></h3><p><em>&#128161; Best for technical users who want a deeper GitHub integration.</em></p><ul><li><p>Requires downloading the Cursor app and connecting it to GitHub.</p></li><li><p>The most technical of the bunch &#8211; requires running commands and managing GitHub interactions.</p></li><li><p>Provides a preview via an external link.</p></li><li><p>Output was very basic &#8211; it mostly rearranged our existing components instead of proposing new content.</p></li><li><p>The hardest to use for a simple website due to the setup process.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UiOf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UiOf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!UiOf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!UiOf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!UiOf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UiOf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&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="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!UiOf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!UiOf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!UiOf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!UiOf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3cb02a75-1438-4c46-9b97-1128fdf75026_1731x1120.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cursor&#8217;s interface.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xQAl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xQAl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 424w, https://substackcdn.com/image/fetch/$s_!xQAl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 848w, https://substackcdn.com/image/fetch/$s_!xQAl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 1272w, https://substackcdn.com/image/fetch/$s_!xQAl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xQAl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png" width="1456" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xQAl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 424w, https://substackcdn.com/image/fetch/$s_!xQAl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 848w, https://substackcdn.com/image/fetch/$s_!xQAl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 1272w, https://substackcdn.com/image/fetch/$s_!xQAl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0011fbf8-7380-4959-9828-9e7e3c3d4365_1534x826.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Cursor&#8217;s output.</figcaption></figure></div><h3><strong>v0 by Vercel</strong></h3><p>&#128161; <em>Best user experience and feature-rich interface.</em></p><ul><li><p>My favorite in terms of UI &#8211; aesthetically pleasing and easy to use.</p></li><li><p>Allows saving history and accessing different projects with ease.</p></li><li><p>Live preview during the chat and adapts well to changes.</p></li><li><p>Shareable preview links make feedback collection seamless.</p></li><li><p>Offers a library of pre-existing apps, components, and starters (though I didn&#8217;t use these in my test). It did help to get a great overview beforehand of what results I could expect out of this platform.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rTR5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rTR5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 424w, https://substackcdn.com/image/fetch/$s_!rTR5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 848w, https://substackcdn.com/image/fetch/$s_!rTR5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 1272w, https://substackcdn.com/image/fetch/$s_!rTR5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rTR5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rTR5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 424w, https://substackcdn.com/image/fetch/$s_!rTR5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 848w, https://substackcdn.com/image/fetch/$s_!rTR5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 1272w, https://substackcdn.com/image/fetch/$s_!rTR5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe48caf0b-d157-4d15-8d9f-d0eaa76d1c1f_1600x873.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">v0&#8217;s interface.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ONF6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ONF6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 424w, https://substackcdn.com/image/fetch/$s_!ONF6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 848w, https://substackcdn.com/image/fetch/$s_!ONF6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 1272w, https://substackcdn.com/image/fetch/$s_!ONF6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ONF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png" width="1456" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ONF6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 424w, https://substackcdn.com/image/fetch/$s_!ONF6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 848w, https://substackcdn.com/image/fetch/$s_!ONF6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 1272w, https://substackcdn.com/image/fetch/$s_!ONF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9faa81c-225f-4ec7-bb04-8ea5f1431d81_1600x866.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">v0 at work.</figcaption></figure></div><h3><strong>Lovable</strong></h3><p>&#128161; <em>Best for generating quality content and messaging.</em></p><ul><li><p>Simple interface with just a chat and a preview window. While I appreciated the simplicity, I found myself wanting more control over the process.</p></li><li><p>Impressed me the most with how well it handled messaging and content generation with minimal input.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jIWW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jIWW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!jIWW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!jIWW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!jIWW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jIWW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp" width="1456" height="806" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:806,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&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="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!jIWW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!jIWW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!jIWW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!jIWW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3022ded4-97ad-461a-bf41-9534959aa657_2024x1120.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Lovable&#8217;s interface.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MH6w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MH6w!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!MH6w!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!MH6w!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!MH6w!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MH6w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp" width="1456" height="787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:787,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&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="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!MH6w!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!MH6w!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!MH6w!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!MH6w!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fffae83f3-f4c7-4516-a335-1bb51745e16f_2072x1120.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Lovable&#8217;s output.</figcaption></figure></div><h3><strong>Bolt.new</strong></h3><p>&#128161; <em>Easiest to use, but the least impressive results.</em></p><ul><li><p>Very simple UI, no distractions. Super similar to Lovable, but with more basic results.</p></li><li><p>The most basic and unimpressive output in terms of design and content.</p></li><li><p>Provided a live preview as we chatted.</p></li><li><p>Didn&#8217;t offer much in terms of content improvements or design enhancements.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!b7QY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!b7QY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 424w, https://substackcdn.com/image/fetch/$s_!b7QY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 848w, https://substackcdn.com/image/fetch/$s_!b7QY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 1272w, https://substackcdn.com/image/fetch/$s_!b7QY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!b7QY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png" width="1456" height="786" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:786,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!b7QY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 424w, https://substackcdn.com/image/fetch/$s_!b7QY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 848w, https://substackcdn.com/image/fetch/$s_!b7QY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 1272w, https://substackcdn.com/image/fetch/$s_!b7QY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7dc98bbe-9b8f-46cc-b2d6-222511f19895_1600x864.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Bolt&#8217;s interface.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PpVH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PpVH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!PpVH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!PpVH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!PpVH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PpVH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp" width="1456" height="787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:787,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&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="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!PpVH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!PpVH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!PpVH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!PpVH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4e1e77c-e894-419d-9da5-f8e2c24546ab_2072x1120.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Bolt&#8217;s output.</figcaption></figure></div><h2><strong>General Takeaways</strong></h2><ul><li><p>All of the tools, except Cursor, were very intuitive and required no technical knowledge.</p></li><li><p>Outputs were generally simple and professional-looking, but none were groundbreaking. I wonder if results could have been different with more specific prompting.</p></li><li><p>No AI hallucinations (I was happily surprised!) &#8211; everything generated was logical and structured.</p></li><li><p>All platforms allowed code inspection, making it easy to tweak and refine for developers.</p></li></ul><h2><strong>Final Verdict</strong></h2><ul><li><p>Cursor felt like the most "real" developer tool, integrating directly with GitHub and giving me visibility into the process. However, it's overkill for a simple landing page.</p></li><li><p>v0 by Vercel stood out for its usability and polished interface, making it the one I&#8217;d be most likely to continue experimenting with&#8212;though the generated content was somewhat generic.</p></li><li><p>Lovable delivered the most impressive content, making it a strong choice for teams needing help with messaging.</p></li><li><p>Bolt.new was too basic to be useful, and I likely wouldn&#8217;t use it again.</p></li></ul><p>Overall, if you want a simple but professional looking website, any of these options can help deliver one in a super fast, cohesive way. But don't expect unique or fancy designs.</p><h2><strong>What&#8217;s next?</strong></h2><p>The team and I are working on messaging and how to best convey all of the ways CodeYam can help technical teams deliver faster, better products. Once we agree on content, I&#8217;ll be testing how these tools handle more complex design requirements and integrations.</p><div><hr></div><h3>Tool Links</h3><p>Below are quick links to each of the tools tested.</p><p>Cursor: https://www.cursor.com/</p><p>v0 by Vercel: https://v0.dev/</p><p>Lovable: https://lovable.dev/</p><p>Bolt: https://bolt.new/</p><div><hr></div><p><em><a href="https://codeyam.com/">CodeYam</a> helps software teams increase confidence in code changes by making it easier to discover if a change is having the intended impact, or introducing bugs or side effects, via software simulations. These simulations provide test coverage, help teams understand the state of and any changes to their application, and can be used for documentation, demos, and collaboration. To learn more, please contact us or join the waitlist.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hello@codeyam.com&quot;,&quot;text&quot;:&quot;&#9993;&#65039; Email Us&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="mailto:hello@codeyam.com"><span>&#9993;&#65039; Email Us</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/fuUavy1KwbxLnSaD6&quot;,&quot;text&quot;:&quot;Join the Waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://forms.gle/fuUavy1KwbxLnSaD6"><span>Join the Waitlist</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI can't read your mind…but iteration is expensive]]></title><description><![CDATA[The challenge of working with large language models on complex projects.]]></description><link>https://blog.codeyam.com/p/ai-cant-read-your-mindbut-iteration</link><guid isPermaLink="false">https://blog.codeyam.com/p/ai-cant-read-your-mindbut-iteration</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Thu, 27 Feb 2025 16:49:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2b326752-c3b3-4178-8f54-96426fd1ad78_400x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AI capabilities are rapidly improving. It&#8217;s difficult to predict exactly how good AI can become and on what timeframe those changes will occur. Regardless of how sophisticated AI becomes, one fundamental challenge persists: communication. Despite significant AI progress, effectively communicating with LLMs remains a significant and under-appreciated problem that will arguably hold back the value of AI, no matter how good it becomes.</p><p>This challenge isn't unique to AI collaboration. Communication becomes a bottleneck whenever we work on complex projects with multiple &#8220;intelligent&#8221; actors involved (i.e. people or AI). Translating our thoughts with perfect fidelity is fundamentally impossible without some hypothetical mind-reading technology that doesn't yet exist. Even then, our thoughts are often more superficial and inconsistent than we realize.</p><p>Every attempt to convey a complex idea inevitably loses something in translation. Whether communicating with humans, computers, or AI agents, perfectly transferring your mental model to another actor is an unrealistic expectation. The recipient's inherent biases and assumptions, combined with ambiguities in your explanation, guarantee some level of misinterpretation.</p><p>With AI systems, these biases and assumptions often stem directly from their training data. If you have experimented with prompt engineering you have likely encountered this limitation firsthand.</p><p>When you describe a task for AI to complete, the system makes assumptions about our instructions and how to implement them based on patterns in its training data. For instance, when asked to write tests for JavaScript code, AI systems will often default to Jest, which is a popular testing framework heavily represented in training datasets, even if that constraint is not dictated. This is usually a good thing, as it represents a shared context between you and the AI, but, if that context is not appropriate then the assumption will cause problems.</p><p>Even when explicitly instructed not to use Jest, AI models frequently revert to outputs that include Jest. The statistical weight of Jest in the training data effectively overrides your specific instructions, demonstrating how deeply ingrained these patterns become.</p><p>This pattern repeats across all kinds of communications. It's practically impossible to provide sufficiently detailed specifications for even moderately complex ideas. And since the AI&#8217;s assumptions are not visible to you, you can not easily predict how the AI will interpret your request.</p><p>Even if you could somehow painstakingly articulate every necessary detail, the recipient must also perfectly process and integrate all that information. At some point the level of detail just becomes so great that it can be held in memory all at once. Even if that were not a problem, specifying anything at this level of detail while navigating unknown assumptions is practically impossible.</p><p>This creates a significant obstacle whenever we collaborate on complex projects. Communication becomes a bottleneck filled with hidden challenges that only become apparent after a misstep reveals a misunderstanding.</p><p>There are two primary approaches we can use to tackle this challenge: <strong>iteration</strong> and <strong>tools</strong>.</p><p>Despite our wish to simply describe a task to AI and have it execute flawlessly without further guidance, this rarely succeeds for complex tasks. As complexity increases, so does the likelihood of AI diverging from our intended path. The longer we wait to validate results, the further off-track the work becomes.</p><p>Iteration provides tremendous value in managing this risk. By breaking tasks into smaller components and validating results after each stage, we can ensure the AI remains aligned with our goals.</p><p>However, this approach comes at a cost. You must invest time in validating the AI's output, which can undermine desired efficiency gains. If validation requires as much time as performing the original task yourself without AI, then the AI adds no value. In fact, the process potentially becomes more expensive when accounting for both the AI costs and your time costs.</p><p>Now, it is possible that AI could become so powerful and inexpensive that simply giving it vague instructions and letting it try to accomplish a complex task is still worthwhile. In such scenarios, even mostly incorrect outputs might deliver enough value to justify the attempt, especially if the AI occasionally produces excellent results quickly and cheaply.</p><p>This scenario seems unlikely, however. Historically, more powerful AI models have commanded higher prices. Expecting dramatically more capable AI at lower costs would require simultaneous breakthroughs in technology, business models, and operational efficiency. This is possible, but improbable, in the near-term.</p><p>Even with hypothetical ultra-powerful, ultra-affordable AI, the communication challenge should not be underestimated. Complex projects like software development involve countless potential misunderstandings that compound over time, making quality outcomes from casual instructions highly unlikely.</p><p>This is where tooling becomes crucial. Imagine you're fortunate enough to receive an AI-generated solution that's 80% aligned with your vision. The challenge then becomes articulating how to refine that complex result to match your ideal more closely.</p><p>Trying to discuss complex ideas is very difficult if you don&#8217;t have ways to isolate specific aspects of that complex idea so that both parties know what exactly is being discussed. See also: <a href="https://blog.codeyam.com/p/software-development-with-ai-isolation">Software Development with AI: Isolation and Abstraction</a>.</p><p>Imagine trying to edit a book without being able to refer to a chapter, page, or sentence in that book. It would be extremely difficult to ensure that there weren&#8217;t further miscommunications that then need to be fixed or discarded.</p><p>The right tools dramatically simplify this process. When a tool enables navigating complex systems to isolate specific components for collaboration, you substantially reduce the complexity of the interaction. Both actors can focus on a smaller amount of context and discuss it more easily.</p><p>More importantly, tools can provide interfaces for iterating on complex systems beyond text-based communication. For user interface design, as an example, you need visual tools that display the actual design rather than just text descriptions. You need to identify specific elements (isolation), and ideally make quick, verifiable edits to that design.</p><p>Collaborating on complex projects like software applications will never be trivial. Even with hypothetical mind-reading technology that could extract your vision and execute it, you would likely evolve your thinking as you experienced the result and gathered feedback.</p><p>For instance, you might overlook edge cases or user experience variations. This is particularly likely to occur when building complex applications with numerous potential states. Complex projects inevitably require frequent iteration, whether collaborating with humans and/or AI.</p><p>We should focus significant effort on creating tools that allow us to easily isolate specific parts of a complex project, see and interact with those isolated parts more easily, and make changes to those isolated parts that can be easily validated. While this won't eliminate iteration costs entirely, it will significantly reduce them, making complex collaborations with both people and AI substantially more effective.</p><p>This is why we&#8217;re building CodeYam. We&#8217;re creating a tool that deconstructs software projects down to individual functions. We demonstrate how these functions operate by testing them with various data scenarios, capturing results as either data outputs or, for front-end functions like React components, as screenshots or interactive components on a simple static website. This approach simplifies validation of, collaboration around, and AI-assisted modifications to complex software projects.</p><div><hr></div><p><em><a href="https://codeyam.com/">CodeYam</a> helps software teams increase confidence in code changes by making it easier to discover if a change is having the intended impact, or introducing bugs or side effects, via software simulations. These simulations provide test coverage, help teams understand the state of and any changes to their application, and can be used for documentation, demos, and collaboration. To learn more, please contact us or join the waitlist.</em> </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hello@codeyam.com&quot;,&quot;text&quot;:&quot;&#9993;&#65039; Email Us&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="mailto:hello@codeyam.com"><span>&#9993;&#65039; Email Us</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/fuUavy1KwbxLnSaD6&quot;,&quot;text&quot;:&quot;Join the Waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://forms.gle/fuUavy1KwbxLnSaD6"><span>Join the Waitlist</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[LGTM: Designing a Great Developer Experience]]></title><description><![CDATA[Dani Raskovsky (Product Designer)]]></description><link>https://blog.codeyam.com/p/lgtm-designing-a-great-developer</link><guid isPermaLink="false">https://blog.codeyam.com/p/lgtm-designing-a-great-developer</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 28 Jan 2025 17:33:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yE7d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a small startup, we move FAST. This often means that our team is working simultaneously on multiple features at the same time and changes get merged into production almost every day. As much as we use processes like standup to share progress, discuss priorities, and agree on what to focus on next, updates sometimes get lost. Changes that go live don't always get reviewed as quickly or as thoroughly as we hoped.</p><p>So we came up with a hypothesis: if we introduce a new feature in CodeYam itself that allows us to review latest changes with &#8220;Looks Good To Me&#8221; (LGTM) when they look good or to comment on those that need more attention for some reason, our feedback loops can become smoother and faster.</p><h1><strong>From Hypothesis to Reality</strong></h1><p>This hypothesis was tested just the other day when a developer on our team updated a feature with some UI changes I (the product designer) had designed &#8211; an update to a feature called the Environments page &#8211; and then quickly moved forward with their next to do.</p><p>While going into CodeYam itself to search for something else, I came across the updated version of this page and was happily surprised to see that this new update was already live, but also had some feedback to provide.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yE7d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yE7d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 424w, https://substackcdn.com/image/fetch/$s_!yE7d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 848w, https://substackcdn.com/image/fetch/$s_!yE7d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 1272w, https://substackcdn.com/image/fetch/$s_!yE7d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yE7d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp" width="1134" height="629" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:629,&quot;width&quot;:1134,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&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" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!yE7d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 424w, https://substackcdn.com/image/fetch/$s_!yE7d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 848w, https://substackcdn.com/image/fetch/$s_!yE7d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 1272w, https://substackcdn.com/image/fetch/$s_!yE7d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9fb7cda5-d9c3-457c-bab3-7ee8e6cf40e9_1134x629.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Our Environments page where the <em>&#8220;0/692 visual simulations&#8230;&#8221; component was added.</em></figcaption></figure></div><p>This is where LGTM/commenting first came to life, confirming our hypothesis about how this feature could enhance our team's workflows&#8212;and hopefully others' as well.</p><p>Instead of waiting until the following morning&#8217;s standup to share my comments and feedback, I searched in CodeYam for the latest simulations of this new feature and left my comment for our developer team to see (without me having to disrupt what they were doing).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7xQs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7xQs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 424w, https://substackcdn.com/image/fetch/$s_!7xQs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 848w, https://substackcdn.com/image/fetch/$s_!7xQs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 1272w, https://substackcdn.com/image/fetch/$s_!7xQs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7xQs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png" width="1456" height="808" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:808,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;: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="" srcset="https://substackcdn.com/image/fetch/$s_!7xQs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 424w, https://substackcdn.com/image/fetch/$s_!7xQs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 848w, https://substackcdn.com/image/fetch/$s_!7xQs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 1272w, https://substackcdn.com/image/fetch/$s_!7xQs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06dcf1ff-ced9-4426-bb5a-13664ff150f7_1600x888.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">My comment (magnified for visibility) on the Environment page simulation.</figcaption></figure></div><p>Since the PR where they had added this component also included other changes, I went ahead and reviewed all of the other simulations that CodeYam had created for the new changes in our app. I marked as &#8220;Looks Good To Me&#8221; those that needed no further work, letting the team know they had nailed the changes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Oje3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Oje3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 424w, https://substackcdn.com/image/fetch/$s_!Oje3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 848w, https://substackcdn.com/image/fetch/$s_!Oje3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 1272w, https://substackcdn.com/image/fetch/$s_!Oje3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Oje3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png" width="1456" height="824" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:824,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Oje3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 424w, https://substackcdn.com/image/fetch/$s_!Oje3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 848w, https://substackcdn.com/image/fetch/$s_!Oje3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 1272w, https://substackcdn.com/image/fetch/$s_!Oje3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faaf334f6-c120-4a26-872b-df6847e1702f_1600x905.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">This branch page shows all the latest changes to functions affected by this PR. All the simulations for the <strong>navigation tree</strong> and the <strong>simulations </strong>are marked as LGTM.</figcaption></figure></div><p>LGTM is more than a thumbs-up button. It&#8217;s a deliberate, low-friction way for developers, designers, and team leads to collaborate on and test software changes, especially visual changes, and share insights without disrupting workflows.</p><p>We designed this feature to:</p><ul><li><p>Keep feedback loops tighter, even when juggling multiple product changes.</p></li><li><p>Empower every team member, from developers to PMs, to contribute to reviewing a visual change without needing deep technical knowledge or help getting set up.</p></li><li><p>Bridge gaps between design and development by letting designers (and every team member) comment directly on code-based simulations, fostering conversations about subtle design decisions.</p></li></ul><p>This helps teams avoid endless back-and-forth while boosting confidence in the quality of product changes. Developers spend less time interpreting product or design reviews and more time building, and their teammates can contribute meaningfully&#8212;making the entire software development and deployment process smoother.</p><h1><strong>Reimagining "Looks Good to Me" As an Efficient High-Value Signal</strong></h1><p>Historically, &#8220;LGTM&#8221; has somewhat of a reputation for being used by engineers to rubber-stamping changes without a proper review. At CodeYam, we want to reimagine LGTM to embody efficiency. If changes are marked as LGTM by any team member, the rest of the team can trust this signal, or choose to supplement it by reviewing the change themselves. If issues arise, commenting on simulations is an efficient way to add context or callout next steps.</p><p>This makes it less effortful for software teams to provide critical feedback or catch bugs as part of their existing development processes.</p><h1>CodeYam Curious?</h1><p>CodeYam is a software simulator that helps teams develop software more effectively, generating simulations for all functions and changes to functions as they come in. The simulations provide test coverage, help you understand how an application is evolving, and can be used for documentation, demos, and general collaboration. If you are interested in learning more please reach out at hello@codeyam.com or sign up for the waitlist.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://forms.gle/fuUavy1KwbxLnSaD6&quot;,&quot;text&quot;:&quot;Join the Waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://forms.gle/fuUavy1KwbxLnSaD6"><span>Join the Waitlist</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hello@codeyam.com&quot;,&quot;text&quot;:&quot;&#9993;&#65039; Email Us&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="mailto:hello@codeyam.com"><span>&#9993;&#65039; Email Us</span></a></p>]]></content:encoded></item><item><title><![CDATA[Software Development with AI: Isolation and Abstraction]]></title><description><![CDATA[Jared Cosulich (CTO & Co-founder)]]></description><link>https://blog.codeyam.com/p/software-development-with-ai-isolation</link><guid isPermaLink="false">https://blog.codeyam.com/p/software-development-with-ai-isolation</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Thu, 09 Jan 2025 16:50:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/17a18a01-9e9f-49aa-bae2-0ffcca7e0672_1538x396.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you&#8217;re building software, you&#8217;re likely already using AI in some manner, even if just to autocomplete your code. If you&#8217;re not, there is a good chance someone on your team is. Like it or not, leveraging AI in software development will only become more prevalent as the quality and efficiency of AI improves and as more AI-integrated tools are created that support software development.</p><p>However, at least right now, using AI to write software is fraught with challenges. So far, it appears unlikely that AI will replace experienced software developers anytime soon. The complexity of most software projects is just too high for AI to navigate effectively or for product owners to feel confident with the results.</p><p>A fundamental reason why AI struggles to navigate software as it becomes more complex is context. As a software developer, you (or an AI agent) need to know a lot about how a complex system like a software project works in order to make appropriate changes successfully.</p><p>One strategy to improve this dynamic for AI is to increase the amount of context that the model can consume (or be trained on) in order to improve how the AI can contribute to a given project.</p><p>While this strategy seems plausible, such a solution diverges from how humans, as intelligent beings, handle complexity most effectively. Cramming as much raw information into your head as possible is a strategy one can attempt, but we often leverage more sophisticated methods. We build tools and devise abstractions to help us better think about and interact with complexity, which reduces the volume of information we have to keep in mind at any given moment.</p><p>Maybe we will develop AI that has such god-like abilities that tools and information abstractions will not be required for it to solve complex problems, but this seems unlikely. Even if it becomes possible for an AI to solve extremely complex problems on its own, doing so with relevant tools and abstractions would likely be far more efficient and less error-prone. Today with AI, we see this playing out already; as the amount of context grows, the AI&#8217;s speed of response slows down and the likelihood of an error increases.</p><p>If you want to explore other ways to approach complexity without simply relying on larger amounts of information, then we don&#8217;t have much of a choice than figure out how to work with less information. We need to be able to isolate specific aspects within a complex environment (in software, this would be parts of the overall application) so that we can think about, collaborate around, and iterate on them in a more focused and efficient manner.</p><p>As noted above, though, isolation lacks context, so you can&#8217;t just isolate pieces of information and act on them independently. You can&#8217;t effectively edit a paragraph in a book if you have no context about the story.</p><p>This is where abstraction becomes helpful. Abstraction allows us to take in a lot of information and boil it down, while retaining important aspects. A perfect abstraction isn't one that preserves all context, but one that finds a way to capture exactly what we need for the problem at hand, while discarding everything else. With such an abstraction, we can make faster and better decisions, while using less effort and energy.</p><p>One aspect of our exploration at CodeYam is how to make working with AI on software development more effective and powerful by using isolation and abstraction.</p><p>Any time you&#8217;re dealing with something complex, being able to deconstruct it into smaller pieces can be very helpful. This allows you to think about, communicate about, and iterate more easily. This is why we break software into files and functions and other small &#8220;puzzle pieces&#8221; that can be explicitly reasoned about more effectively.</p><p>CodeYam uses static code analysis and AI to analyze every function in a software application from multiple perspectives. We explore abstractions ranging from descriptions of what a given function does to the structure of the data that passes through the function and how that data can be modified to make the function behave differently. We further abstract the data that will trigger different paths through the function into instructions that isolate the key parts of the data required for each pathway.</p><p>We can then combine these abstractions together within a dependency tree (the functions that are imported to support more complex functions) to gain a clearer understanding of what a given function is doing and how functions connect together within the software application.</p><p>In this way, we can look at isolated aspects of an application (i.e. any given function) and have a better sense as to its purpose with the larger application and how other functions within the application impact this function. All of this information makes it easier to understand the function and its role in the application without having to hold the whole application in mind at one time.</p><p>Right now, we do all of this in order to create simulations of the application at every level, ranging from low-level foundational functions to the higher level functions that provide end-user experiences. These simulations are isolated parts of the application running with relevant data passed in to them and then captured so that you can see and interact with the result.</p><p>These simulations create a great way to think about, collaborate around, and iterate on every aspect of a software application. Today, this makes it easier to collaborate on software development and products with human colleagues. In the future, this will also make collaborating with AI agents as you seek to evolve and improve the application easier as well.</p><p>Without these simulations, we&#8217;re left with either code or the application itself. Code always requires significant effort to read and reason about even if you&#8217;re an experienced developer. If you&#8217;re a non-technical teammate the code offers no insight at all. On the other hand, the application itself requires clicking around and finding ways to generate and feed in appropriate data to get the application in the state you are interested in testing or viewing. This can be incredibly effortful (e.g. testing a fintech app with realistic, but not real, financial information for a fake user or having to manage dozens of fake user accounts that you have to log in/out of to view the app from different user states).</p><p>CodeYam&#8217;s simulations, which by default are automatically generated as code changes come in (but can be edited with AI or manually if desired), eliminate the time and effort required to test different product and user experiences. This makes it possible for any teammates involved in the software development life cycle to understand how the application is evolving, catch issues more quickly, and communicate and collaborate more effectively.</p><p>These simulations, which leverage isolation and abstraction, are just one strategy for both using and collaborating with AI around software development. Without such tools, though, our ability to understand how our software is evolving with a high level of confidence is reduced significantly. As AI becomes more involved in software development, it becomes even more critical to have tools that help us ensure that the software we are building not only doesn&#8217;t break but also behaves in ways that the end user appreciates.</p><div><hr></div><p><em>CodeYam is a software simulator that helps teams develop software more effectively, generating simulations for all functions and changes to functions as they come in. The simulations provide test coverage, help you understand how an application is evolving, and can be used for documentation, demos, and general collaboration. If you are interested in learning more please reach out at hello@codeyam.com or sign up for the waitlist.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.google.com/forms/d/e/1FAIpQLSfopqQOQsjY9S4Ns0l3xDLzGl7iYNpKa2Wn2Xzmtxj8CR1sMA/viewform&quot;,&quot;text&quot;:&quot;Join the Waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.google.com/forms/d/e/1FAIpQLSfopqQOQsjY9S4Ns0l3xDLzGl7iYNpKa2Wn2Xzmtxj8CR1sMA/viewform"><span>Join the Waitlist</span></a></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;mailto:hello@codeyam.com&quot;,&quot;text&quot;:&quot;&#9993;&#65039;  Email Us&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="mailto:hello@codeyam.com"><span>&#9993;&#65039;  Email Us</span></a></p>]]></content:encoded></item><item><title><![CDATA[New Product Demo: X-Ray View Into Your Software’s Functions]]></title><description><![CDATA[CodeYam's environment view provides a new way to navigate a software application's complexity, as demonstrated by looking at CodeYam itself.]]></description><link>https://blog.codeyam.com/p/new-product-demo-x-ray-view-into</link><guid isPermaLink="false">https://blog.codeyam.com/p/new-product-demo-x-ray-view-into</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 17 Dec 2024 16:45:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/6z6UsG97qJ8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Software becomes complex very quickly. This makes maintaining quality, communicating about changes, and even thinking about your application difficult.</p><p>This product demo walks through how we are attempting to tame this complexity. CodeYam provides an X-Ray view into your application, with the ability to navigate up and down the application&#8217;s hierarchy, showing all of the functions that make up the application and how they behave.</p><p>We use this functionality to explore a complex application: CodeYam itself. You can watch the demo here:</p><div id="youtube2-6z6UsG97qJ8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6z6UsG97qJ8&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/6z6UsG97qJ8?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>Our team&#8217;s goal is to accelerate software development by reducing the effort required to understand, test, and deliver valuable changes. To do this, we must provide a better way to navigate software&#8217;s complexity. This complexity, which tends to only grow faster as you add new features or team members, makes it harder to figure out how things work &#8211; or why they&#8217;re not working. This can slow down the software development life cycle, hurting speed and quality.</p><p>So how might we improve this? We think simulation is key. Already, simulations are used in other industries to allow professionals to interact with complex environments more quickly and safely: from flight simulators to CT simulations that help doctors plan cancer patients&#8217; care.</p><p>We believe every software team should have a robust simulator to help them test, communicate, and think about the complex software they are building.</p><p>If what we are building at CodeYam sounds useful to you, please get in touch via our website. You can also follow progress by subscribing to this blog.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe to receive future CodeYam demos and updates.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[New Live Demo of How CodeYam’s Software Simulator Helps Tame Complexity in Software Development]]></title><description><![CDATA[At the first First Pitch Colorado event at Founder Central.]]></description><link>https://blog.codeyam.com/p/new-live-demo-of-how-codeyams-software</link><guid isPermaLink="false">https://blog.codeyam.com/p/new-live-demo-of-how-codeyams-software</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Fri, 15 Nov 2024 19:30:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/RAauCQSOWRY" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Our Cofounder and CEO, Nadia Eldeib, recently gave a talk at the first-ever First Pitch Colorado event at Founder Central in Boulder, CO. and organized by Tim Morrissey (Drive Capital).&nbsp;</p><p>Nadia&#8217;s presentation explores the challenges around complexity in software development that CodeYam seeds to solve. Her talk included a live demo of a new feature our team is building that gives an X-Ray like view into a software application. This provides a source of truth for the reality of the application in a given environment. For example, what the application&#8217;s users experience on main (in production).&nbsp;</p><p>With CodeYam, our vision is a JARVIS-like experience that empowers software developers and technical leaders to have confidence in their understanding, testing, and delivery of code changes.&nbsp;</p><p>Founder Central is a large space and this event had over 250+ RSVPs, so Nadia re-recorded her talk afterwards so you can see the slides and demo more clearly:</p><div id="youtube2-RAauCQSOWRY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;RAauCQSOWRY&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/RAauCQSOWRY?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>This demo references an earlier PR workflow demo, which you can watch here:&nbsp;</p><div id="youtube2-_5Yb6EehFRY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_5Yb6EehFRY&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/_5Yb6EehFRY?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>Or, thanks to Liz Cohen (Lizco Studios), you can watch the full recording of the November 12, 2024 First Pitch Colorado live talk here:&nbsp;</p><div id="youtube2-Cq37IA0NDDA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Cq37IA0NDDA&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/Cq37IA0NDDA?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><h2>CodeYam Environments Demo Details</h2><p>CodeYam uses static code analysis and AI to analyze an application&#8217;s code, then runs that code in a simulated environment that is automatically created. We provide different scenarios populated with synthetic data, which makes it easy to understand the function of that component. Beyond just visuals, you can interact with each simulation and have full control to make edits or changes.&nbsp;</p><p>The new feature this demo gives a sneak peek of, called &#8220;Environments&#8221;, enables faster understanding of the status of your application, acting as a single source of truth for the reality of your app for a given environment. This is helpful for onboarding to a part of the code you&#8217;re less familiar with, either because you&#8217;re new to the team or new to that part of the code base.&nbsp;</p><p>This can also help you catch bugs or stale parts of your code &#8211; the areas where &#8220;there be dragons&#8221; and you are not sure why no changes have been made and whether old functionality is getting exposed to users or causing unnecessary complexity in your code.&nbsp;</p><h2><strong>First Pitch Colorado Events</strong></h2><p>This was the first First Pitch Colorado event at Founder Central in Boulder, CO. Some highlights from this event:</p><ul><li><p>Ed Hallen&#8217;s unfiltered talk on early ideation and iteration that led to Klaviyo, which IPOed last year.&nbsp;</p></li></ul><ul><li><p>Nadia&#8217;s sneak peek of our latest progress with CodeYam including a demo of software simulation applied to CodeYam itself.</p></li></ul><ul><li><p>Keith Raphael shared his insight into and passion for payments and solving a hard problem that has real benefits for users of straddle.&nbsp;</p></li></ul><ul><li><p>Lucas Thelosen shared Gravity demo and discussed how they created a team of AI agents with different corporate colleague personas.</p></li></ul><p>Then, these founders gave two-minute lightning talks: Kara Zucker (Trestle), Ryan George (Paribus AI), David Silva (Data Hubz), Jeff Shainline (Great Sky AI), and Jacob Segil (Afference). Their talks touched on various ideas from wearables to smarter product decision-making to paralegal tech to simplifying complexity for data management. Tim concluded the event by announcing that the next First Pitch event will be happening in Denver.</p><h2>Reach out</h2><p>If what our team is building at CodeYam sounds interesting to you, regardless of where you&#8217;re based, please get in touch. You can follow our journey by subscribing to this blog, reach out to our team directly, or join our waitlist to be among the first to CodeYam.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading CodeYam&#8217;s blog! Subscribe to receive the latest updates on our progress.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[CodeYam FAQs]]></title><description><![CDATA[Frequently asked questions about the CodeYam software simulator, how it works, and how to get started...and their answers.]]></description><link>https://blog.codeyam.com/p/codeyam-faqs</link><guid isPermaLink="false">https://blog.codeyam.com/p/codeyam-faqs</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 24 Sep 2024 14:02:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XKcH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.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_!XKcH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XKcH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 424w, https://substackcdn.com/image/fetch/$s_!XKcH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 848w, https://substackcdn.com/image/fetch/$s_!XKcH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 1272w, https://substackcdn.com/image/fetch/$s_!XKcH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XKcH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png" width="1456" height="569" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:569,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3290135,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XKcH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 424w, https://substackcdn.com/image/fetch/$s_!XKcH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 848w, https://substackcdn.com/image/fetch/$s_!XKcH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 1272w, https://substackcdn.com/image/fetch/$s_!XKcH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0b3485f9-c1bf-4247-848a-6d012af102bd_2400x938.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>These FAQs for CodeYam are organized by theme. Search a theme to easily get to a specific question:</p><ol><li><p>How can I use CodeYam for software development? And related FAQs.</p></li><li><p>How can my team use CodeYam for software development?  And related FAQs.</p></li><li><p>How does CodeYam handle data privacy and security?&nbsp;</p></li><li><p>How do I integrate CodeYam?</p></li><li><p>What is software simulation and how does it work?</p></li><li><p>How does CodeYam specifically work?</p></li><li><p>How is CodeYam unique?&nbsp;</p></li></ol><p>Have a question not answered here? You can reach out to our team at hello [at] codeyam.com with your question and someone on our team will follow up. When relevant, we will update this post to add new FAQs. </p><h1>How can I use CodeYam for software development?&nbsp;</h1><h3>How is CodeYam helpful to me?&nbsp;</h3><p>This depends on who &#8220;you&#8221; are. If you&#8217;re a developer or technical leader, CodeYam can help you understand, test, and demo code changes through software simulation. You can leverage CodeYam in a number of different situations. It can increase the coverage of your test suite, make manual testing faster, easier, and more robust, aid in reviewing pull requests, support sharing bugs and demos, and serve as interactive documentation for every function in your application.</p><p>CodeYam is also a useful tool for collaborating with non-technical teammates who interface with your product or its customers. CodeYam makes it easy for non-technical people to explore and share any aspect of the application, improving the whole team&#8217;s ability to see how specific users experience your product.</p><h3>How does CodeYam integrate in my existing workflow?</h3><p>Right now, we recommend adding CodeYam to your current workflow and using it whenever you need to understand, test, or demo code changes. We don&#8217;t recommend replacing staging environments, manual QA, or integration tests at this time &#8211; although over time, that will become more of a possibility.&nbsp;</p><h3>Does CodeYam work against my staging and/or production environment? Does it work on my local machine?&nbsp;&nbsp;</h3><p>Currently CodeYam runs its simulation analyses against your code once your code is committed to GitHub. This allows CodeYam&#8217;s software simulations to run against any environment (e.g. staging or production). CodeYam does not yet analyze code that has not yet been committed (e.g. code you are writing locally that you have not yet committed to GitHub).&nbsp;</p><h3>Does CodeYam require my software to be architected in a certain way?</h3><p>No, you do not need to architect your software in a particular way to use CodeYam.&nbsp; CodeYam uses static analysis and AI analysis to understand code and dependencies and is built to handle the implicit aspects of various frameworks.&nbsp;</p><h3>What languages and frameworks does CodeYam support?</h3><p>Currently, CodeYam supports JavaScript / TypeScript and the frameworks Next.js / Remix, with experimental support for Rust. If you&#8217;re building in another language and are interested in using the software simulator, let us know.</p><h1>How can my team use CodeYam for software development?&nbsp;</h1><h3>How does CodeYam facilitate collaboration?&nbsp;</h3><p>CodeYam&#8217;s simulations make it easier and faster to get useful feedback on code changes for developers and software teams, helping teams collaborate more effectively, catch issues earlier, and minimize costly context-switching. This goes beyond the development team, supporting communication with teammates in functions like design, product management, data science, sales, product marketing, customer support, and even the C-Suite.&nbsp;</p><h3>Do you need to be technical to use CodeYam?</h3><p>While the primary customers of CodeYam today are technical leaders and experienced developers, anyone on a software development team can use CodeYam to view how code changes impact the product and user experience. At this time, they just need a GitHub account to sign-in.&nbsp;</p><h1>How does CodeYam handle data privacy and security?&nbsp;</h1><h3>How does CodeYam manage data privacy and security concerns?</h3><p>CodeYam only required a read-only GitHub app installed on a code repository. No source code from the code repository is stored by CodeYam at any time, only metadata from static analysis and AI interactions. We are also documenting security policies and controls and can provide those upon request. If you have further security or data privacy questions, please reach out and we are happy to provide more information upon request.&nbsp;</p><h1>How do I integrate CodeYam?</h1><h3>How much effort is it to integrate CodeYam?</h3><p>Integration is one-click, you just install a GitHub app with view permissions to the project you want to use it for &#8211; no writing custom code, and no additional integration work on your end.&nbsp;</p><h3>Does CodeYam require access to my code and/or database?</h3><p>CodeYam requires read-only access to your code and the ability to comment on GitHub issues (to add summaries of the generated simulations as comments to pull requests). We do not require any database access. The simulations work off of the source code alone.</p><h3>How can I get access to the CodeYam software simulator?</h3><p>You can sign up to get access by <a href="https://bit.ly/waitlist-from-faqs">joining the waitlist</a> on our site, or reach out directly to our team at hello [at] codeyam.com via email. </p><h1>What is software simulation and how does it work?</h1><h3>What does a software simulator mean?</h3><p>A software simulator automatically reads code and generates data to simulate different scenarios along with the limited mock code required to pass the data into the simulation, both in isolation and in the context of the broader feature or application as a whole. Only the data is simulated. </p><p>CodeYam is the first software simulator to do this in a fully automated way across your whole code base.&nbsp;</p><h3>How truthful is the simulation?</h3><p>The code is unchanged; only data is simulated and injected for testing.</p><h2>How does CodeYam specifically work?</h2><h3>How does CodeYam work?</h3><p>CodeYam leverages static analysis and AI to run your app in a sandbox with simulated, relevant data scenarios, helping you see and test how users either do or will (for local or staging environments) experience code changes in your product.&nbsp;</p><h3>Is CodeYam simulating my code, compiling my code, or running my real code?</h3><p>CodeYam runs your actual app in a sandbox, with minimal mocking, and simulated data.</p><h3>Can I edit, delete, or create new simulated scenarios?</h3><p>Yes, you can customize all the simulated scenarios and create any you want. You can also delete simulated scenarios.</p><h2>How is CodeYam unique?&nbsp;</h2><h3>Does CodeYam replace testing (e.g. integration tests)?</h3><p>While we don&#8217;t recommend replacing your current testing suite with CodeYam, it does complement whatever testing practices you have in place &#8211; or helps you start if you have not had time to get robust testing in place.&nbsp;</p><p>Each saved simulation can be compared, when your code changes, against future simulations generated from the new code. If there are differences, not just in the code that is changed, but in any code that imports that code, you will be notified and can easily approve or flag the changes.</p><p>CodeYam goes beyond this automated testing scenario, though. The simulations are interactive playgrounds that make manual testing of your app much easier, faster, and more robust. The simulations are also easy to share, making it easier to get feedback, communicate issues, and demo new features.</p>]]></content:encoded></item><item><title><![CDATA[First Live Demo of the CodeYam Software Simulator at the Boulder AI Builders Monthly Meetup]]></title><description><![CDATA[A recap of the August 14, 2024 Boulder AI Builders Meetup along with a recording of the first-ever live demo CodeYam's software simulator in action.]]></description><link>https://blog.codeyam.com/p/first-live-demo-of-the-codeyam-software</link><guid isPermaLink="false">https://blog.codeyam.com/p/first-live-demo-of-the-codeyam-software</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Fri, 16 Aug 2024 14:15:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!61vq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.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_!61vq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!61vq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 424w, https://substackcdn.com/image/fetch/$s_!61vq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 848w, https://substackcdn.com/image/fetch/$s_!61vq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!61vq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!61vq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png" width="1456" height="673" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:673,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9845883,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!61vq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 424w, https://substackcdn.com/image/fetch/$s_!61vq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 848w, https://substackcdn.com/image/fetch/$s_!61vq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!61vq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69bfbc9c-692a-4e28-a978-b9a1a44afbac_2532x1170.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>CodeYam cofounder and CEO, Nadia Eldeib here. After shipping our functional demo video of the CodeYam software simulator last week, we had the exciting opportunity to do a live demo at the August <a href="https://www.boulderaibuilders.org/">Boulder AI Builders Meetup</a> earlier this week! This meetup was organized by the <a href="https://freeplay.ai/">Freeplay</a>, Matchstick Ventures, and Ombud teams and hosted at the <a href="https://kiln.com/communities/boulder/">Kiln</a> coworking space in Boulder, CO. With 130+ RSVPs, 5 demos, and standing-room only in the meetup space, this was an electric and inspiring event.&nbsp;</p><p>CodeYam was the final AI builder demo of the night. For a short recap of all four sessions, see below.&nbsp;</p><p><strong>August Meetup Demos of Builder AI Builders:&nbsp;</strong></p><ol><li><p><a href="https://www.linkedin.com/in/jane-fine-a798451/">Jane Fine</a> from Google demoed their new Google Labs Code AI &#8220;Data Science Agent&#8221; with a timely example of creating graphs using data from the recent Paris Olympics.</p></li><li><p><a href="https://www.linkedin.com/in/nathansrobinson/">Nathan Robinson</a>, CEO and Founder of <a href="https://plotzy.ai/">Plotzy</a>, an AI for commercial real estate startup, demoed how they use RAG and agentic AI to improve their user experience for understanding zoning information and other real estate information, including a cool mapping use case.</p></li><li><p><a href="https://www.linkedin.com/in/annelieseniebauer/">Anneliese Niebauer</a> demoed <a href="https://www.showstop.ai/">ShowStop</a>, a startup that helps companies create great ad content by using AI to more efficiently stitch together content into videos and optimize performance.&nbsp;</p></li><li><p><a href="https://www.linkedin.com/in/matt-bruehl/">Matt Bruehl</a> from NVIDIA demoed their NIM serverless endpoints on Hugging Face, highlighting some of the speed and cost efficiencies this introduces as well as the idea of Inference-as-a-Service.&nbsp;&nbsp;</p></li><li><p>I demoed CodeYam. After sharing a bit of background on why software simulation is so exciting, I dug into a pull request review workflow example. Fun fact: PRs really haven&#8217;t changed all that much in the past 14 years (<a href="https://rdnlsmith.com/posts/2023/004/pull-request-origins/">source</a>). Software simulation adds a completely new dimension to reviewing a PR, and has the potential to radically improve how we understand, test, review, and demo code changes.</p></li></ol><p>Another meetup attendee, <a href="https://www.linkedin.com/in/jblairsimpson/">Blair Simpson</a>, shared a great detailed writeup of the demos as well, which you can find <a href="https://www.linkedin.com/posts/jblairsimpson_boulderaibuilders-generativeai-venturecapital-activity-7229918627599167488-j3Gw?utm_source=share&amp;utm_medium=member_desktop">here</a>.&nbsp;</p><p>If you&#8217;d like to see the full CodeYam demo, you can watch a recording here:&nbsp;</p><div id="youtube2-v24oSqZTWFM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;v24oSqZTWFM&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/v24oSqZTWFM?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>Thanks to <a href="https://www.linkedin.com/in/lizcohen1/">Liz Cohen</a>, founder of Lizco Studios, for capturing this first CodeYam live demo. And thanks to the hosts and sponsors organizing this awesome meetup, and the amazing crowd! There were awesome questions and the energy in the room was palpable. It was also a blast discussing AI and what different folks were building in the pizza happy hour after the demos.&nbsp;</p><p>We are hard at work on CodeYam, and plan to share more demos of our progress on software simulation soon. If you&#8217;re interested in following along, please subscribe to the CodeYam blog.&nbsp;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe to CodeYam&#8217;s blog for future demos:</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>And if you&#8217;re based in Boulder, Denver, or nearby, the next AI Builder Meetup is coming up in September. You can <a href="https://partiful.com/e/CAlqbvgnLzJ4ilG1j0sf">RSVP here</a> for that event, which will be in Denver as part of the Denver Startup Week lineup.&nbsp;</p><p>If you want to try out CodeYam on your project, you can also sign up for our waitlist on our <a href="https://codeyam.com/">website</a> and I&#8217;ll follow up.&nbsp;</p><p>This first live demo was an exciting milestone for our team. </p><p>Now back to building!</p>]]></content:encoded></item><item><title><![CDATA[Video Demo of the CodeYam Software Simulator in a Pull Request Flow]]></title><description><![CDATA[We've been hard at work on CodeYam and have put together a demonstration to showcase how CodeYam's software simulator can improve how teams build software.]]></description><link>https://blog.codeyam.com/p/video-demo-of-the-codeyam-software</link><guid isPermaLink="false">https://blog.codeyam.com/p/video-demo-of-the-codeyam-software</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Wed, 07 Aug 2024 21:01:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!oJv5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.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_!oJv5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oJv5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 424w, https://substackcdn.com/image/fetch/$s_!oJv5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 848w, https://substackcdn.com/image/fetch/$s_!oJv5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 1272w, https://substackcdn.com/image/fetch/$s_!oJv5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oJv5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png" width="1206" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:29930,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oJv5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 424w, https://substackcdn.com/image/fetch/$s_!oJv5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 848w, https://substackcdn.com/image/fetch/$s_!oJv5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 1272w, https://substackcdn.com/image/fetch/$s_!oJv5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf2d695c-e4ed-4dd6-8677-8a614e99ada6_1206x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We've been hard at work on CodeYam and have put together a demonstration to showcase how CodeYam's software simulator can improve how teams build software. This demonstration starts with one of the first touch points for a team as they introduce new changes to an application: the pull request.</p><div id="youtube2-_5Yb6EehFRY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_5Yb6EehFRY&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/_5Yb6EehFRY?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>CodeYam&#8217;s software simulator takes every commit and analyzes the changes, leveraging AI to both understand the code and generate effective mocks and mock data. It uses these mocks and mock data to create simulations of each entity (e.g. each individual function) in the code. It does this without any additional effort on your part. It is fully automated and happens with each commit.</p><p>If the entity being changed is a front-end function that generates HTML, then CodeYam will simulate that function both in isolation and will capture it in context (i.e. in any other front-end function that imports and uses it). If the function is &#8220;back-end&#8221; code and does not render HTML then the simulator creates a playground for it that allows you to easily pass different arguments into the function to test how it responds.&nbsp;</p><p>CodeYam then gathers these simulations and creates a branch page for the pull request that allows you to see and interact with all of the changes to ensure they are behaving as expected. In addition to the simulations created by the AI, you can easily create new simulations and save them, creating test cases as you go that can be used to identify unexpected changes in the future.&nbsp;</p><p>These simulations also make it much easier to communicate with your team about the application. You can isolate different areas of the app and preload that area with the state you need to demonstrate an issue or allow someone to see how that functionality behaves.</p><p>While you have complete control over all of this and can add or edit any simulation at any time, the real magic is in the automated AI-generated simulations. With no effort beyond installing a github app, you get simulations for every change to your codebase with no additional effort.</p><p>This is just one powerful workflow that the CodeYam software simulator provides. If you&#8217;re interested in learning more, <a href="https://codeyam.com/">visit our website</a> and sign up for our waitlist or reach out!</p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/p/video-demo-of-the-codeyam-software?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thank you for reading CodeYam&#8217;s Substack. This post is public so feel free to share it.</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/p/video-demo-of-the-codeyam-software?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.codeyam.com/p/video-demo-of-the-codeyam-software?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you haven&#8217;t already, you can also subscribe to get future CodeYam demos and updates.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What Is a Software Simulator?]]></title><description><![CDATA[Our definition of a software simulator and its core characteristics.]]></description><link>https://blog.codeyam.com/p/what-is-a-software-simulator</link><guid isPermaLink="false">https://blog.codeyam.com/p/what-is-a-software-simulator</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 04 Jun 2024 17:01:54 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/69b7c5cf-e0d9-4bba-aefb-013425e83c46_2400x1368.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this blog post, we dig into what we mean by &#8220;software simulator&#8221; and how this technology works. For an example of how a software simulator can impact how you build software, especially as a team, read: <a href="https://open.substack.com/pub/codeyam/p/introducing-codeyam-the-software?r=3uf7hv&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true">Introducing CodeYam: The Software Simulator</a>. </p><h2>Simulations: The Secret Weapon of Inventors and Engineers</h2><p>Simulators have been leveraged throughout history by inventors and engineers to gain critical learnings, faster. When you are exploring something new, especially in technology R&amp;D, simulations allow you to test ideas more quickly. Simulations can provide insights into complex problems that can be the difference between failure and success.</p><p>For example, when Orville and Wilbur Wright were racing to be the first to build a functional airplane, they developed <a href="https://www.grc.nasa.gov/www/k-12/airplane/wrights/test1901.html">wind tunnel experiments</a> that provided a secret advantage. This wind tunnel acted as a simulator that allowed them to more rapidly test their hypotheses. As a result, the Wright brothers gained an understanding of the dynamics of lift that allowed them to beat competing teams.</p><p>In our depictions of the future, AI often helps people work through problems using simulations. From JARVIS helping Tony Stark develop the Iron Man suit to the computers on The Starship Enterprise in Star Trek, the ability to easily run simulations against various scenarios is invaluable to the inventor, engineer, or problem solver.</p><p>With current technological advances, including AI, we should be pushing on the simulation frontier as much as possible to accelerate innovation and engineering across a variety of industries.&nbsp;</p><h2>What Is a Software Simulator?</h2><p>Simulators exist in many industries today, especially for hardware products. However, you don&#8217;t often hear about software simulators. To be clear, we are not referring to simulators built in software that allow you to design physical products, such as sneakers, faster. We&#8217;re also not talking about AI being used to write code or build software from scratch. Instead, we are focused on simulators designed to show how existing software performs in various scenarios (i.e. how different users would experience the software). A software simulator simulates software directly.</p><p>Here is an example how a software simulator might work: </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c6937cac-7c29-4bbd-8527-f7df6757282c&quot;,&quot;duration&quot;:null}"></div><p>Outside of companies like Tesla or Waymo, which have software to train and simulate how their self-driving AI will perform, the concept of a software simulator is rarely discussed. Yet, even for the simplest software project, the ability to quickly explore how the software responds to different scenarios can dramatically speed up the process of delivering a high quality product.</p><p>For most software companies, you might use staging environments and automated tests to simulate how software will perform in production. While useful, these tools only partially meet our criteria for a robust software simulator, which we define below. A robust software simulator could add significantly more value to the software development process and team.</p><p>We define a robust software simulator as a tool with these four qualities:</p><ul><li><p>A &#8220;Simulated&#8221; Environment</p></li><li><p>Scenarios</p></li><li><p>Isolation</p></li><li><p>Automation</p></li></ul><h3>Simulated Environment</h3><p>A simulated environment is exactly what it seems; without one, you would just have the real thing and not a simulation. For physical products, such as self-driving cars, creating a simulated environment with software makes a lot of sense. So what does a simulated environment mean for software?&nbsp;</p><p>For software, the real environment is production as that is where real customers (a.k.a. users) are using your software. Staging and test environments are generally the simulated environments we use in software development to test and validate the product before deploying changes to production. So while they are not fully robust simulators, with staging environments generally lacking scenarios, isolation, and automation, and test environments generally lacking automation, they are clearly valuable tools.&nbsp;</p><p>Here is an example of how you might use a software simulator to test code changes&#8217; impact on the product and user experience for a software application&#8217;s sign in flow:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;bd2d5ded-6aea-43b3-bbc9-92b9f999c479&quot;,&quot;duration&quot;:null}"></div><h3>Scenarios</h3><p>Scenarios in a simulator represent different contexts. For the Wright brothers, their wind tunnel allowed them to evaluate how the plane would respond to various wind conditions. Different wind conditions represented different scenarios for their planes.&nbsp;</p><p>In software, a scenario will usually be the data for a given user. A scenario could also be data from an external source. For example, if you had a weather widget that changed the display based on the current weather, then some scenarios to simulate might include rain, hot temperatures, or an emergency weather alert.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;71a5af27-8ec7-4e9c-b51b-a2ad4454a111&quot;,&quot;duration&quot;:null}"></div><p>The ability to quickly generate scenarios saves time and allows you to test how a product responds under a wide range of conditions. Today&#8217;s software staging environments usually provide no support for scenarios, which is one of the reasons they do not satisfy our criteria for a robust software simulator. On the other hand, test environments do simulate different scenarios. However you generally have to set these scenarios up as test cases, and that effort can be significant.</p><h3>Isolation</h3><p>Isolation in a simulation allows you to easily dig into an experience. Consider Tony Stark asking JARVIS to zoom in on a specific aspect of the engineering design he is working on, simulating how a component of the Iron Man suit behaves in various scenarios. This allows him to understand and isolate issues, addressing them more specifically. The ability to zoom in on specific aspects of a complex system is crucial to creating a high quality product.</p><p>The ability to zoom in and out within a simulation is incredibly valuable. This allows you to explore and iterate on both the design of an individual component and how all of the components work together. Putting an isolated component or the whole project through various scenarios lets you learn and iterate toward the final design faster.</p><p>In this example, you can see an activity feed in the context of the larger dashboard product, then isolate just the activity feed feature to demo and check different scenarios and user states.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;977d6352-2c42-4342-9cd3-99078105d199&quot;,&quot;duration&quot;:null}"></div><h3>Automation</h3><p>Without automation, simulation becomes very effort-intensive. This is where developer-written tests for software products become challenging. Many startups, and even larger companies, do not have robust developer-written tests because they do not have the time and resources to build them.</p><p>A software simulator is not intended to replace developer-written tests, but can provide a way to increase test coverage and reduce surprises. This increase in quality assurance and test coverage comes at little to no cost to the engineering team, because of the high level of automation involved.&nbsp;</p><p>If code can be automatically simulated as soon as it gets written, then software simulations can be used in a variety of ways (e.g. manual testing, sharing for feedback, communicating progress, etc.) as you move from development through to production. As mentioned before, we dig into this more here: <a href="https://open.substack.com/pub/codeyam/p/introducing-codeyam-the-software?r=3uf7hv&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true">Introducing CodeYam: The Software Simulator</a>.</p><h2>The CodeYam Software Simulator</h2><p>We are working to bring a robust software simulator to life. We want to make it fast and easy to simulate any software program under any scenario, with the ability to dig into specific aspects of that software easily.&nbsp;</p><p>If you are interested in learning more you can subscribe to this blog.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading CodeYam&#8217;s Substack! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Or visit our <a href="https://codeyam.com/">website</a> to follow us on social media and join the CodeYam waitlist.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codeyam.com/&quot;,&quot;text&quot;:&quot;Visit website&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codeyam.com/"><span>Visit website</span></a></p>]]></content:encoded></item><item><title><![CDATA[Introducing CodeYam: The Software Simulator]]></title><description><![CDATA[We are building CodeYam, a software simulator. In this blog post, we explore how CodeYam works. We also dig into an example of how a software simulator can speed up how you build great software.]]></description><link>https://blog.codeyam.com/p/introducing-codeyam-the-software</link><guid isPermaLink="false">https://blog.codeyam.com/p/introducing-codeyam-the-software</guid><dc:creator><![CDATA[CodeYam]]></dc:creator><pubDate>Tue, 04 Jun 2024 16:58:40 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/159fa32c-b4c0-46db-aaeb-934018b55c90_2286x1368.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>What Is the CodeYam Software Simulator?</h2><p>CodeYam lets you easily view and interact with any part of your software application through simulation. To do this, the software simulator automatically isolates every feature and creates simulated data to bring that feature to life &#8211; and shows that feature in the wider context of your product. Using CodeYam, you can quickly see how a recent code change will affect your product and users. You can also easily preview how users in different situations will experience that change.</p><p>The software simulator automatically creates these interactive demos for every part of your software, including the backend code. This has many implications, which we explore further below. You can also read about our definition and requirements for a software simulator here: <a href="https://open.substack.com/pub/codeyam/p/what-is-a-software-simulator?r=3uf7hv&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true">What is a Software Simulator?</a></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;644e5b7b-0963-47ba-951a-b1430725be6f&quot;,&quot;duration&quot;:null}"></div><h3>How the CodeYam Software Simulator Works</h3><p>Imagine that you are working at a startup and your team is tasked with building a new feature: an activity feed. As development of the new activity feed feature progresses, you look for updates on CodeYam.&nbsp;</p><p>You can see what the entire development team is working on through screenshots and interactive demos that are automatically created by the CodeYam software simulator. With each demo, the software simulator generates a variety of data scenarios that cause the feature to behave differently. Using this, you can see how different users will experience the new activity feed feature.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;c7e2729d-4a67-4e46-92bb-9402605df2a7&quot;,&quot;duration&quot;:null}"></div><p>As the feature becomes more complete and code is ready for testing, developers merge changes into the staging branch. Instead of requiring other developers to approve the changes simply by reading the code and tests, the software simulator gives them a playground, along with both pre-generated mock data and an easy way to generate new mock data. The playground helps developers find edge cases by testing the code. These simulations help your team feel confident with the changes you are making as you merge in your new feature.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;e3e243ac-f3b3-4791-acde-69a7fbab53ff&quot;,&quot;duration&quot;:null}"></div><p>As your activity feed feature is almost ready to ship to end-users of your application, CodeYam makes sharing interactive demos with your team and organization easy. This helps stakeholders understand how the feature will look and work. Instead of pointing colleagues to a staging environment of the whole app with no pre-loaded data, you share interactive demos that are preloaded with relevant data. These demos show exactly how the activity feed feature looks and acts in a variety of user scenarios.&nbsp;</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;2a26e4f3-a555-4b50-b84c-0bf344dce7a7&quot;,&quot;duration&quot;:null}"></div><p>After feedback comes in from the wider team, changes are made, and the feature becomes ready for production. At this stage, the CodeYam software simulator makes tracking and sharing progress fast and easy through screenshots and interactive pages. Instead of text descriptions of features in change logs, you now have clear visuals and interactive demos that allow everyone on the team to quickly understand the current state of the feature.</p><p>These artifacts (screenshots and interactive demos) also become useful for testing and documentation. You can save the screenshots and compare them to new screenshots as changes come into this feature and the rest of the application. This helps you identify unexpected changes and any resulting bugs or errors more efficiently.&nbsp;</p><p>As your organization grows and new team members come onboard, they can easily find and explore simulator-generated artifacts, instead of just playing with the application or reading the code. With CodeYam, new hires can understand how the application and the code work faster, decreasing the time required to ramp up and start contributing.&nbsp;</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;0d7fcb0f-e9b5-4aeb-8e85-8943d9d3475e&quot;,&quot;duration&quot;:null}"></div><p>Similarly, this can also speed up the development team by encouraging code reuse across larger applications. Understanding if existing code will meet the needs of a new problem is much easier when you can run the code in an interactive playground easily, instead of trying to read the code or the tests to interpret the use abstractly.</p><p>The simulator helps your entire team, from development to design to product management and leadership, be more efficient and productive when building and shipping high-quality software products.&nbsp;</p><h2>Won&#8217;t AI Write All the Code in the Future?</h2><p>AI writing more and more code in the future certainly seems likely. In that case, simulating the results of the code that the AI produces becomes even more important. The human teams involved will still ultimately be responsible for the resulting products. And these people will need to dictate product requirements and to validate that the product works as intended.</p><p>Anyone who has built software understands how your product and codebase quickly become complex. Clearly communicating the intent of a feature, even a simple one, is difficult. Even if the feature was built perfectly to spec, you will still want to test performance in various scenarios. If the feature was not built perfectly or you come up with ideas for changes or improvements, then you need to be able to isolate that feature and put it into a specific state to effectively describe how it should be changed.</p><p>As AI does more coding, everyone on the team becomes more like product owners. These team members will be responsible for defining, validating, and improving the product that AI is building. In order to do this successfully, you need high quality tools to help you understand what is being built and communicate with the AI effectively.</p><h2>Learn More</h2><p>We are at the beginning of a long journey to make the software development process as fast and high quality as possible, especially as AI becomes more involved. We&#8217;d love your thoughts and feedback about what we are building. You can subscribe to this blog here:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.codeyam.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading CodeYam&#8217;s Substack! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>And follow us on social media (<a href="https://x.com/codeyam_ai">X/Twitter</a>, <a href="https://www.linkedin.com/company/codeyam/">LinkedIn</a>, <a href="https://www.instagram.com/codeyam_ai/">Instagram</a>), or sign up for the waitlist via our <a href="https://codeyam.com/">website</a> to gain access to CodeYam and the software simulator.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codeyam.com/&quot;,&quot;text&quot;:&quot;Join waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codeyam.com/"><span>Join waitlist</span></a></p>]]></content:encoded></item></channel></rss>