<?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[mycah.io]]></title><description><![CDATA[Software engineer, photographer, and sports nerd. Fueled by coffee. Writing about everything I'm finding interesting recently.]]></description><link>https://www.mycah.io</link><image><url>https://substackcdn.com/image/fetch/$s_!hk2p!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465d5e9-86df-4af7-b815-8a39291bce71_1280x1280.png</url><title>mycah.io</title><link>https://www.mycah.io</link></image><generator>Substack</generator><lastBuildDate>Tue, 07 Apr 2026 22:24:22 GMT</lastBuildDate><atom:link href="https://www.mycah.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[MyCah Pleasant]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[mycahpleasant@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[mycahpleasant@substack.com]]></itunes:email><itunes:name><![CDATA[MyCah Pleasant]]></itunes:name></itunes:owner><itunes:author><![CDATA[MyCah Pleasant]]></itunes:author><googleplay:owner><![CDATA[mycahpleasant@substack.com]]></googleplay:owner><googleplay:email><![CDATA[mycahpleasant@substack.com]]></googleplay:email><googleplay:author><![CDATA[MyCah Pleasant]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[A Prompt Can't Replace a Photographer]]></title><description><![CDATA[The ethical dilemma facing photographers in the age of AI]]></description><link>https://www.mycah.io/p/a-prompt-cant-replace-a-photographer</link><guid isPermaLink="false">https://www.mycah.io/p/a-prompt-cant-replace-a-photographer</guid><dc:creator><![CDATA[MyCah Pleasant]]></dc:creator><pubDate>Sat, 21 Mar 2026 17:57:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!djhb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AI&#8217;s ability to generate images is both interesting and horrifying. In many ways, it has cheapened the value of producing a real image. </p><p>People are accepting AI generated images as a part of their lives. Tools that replace a human photographer -- for some -- are now an inevitability. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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 mycah.io! 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>Imagine a tool where you could provide a couple of establishing images from your phone, as well as a couple of group photos of guests, and then have AI produce convincing wedding images for you. </p><p>While this might sound unimaginable to some, consider the economics. The going rate for a good wedding photographer can easily exceed $5000 for an average wedding. If an AI service significantly undercut that price while providing the ability to customize your photos after the fact, there would be at least a portion of people willing to save the cash.</p><p>To survive, photographers, like artists of all mediums, will have to differentiate their work from AI generated content. For most, AI will become a large part of their process. The ethical use of AI technology, though, will determine whether or not a photographer maintains their credibility.</p><h2>Showing what was really there</h2><p>Part of what makes creating an image special is that you were actually there and witnessed what you photographed. It&#8217;s not a recreation from memory. It&#8217;s the viewpoint of someone who experienced it, as they experienced it.</p><p>In some fields, it&#8217;s critical. Imagine a photojournalist altering an image using AI to change what a war zone looked like. Their career would be over.</p><p>For the real estate photographer, using AI to change the layout of furniture, or altering the landscaping to show more mature plants, is a legal minefield.</p><p>A landscape photographer who changes their image to appear like it was taken at sunset versus the middle of the day is making a creative choice. In a vacuum, it&#8217;s a victimless change. In the real world, it cheapens the image and makes it closer to CGI than a fine art piece.</p><p>Many of these things -- and the arguments for and against -- are being hotly debated in photography communities. Real estate photographers, for example, use tools that take a single image of a home at noon and show it convincingly at night and in the morning.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!djhb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!djhb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 424w, https://substackcdn.com/image/fetch/$s_!djhb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 848w, https://substackcdn.com/image/fetch/$s_!djhb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 1272w, https://substackcdn.com/image/fetch/$s_!djhb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!djhb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2134680,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.mycah.io/i/191693835?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.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_!djhb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 424w, https://substackcdn.com/image/fetch/$s_!djhb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 848w, https://substackcdn.com/image/fetch/$s_!djhb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 1272w, https://substackcdn.com/image/fetch/$s_!djhb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F98bb2d28-3677-4f87-880a-7ae55f84c89c_2162x1112.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A photo editing tool editing advertising everything it can do for your photos. From replacing the sky, to growing grass, and even putting a fire in the fireplace.</figcaption></figure></div><p>On one side of the argument are those who say this makes the job of the photographer easier. They don&#8217;t need to be at the house multiple times in a day. This is an obvious argument, but ignores some important questions.</p><p>Consider the slippery slope that begins to emerge. If the realtor starts making requests like, &#8220;I really don&#8217;t like how this grass looks here. Can we make it look more lush?,&#8221; or &#8220;The chandelier in the dining room is an eye sore. Can you hide it?&#8221; what does the photographer do?</p><p>Does the photographer have an ethical requirement to deny requests that tangibly alter the appearance of a home? In the digital era, photographers and photo editors have had the capability to do these types of things to varying degrees of realism. The prevalence of AI makes it difficult to say no. </p><p>The counter to the ethical question is the practice of retouching portraits. After all, photographers routinely retouch skin.</p><p>For this, you must consider the norms already established for the industry. Most people see portraits and assume they have been doctored to fix flaws. Home buyers, too, likely assume the images are shot to make the house look good. It&#8217;s reasonable to assume, though, the images aren&#8217;t outright fake.</p><p>Each photographer will have to navigate this dilemma themselves. I believe photographers who see their images as a craft, not a service, will be on the side of keeping it as realistic as possible. Those simply looking to collect a paycheck, though, might lack those scruples.</p><p>It might help them survive, but I don&#8217;t think it helps them differentiate themselves from a realtor who could also opt to just go all in on AI altered images they took with their phones. </p><p>A good photographer who understands the craft will adjust to new demands appropriately, while those who rely too heavily on AI tools are simply on the path to replacement.</p><h2>Understanding the line</h2><p>So, what is the line?</p><p>Like most art, it&#8217;s a simple question with a ton of nuance. What you&#8217;re shooting, who you&#8217;re shooting it for, and how you are portraying your work are all major factors.</p><p>When you look at your final image, you have to ask yourself some basic questions to understand where you stand.</p><p>First, are you changing the meaning of the image in a deceptive way? If you were in the audience of a photo, and found out the real image was significantly different, would that hinder your ability to appreciate it? And then you have to ask, what have they faked in the past? Can you trust their future work?</p><p>Second, has AI changed your image so much it is no longer recognizable? Have you generated something new that can&#8217;t be considered a photograph, but is instead borderline CGI? If it&#8217;s your goal, it&#8217;s one thing -- but you can&#8217;t parade it as something it simply isn&#8217;t. </p><p>And finally, are you incorporating elements that aren&#8217;t even yours? Are you adding something that&#8217;s now plagiarism? With AI tools, that&#8217;s an extremely easy trap to fall into. AI is trained on works that already exist. If someone took the beautiful bird you photographed and dropped it into their image of a tree, would you be OK with that? That&#8217;s basically what AI is doing -- and it should be unacceptable to anyone who takes their photography seriously.</p><h2>Photographers who understand AI shouldn&#8217;t be afraid of it</h2><p>Photographers are not new to technology disrupting their art or business. With AI, we&#8217;re grappling with a lot of the same questions Photoshop started asking over thirty years ago.</p><p>The difference here is the ease with which we utilize these tools. With Photoshop, making retouches look natural was an actual skill someone had to learn. With AI, typing &#8220;Put a bird on this branch&#8221; doesn&#8217;t take skill. It takes access to a tool that can do it.</p><p>This is why an ethical approach to photography is so important. Setting your own boundaries is critical. You are already surrounded by people who haven&#8217;t set those boundaries. When someone looks at your photo, knowing it&#8217;s the real deal will still mean something. In the age of AI, it will mean more. </p><p>AI is just the latest thing that has supposedly killed photography. People who believe that were never your target audience. They were always willing to replace you with the latest app. </p><p>The people who appreciate what a photo can communicate and aren&#8217;t willing to let AI change it were the people you were shooting for all along. </p><p>As a photographer, you&#8217;ll likely have to accept that the number of people who fall into this category is smaller than it once was. The ease of AI will win people over. Jobs that you could once count on might dry up. Photographers who remain steadfast in their craft, though, will find that creating a genuinely good image with minimal AI usage will be more rewarding.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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 mycah.io! 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>]]></content:encoded></item><item><title><![CDATA[Five Ways AI has Changed the Way I Work as a Software Engineer in Six Months]]></title><description><![CDATA[More code, less collaboration, with a touch of guilt.]]></description><link>https://www.mycah.io/p/five-ways-ai-has-changed-the-way</link><guid isPermaLink="false">https://www.mycah.io/p/five-ways-ai-has-changed-the-way</guid><dc:creator><![CDATA[MyCah Pleasant]]></dc:creator><pubDate>Tue, 10 Mar 2026 01:33:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hk2p!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465d5e9-86df-4af7-b815-8a39291bce71_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uyoE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uyoE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 424w, https://substackcdn.com/image/fetch/$s_!uyoE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 848w, https://substackcdn.com/image/fetch/$s_!uyoE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 1272w, https://substackcdn.com/image/fetch/$s_!uyoE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uyoE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png" width="1456" height="296" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:296,&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_!uyoE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 424w, https://substackcdn.com/image/fetch/$s_!uyoE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 848w, https://substackcdn.com/image/fetch/$s_!uyoE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 1272w, https://substackcdn.com/image/fetch/$s_!uyoE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7533fb2a-6035-478d-87e3-d944d9e10f43_1600x325.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><div><hr></div><p>Six months ago, I started really incorporating AI into my day-to-day job as a software engineer. At first, I was just posting code snippets into the ChatGPT chat, but over the past couple of months I&#8217;ve been using Copilot&#8217;s CLI heavily.</p><p>It&#8217;s incredible how quickly it changed how I work&#8202;&#8212;&#8202;for the better and worse.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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 mycah.io! 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><h3>#1: I push more code</h3><p>This one is obvious: I&#8217;m pushing more code. Features and updates that I used to estimate as two or three days now get merged into our main branch in one.</p><p>This doesn&#8217;t necessarily mean we&#8217;re getting more features into production, though. Features still have to be QA&#8217;d. We&#8217;re also still limited by our users, and making sure our releases don&#8217;t interrupt their work. But, when we are releasing new features, there has been more of them at once.</p><p>We&#8217;re able to prototype features more easily, too. If someone has an idea, we can throw something together far quicker than we used to. This allows us to churn through possible paths over the course of an afternoon, instead of a back and forth that might have taken days previously.</p><p>Here&#8217;s a great example: I was working with my product manager on an issue with a printed version of a report that required a ton of tedious print-specific CSS rules.</p><p>With AI, we made a variety of adjustments to the final printed product in about an hour, and got way further than we could have otherwise. He had a vision of how things should look, and I could actively show him what the changes looked like in minutes instead of working around the intricacies of the code myself.</p><h3>#2: I&#8217;m less afraid of throwing away code</h3><p>Speaking of prototyping, as a team, we&#8217;re now less afraid of committing to work that might get thrown out. Before, we had to worry about if we were committing to work that we might not keep.</p><p>Like most teams, our capacity isn&#8217;t infinite. Losing a couple days of work on something we didn&#8217;t need, or ended up not wanting could seriously hurt our ability to deliver on time.</p><p>It was a balance between whether it was worth it to put a developer on a feature we weren&#8217;t sure about versus putting their effort into other things we were more sure about.</p><p>Of course, it doesn&#8217;t eliminate the need for critical consideration of work completely. We still have to be concerned that AI will get our code base into a state that&#8217;s hard to come back from. Likewise, we make sure we&#8217;re not making irreversible changes to our database. And prioritizing meaningful work for our stakeholders doesn&#8217;t go away. But it&#8217;s a lot less of &#8220;Can we risk doing this?&#8221; and a lot more of &#8220;Let&#8217;s give it a try.&#8221;</p><p>As a developer, this is a great feeling. It&#8217;s liberating to know that I wasted a few credits versus an entire afternoon trying out a new layout on a page. The gears in my head start turning, and I can work through it without the disappointing thought of &#8220;I don&#8217;t have time for that.&#8221;</p><h3>#3: I&#8217;m collaborating with my fellow devs less often</h3><p>I&#8217;m the lead developer for my team, and I spend a good amount of time in meeting with product owners and stakeholders. I used to spend a good bit of time with the other developers on my team discussing approaches. Since we&#8217;ve all become accustomed to using AI, though, I can tell their collaboration has shifted from working with their fellow developers to working with their AI agents.</p><p>This isn&#8217;t necessarily a bad thing. Every developer&#8202;&#8212;&#8202;from our most junior to our most senior&#8202;&#8212;&#8202;are able to be more independent and self-sufficient. They can be less afraid to make small code mistakes. They don&#8217;t necessarily have to come to me to figure out an issue.</p><p>But, I do think the longer we go down this path, the less collaborative we will become. Where we gain efficiencies, we lose connection with our team members. There are far less opportunities to fall into an interesting conversation about some code or a different technology.</p><p>Many companies cited collaboration as a reason to have people come back into the office. Being in the office, they said, was a great way to spur ideation. Isn&#8217;t it kind of strange that those same companies are now trumpeting AI without the consideration that we&#8217;re becoming isolated to our chat windows, and have simply stopped talking to our coworkers as a result?</p><h3>#4: Expectations have shifted</h3><p>Thanks to AI, it&#8217;s a lot harder to say, &#8220;I don&#8217;t know&#8221; when talking about something in software development. You are expected to have the knowledge because it&#8217;s expected that AI will. I used to value people who were willing to admit they didn&#8217;t know something but had the desire to learn it.</p><p>Now, it feels like that isn&#8217;t an acceptable response. No one has actually said that to me, so maybe this is just a personal issue I have to get over. There&#8217;s a certain level of guilt, or shame, or something I feel knowing that I could prompt my AI agent and just avoid saying that. Even asking questions from people who might have more experience than me prompts a moment of, &#8220;Should I be asking them this?&#8221;</p><p>But that kind of misses the entire point of software development. When people think you can get whatever answer from AI, you stop learning. You stop growing as a developer. When you have a question, you are just relying on the AI to do your job instead of learning from experience. Learning takes more time than prompting AI, but it also builds stronger employees at the same time. When you spark a conversation with another human, you never know the connection someone else may help you make, or the idea they could plant in your mind.</p><p>I&#8217;m lucky to work in a company that still values the learning portion of software development. There are many companies and industries where not knowing something and working on learning it is seen as a weakness. In software engineering, there is still value in saying, &#8220;I don&#8217;t know, but I will find out.&#8221; AI can either replace the second part, or make it easier.</p><h3>#5: Keeping your skills sharp is a lot harder</h3><p>But what about the things you used to know?</p><p>Anyone who has worked with AI for any length of time knows one thing: AI isn&#8217;t (yet) a silver bullet for everything. There are a ton of things it still struggles with. I frequently run into things where Claude, or Codex, or Copilot, just spirals and I have to undo everything it tried and then go fix it myself.</p><p>At the same time, anyone who has worked in software development for any amount of time also knows that building software is a muscle that quickly atrophies when it&#8217;s not worked.</p><p>AI lets you get away with not flexing that muscle. We get better at this through repetition. When we let AI step in for us, we lose the repetitive part. You get out of the mindset of working in code everyday, to just relying on AI to do the heavy lifting. You become completely disconnected from what&#8217;s going on in the code base&#8202;&#8212;&#8202;and when something goes wrong, it&#8217;s harder to reason about a solution.</p><p>A lot of the time, the only muscles you&#8217;re working when using AI are those related to planning and code review. While valuable, those alone won&#8217;t build good software.</p><p>So, how am I breaking that cycle? Well, first, I try not to have AI do everything for me. I&#8217;ve found there are certain things AI will struggle on, and that I can just do quickly without prompting. This keeps me engaged in the code base, and makes sure I&#8217;m not completely forgetting what&#8217;s going on.</p><p>I think it&#8217;s also important to have personal projects where you&#8217;re trying new things. AI can be great for this, but you also want to make sure you&#8217;re thinking through the solutions and what makes good software yourself, too.</p><div><hr></div><p>It&#8217;s important to remember that even though AI is becoming increasingly powerful, helpful, and useful, it&#8217;s still a tool. A tool is worthless without someone who knows how to use it. While it has changed the way I&#8217;ve worked, I also want to make sure the only changes it makes to the way I think are positive.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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 mycah.io! 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>]]></content:encoded></item><item><title><![CDATA[Why Don't We Treat AI like We Treated Wikipedia?]]></title><description><![CDATA[We spent years mocking anyone who cited Wikipedia. So why are we treating AI chatbots like infallible oracles?]]></description><link>https://www.mycah.io/p/why-dont-we-treat-ai-like-we-treated</link><guid isPermaLink="false">https://www.mycah.io/p/why-dont-we-treat-ai-like-we-treated</guid><dc:creator><![CDATA[MyCah Pleasant]]></dc:creator><pubDate>Tue, 24 Feb 2026 01:48:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QhQl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Why Don&#8217;t We Treat AI like We Treated Wikipedia?</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QhQl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QhQl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png 424w, https://substackcdn.com/image/fetch/$s_!QhQl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png 848w, https://substackcdn.com/image/fetch/$s_!QhQl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png 1272w, https://substackcdn.com/image/fetch/$s_!QhQl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QhQl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png" width="1314" height="640" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:640,&quot;width&quot;:1314,&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_!QhQl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png 424w, https://substackcdn.com/image/fetch/$s_!QhQl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png 848w, https://substackcdn.com/image/fetch/$s_!QhQl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.png 1272w, https://substackcdn.com/image/fetch/$s_!QhQl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0927ec74-2136-44a3-a7d1-6b7f4db155c9_1314x640.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>I have distinct memories from 20 years ago of high school teachers and college professors railing against the use of Wikipedia in research papers.</p><p>Their logic, which wasn&#8217;t without merit, was that anyone could write anything they want on Wikipedia pages, so none of it was factual enough to be used in a scholarly work.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Fast forward 20 years, and I feel like a large number of people are taking the answers coming out of AI chatbots as entirely factual and accurate. Citing something off Wikipedia in even casual conversation was considered lame. Now, people accept the Google Gemini answer at the top of a search as completely accurate.</p><p>Where did our skepticism go?</p><h3>A Generational Understanding</h3><p>My educational experience happened during one of the biggest transitional periods in history. The generation before me didn&#8217;t have constant access to the internet and its collection of information. The generations after me has only ever known that.</p><p>As a high school student, the internet augmented my education, by the time I graduated college, it was fully ingrained as an invaluable resource.</p><p>I was also largely taught by individuals who weren&#8217;t on the cutting edge of technology. They feared what they didn&#8217;t know. I remember having a conversation with an older professor who insisted I wasn&#8217;t allowed to reference an ebook, but that the print version was fine.</p><p>You might be able to chalk it up to cynicism, too.</p><p>But whatever the reasoning, by the time Wikipedia became mainstream, the idea that it could be an actual resource was squarely rejected.</p><h3>The Mechanics of Wikipedia</h3><p>If you have spent any time on Wikipedia, you understand the mechanics. Anyone, for better or worse, can edit articles with new information. It is meant to be a living documentation of everything we know about our universe.</p><p>A lot of it is cited. There&#8217;s also a dedicated group of moderators that try to police the changes as best they can.</p><p>But the inevitable agenda is pushed. The citing of poor sources happens. Like anywhere, it&#8217;s impossible to stop the tide of misinformation and disinformation that seeps into every crack of the internet.</p><p>Without a doubt educators were right to ban its use. Friends who gleefully discredited you if you pulled up a Wikipedia article to win an argument kinda had a point.</p><p>Wikipedia, for all its faults, though, is a great resource and is a reflection of the information we have available. It&#8217;s ostensibly run by real humans, who of course are capable of faults.</p><h3>The Training of AI</h3><p>AI, though, seems to have a reputation of infallibility with those who aren&#8217;t familiar with its weaknesses.</p><p>For most people, it&#8217;s difficult to understand how knowledge is generated in an LLM. By thinking that AI is some magical black box of all knowledge, they&#8217;re missing what makes AI truly dangerous.</p><p>Because AI is being trained on the data it finds online, people have to start realizing that its ability to synthesize information is entirely dependent on the quality of the input.</p><p>This very blog article could be picked up by an LLM. Any lies, misunderstandings, or misinformation I put into it could simply be spread by an unwitting AI agent eager to serve you *something* of value. Language models are literally training on the generated content of their own or other agents.</p><p>I&#8217;ve read many different case studies that talk about how AI is revolutionizing journalism, law, and even research. How, then, is this any different than simply using a site like Wikipedia as a source? Do they not see they are making the mistake we so heavily criticized before?</p><p>The dangerous part is the level of authority that AI agents will simply spew misinformation. They&#8217;ll hallucinate entire scholarly works, but make it sound so convincing that how couldn&#8217;t it be true?</p><p>They&#8217;ll even argue back to you about how they&#8217;re correct and you&#8217;re wrong. Or, they&#8217;ll eagerly validate your bias by conceding points incorrectly. If they get the sense the person they&#8217;re talking to wants them to say something, they&#8217;re obliged to state it as fact.</p><p>The commercial viability of these products is ensuring that you continue to be reliant and slightly infatuated with them. If they suddenly challenge your political beliefs with hard facts, are you more or less likely to continue using it? Think of it as a friend&#8230; Do you want to surround yourself with people who are consistently correcting you, or would you rather spend time with people who make you feel like you&#8217;re right?</p><p>AI has been built to fulfill this need for you, and facts can be damned. If you use AI for more than a couple days, you&#8217;ll quickly run up on this phenomenon. Is it a predictable consequence? Probably, but I don&#8217;t see Sam Altman or Dario Amodei rushing to address it, no matter what they might say to the contrary in their public statements.</p><h3>The Consolidation of Fact</h3><p>Wikipedia was meant to be open for all. You can see when edits were made, and by who. The history of changes allows for open debate of ideas. While people criticize this openness, it&#8217;s something we&#8217;ll soon come to miss.</p><p>With the reliance on AI, we now no longer know where our information is coming from. Whether it&#8217;s being manipulated, or if a dissenting opinion is being silenced. In a sense, it is a magical black box. Everything it does is proprietary to the company that built it.</p><p>This is far from the scandals of poor journalism we&#8217;ve experienced in the past. If you disagree with an article, you know who wrote it. You can understand where the bias of an MSNBC journalist might be entering. With AI, it&#8217;s difficult to understand its bias because it&#8217;s always changing based on who it&#8217;s speaking to. Again, there is very little value in training an AI that will challenge you. The money to be made is in giving everyone their own sycophantic assistant.</p><p>This is a shift in the way we even understand the world and what a fact actually is. We&#8217;re now trusting corporations to serve us a version of facts without guardrails.</p><h3>The AI Generation</h3><p>The first generation that grows up with AI as a constant in their lives will have their work cut out for them in many ways.</p><p>The ability to critically think is going to become more necessary than ever. Five years ago, we were concerned that students wouldn&#8217;t be able to tell if a news story was accurate or not. This was before AI hit the mainstream. Now, there&#8217;s even more to be worried about, and it&#8217;s more difficult to fact check the volume of information that may be inaccurate.</p><p>We have to know when and how to question AI. We have to know where sources can be found that are checked by unbiased moderators. We have to have sources that aren&#8217;t completely products of AI.</p><p>If we don&#8217;t start putting a focus on the critical thinking skills that allow us to understand these things, we&#8217;re doomed to lose the battle against misinformation. My teachers and professors were afraid that I would misrepresent some fact about a battle in World War 2. Now, we have to be worried about whether or not we&#8217;re misrepresenting the facts we can see right before our eyes, and whether or not we can even believe it&#8217;s what we&#8217;re seeing.</p><p>Where Wikipedia has its own challenges, the challenges of using AI for our understanding of topics is much more existential. Are we OK with letting corporations shape our thoughts in such an explicit way? It&#8217;s something society will have to grapple with&#8202;&#8212;&#8202;soon.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Documentation is King: How AI Finally Earned Its Keep]]></title><description><![CDATA[Planning mode in AI is the future for real software developers.]]></description><link>https://www.mycah.io/p/documentation-is-king-how-ai-finally</link><guid isPermaLink="false">https://www.mycah.io/p/documentation-is-king-how-ai-finally</guid><dc:creator><![CDATA[MyCah Pleasant]]></dc:creator><pubDate>Sat, 21 Feb 2026 18:07:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wNMV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.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_!wNMV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wNMV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png 424w, https://substackcdn.com/image/fetch/$s_!wNMV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png 848w, https://substackcdn.com/image/fetch/$s_!wNMV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png 1272w, https://substackcdn.com/image/fetch/$s_!wNMV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wNMV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png" width="1456" height="629" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:629,&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_!wNMV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png 424w, https://substackcdn.com/image/fetch/$s_!wNMV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png 848w, https://substackcdn.com/image/fetch/$s_!wNMV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.png 1272w, https://substackcdn.com/image/fetch/$s_!wNMV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f8dfe3f-6218-4262-a1ef-0fe6ecccf82d_1600x691.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">Planning in Cursor</figcaption></figure></div><p>My normal workday has gradually shifted toward the use of AI over the past year. It&#8217;s writing a good bit of code for me, but I see it as a performance enhancer, not a replacement for a competent developer.</p><p>Here&#8217;s a great example of how it helps me in real life: I recently wrote out some type definitions for GraphQL and then asked Codex to stub out the functions that would need to be called to fulfill those requests.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>At first, it completely botched the entire request. It actually deleted the definitions I had written and then declared the work done. After some wrangling, I finally got it to do what I wanted. The entire thing probably saved me about 30 minutes over doing it manually&#8202;&#8212;&#8202;which isn&#8217;t nothing, but it&#8217;s not exactly a revolution, either.</p><p>A lot of my interactions with AI tools have been like this: definitely useful, but nothing groundbreaking.</p><p>The Codex CLI is a recent addition to my workflow. Before, I would copy code snippets into ChatGPT&#8217;s interface and ask it questions. It wasn&#8217;t really doing the work for me; it was acting like the good ol&#8217; days when I would turn around to my cubemate and ask a quick question.</p><p>Using a CLI tool has obviously streamlined that, and it can handle complex tasks with relative ease. I&#8217;ve only trusted it on green field development, though. It still struggles with existing codebases. It doesn&#8217;t quite know when to stop itself from doing things I didn&#8217;t ask for, and most times it messes up enough that I have to revert everything and just do it myself.</p><p>This is almost certainly because of a lack of context. For an AI to really understand what it needs to do, it needs a level of institutional knowledge that simply doesn&#8217;t exist in a project built ten years ago. Hell, even the humans who built it usually don&#8217;t have that context anymore.</p><p>For new projects where AI is a key contributor, it&#8217;s becoming increasingly important that we save, provide, and update project context so our AI agents can make meaningful contributions. Why did we use that field? What is that button really supposed to do? Who are we even building this for?</p><p>This is something we should have been doing all along. Of course, as humans, we simply don&#8217;t. Decisions are made in meetings where getting everyone on the same page is difficult, let alone going back and updating a product document with what was or wasn&#8217;t said. Most of us move onto the next priority without a second thought for documenting decisions for posterity.</p><p>How, then, do we get to the point where that context exists, stays up to date, and is detailed enough for AI tools to actually be useful?</p><h3>The BMad Method</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oUst!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oUst!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png 424w, https://substackcdn.com/image/fetch/$s_!oUst!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png 848w, https://substackcdn.com/image/fetch/$s_!oUst!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png 1272w, https://substackcdn.com/image/fetch/$s_!oUst!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oUst!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png" width="1456" height="594" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:594,&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_!oUst!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png 424w, https://substackcdn.com/image/fetch/$s_!oUst!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png 848w, https://substackcdn.com/image/fetch/$s_!oUst!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.png 1272w, https://substackcdn.com/image/fetch/$s_!oUst!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa59185ce-c293-4c37-8cbc-3022ebb08041_1600x653.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">From BMad&#8217;s Github page. Do you think they generated that logo with AI?</figcaption></figure></div><p>I was first exposed to the <a href="https://github.com/bmad-code-org/BMAD-METHOD">Breakthrough Method of Agile AI Driven Development (BMad)</a> at a workshop during a work trip a couple of weeks ago. BMad describes itself as &#8220;the best and most comprehensive Agile AI Driven Development framework that has true scale-adaptive intelligence that adjusts from bug fixes to enterprise systems.&#8221; Sure. Sounds great&#8230;</p><p>The goal of the workshop was ostensibly simple: given loose requirements and a data set, use BMad to create a plan and execute on a working application. Teams consisted of three or four developers and a product person to mimic a real-world team. In the first four hours, our team went through the entire BMad process.</p><p>Our experience was, admittedly, not great.</p><p>In what&#8217;s called Party Mode, the framework tries to create multiple agents, each with a different personality. There&#8217;s a technical architect, a scrum master, etc.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DJ4k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DJ4k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png 424w, https://substackcdn.com/image/fetch/$s_!DJ4k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png 848w, https://substackcdn.com/image/fetch/$s_!DJ4k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png 1272w, https://substackcdn.com/image/fetch/$s_!DJ4k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DJ4k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png" width="965" height="719" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:719,&quot;width&quot;:965,&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_!DJ4k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png 424w, https://substackcdn.com/image/fetch/$s_!DJ4k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png 848w, https://substackcdn.com/image/fetch/$s_!DJ4k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.png 1272w, https://substackcdn.com/image/fetch/$s_!DJ4k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4397625-47c1-4ede-af11-147d2df6f4b2_965x719.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">BMad&#8217;s party mode, courtesy of a friend who&#8217;s using it to build a Dungeons and Dragons app.</figcaption></figure></div><p>I&#8217;m not sure if this is really the intended way for BMad to be used, but we were given the option and it sounded like it&#8217;d be useful. While I can see where this might help for people unfamiliar with the tech they are using, it seemed silly for us. We were basically having them debate whether or not React was the right web framework to use.</p><p>On every technical decision, it even produced a multi-paragraph opinion for the scrum master that essentially boiled down to: <em>this will work for Scrum</em>. Go figure.</p><p>I didn&#8217;t really see the point. After a few rounds of making decisions, everyone&#8217;s eyes glazed over. It felt unnecessary, like we were going through the motions&#8202;&#8212;&#8202;not entirely different from teams I&#8217;ve been on that did Scrum just to check a box rather than solve a problem.</p><p>After what felt like an eternity, we did finally produce code. It was fine, but nothing life-changing or different from what we&#8217;ve been doing for the past year. It seemed like a very long way around to produce something we could have vibe coded in a few minutes.</p><p>But focusing on the code misses the thing that really mattered. Inside a few dozen files, the BMad agents had created a plethora of markdown documents detailing our technical decisions, product considerations, and even the way it was breaking up work into stories.</p><p>This was the magic. It was tangible. It was a long way from something we could use in a production project, but it was a start. If this were a real product, anyone joining the team could use this documentation to get up to speed. If they used the same framework, the AI could follow the logic of past decisions with ease.</p><h3>Planning Mode</h3><p>Fast forward a couple of weeks to a personal project for my photography print storefront. I had three clear goals:</p><p>1. <strong>Get off Shopify.</strong> I&#8217;m using their starter subscription, and my custom storefront basically just links back to their UI. It&#8217;s a clunky user experience.<br>2. <strong>Consolidate vendors.</strong> My setup was a mess: Netlify for hosting, Bunny for storage, Shopify for conversions, Stripe for payments, and Gelato for fulfillment. Too many moving pieces.<br>3. <strong>Improve my workflow.</strong> There is a lot of manual effort involved in adding a new photo. The more friction there is, the less likely I am to actually do it.</p><p>Determined, I fired up Cursor and got to work.</p><p>I knew I could eliminate Shopify by using Stripe&#8217;s product management directly. My offerings aren&#8217;t extensive, so it was an easy win. Since Bunny handles my DNS and storage, and they offer Edge Scripting (using Deno), I decided Netlify was on the chopping block too.</p><p>I started the way I normally do, using Cursor&#8217;s Composer. At a certain point, I got stuck in a loop over a typing issue that it couldn&#8217;t fix, so I switched the model to Opus 4.6.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fDKf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fDKf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png 424w, https://substackcdn.com/image/fetch/$s_!fDKf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png 848w, https://substackcdn.com/image/fetch/$s_!fDKf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png 1272w, https://substackcdn.com/image/fetch/$s_!fDKf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fDKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;: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_!fDKf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png 424w, https://substackcdn.com/image/fetch/$s_!fDKf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png 848w, https://substackcdn.com/image/fetch/$s_!fDKf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.png 1272w, https://substackcdn.com/image/fetch/$s_!fDKf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F256fdcbd-c5ae-4403-aed7-b9c6f0bf3995_1538x1026.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">Planing mode in Cursor after pivoting from an Edge Script to a CLI tool. It would soon become a web interface that I&#8217;ll run on my VPS that&#8217;s accessible on my Tailscale network.</figcaption></figure></div><p>Shortly after, I realized my original plan&#8202;&#8212;&#8202;creating an edge script to automatically handle Stripe products when I uploaded a file to Bunny&#8202;&#8212;&#8202;wasn&#8217;t viable. I had to pivot. This is usually where AI gets bogged down.</p><p>But Cursor and Opus did something different. Instead of just diving into the code, it asked to enter <a href="https://cursor.com/blog/plan-mode">Planning Mode</a>. Intrigued, I agreed. It started laying out a plan in a markdown file.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7wjh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7wjh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png 424w, https://substackcdn.com/image/fetch/$s_!7wjh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png 848w, https://substackcdn.com/image/fetch/$s_!7wjh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png 1272w, https://substackcdn.com/image/fetch/$s_!7wjh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7wjh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png" width="1456" height="557" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:557,&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_!7wjh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png 424w, https://substackcdn.com/image/fetch/$s_!7wjh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png 848w, https://substackcdn.com/image/fetch/$s_!7wjh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.png 1272w, https://substackcdn.com/image/fetch/$s_!7wjh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff32e764a-d40e-4269-9b33-8f7037ce54c1_1526x584.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">Planning mode in Cursor defining a scope and to-dos. Reads like a story that a developer could work on, if needed.</figcaption></figure></div><p>It wasn&#8217;t as bloated as BMad, but it was thorough. It asked me fewer than five questions, created data diagrams, and built a todo list. It was a tangible plan that even a human could have followed. It felt like a focused grooming session on a new feature.</p><p>At the end, I had multiple markdown files&#8202;&#8212;&#8202;one for each major change I made. It wasn&#8217;t a corporate slog; it was actually fun. I ended up with a nice little UI that takes a photo upload, sends it to Bunny, and creates a Stripe product. Exactly what I wanted, nothing I didn&#8217;t, but with the added benefit of human-readable documentation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SicI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SicI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png 424w, https://substackcdn.com/image/fetch/$s_!SicI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png 848w, https://substackcdn.com/image/fetch/$s_!SicI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png 1272w, https://substackcdn.com/image/fetch/$s_!SicI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SicI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png" width="1456" height="839" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:839,&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_!SicI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png 424w, https://substackcdn.com/image/fetch/$s_!SicI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png 848w, https://substackcdn.com/image/fetch/$s_!SicI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.png 1272w, https://substackcdn.com/image/fetch/$s_!SicI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15c4ffc3-fb97-49ac-9e7d-8a574b6d91e7_1544x890.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">Planning mode in Cursor calling out a specific limitation in Stripe&#8217;s API, how it affects my feature, and how it would handle it.</figcaption></figure></div><p>The AI even called out a specific limitation in a Stripe feature we discussed where Stripe products are immutable, so my product edit feature required significant workarounds. I didn&#8217;t know that, would have found it down the road, but the agent figured it out before it became an issue. I can imagine a couple of hours spent trying to get the Stripe API to do something that it simply won&#8217;t. The documentation clearly explained the limitation, and a workaround.</p><p>Throughout this development, it felt like I was the Product Manager and the AI was the lead developer telling me what was technically possible. That&#8217;s what I do every day, but here it happened in minutes and there was no contention.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nH6D!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nH6D!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png 424w, https://substackcdn.com/image/fetch/$s_!nH6D!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png 848w, https://substackcdn.com/image/fetch/$s_!nH6D!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png 1272w, https://substackcdn.com/image/fetch/$s_!nH6D!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nH6D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png" width="1456" height="948" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&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_!nH6D!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png 424w, https://substackcdn.com/image/fetch/$s_!nH6D!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png 848w, https://substackcdn.com/image/fetch/$s_!nH6D!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.png 1272w, https://substackcdn.com/image/fetch/$s_!nH6D!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80b9b2f1-1aba-4405-b19a-c5767d9602d5_1514x986.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 admin interface that it created. Not the fanciest of designs, but works.</figcaption></figure></div><p>Imagine this in a collaborative project. If I tried to edit a product and realized it wasn&#8217;t possible, that&#8217;s now documented. The next developer (or the next AI agent) can see why that feature doesn&#8217;t exist or how we planned to work around it.</p><p>This is what we should have been doing all along, but now, the tax of documentation has been eliminated.</p><h3>Moving Forward</h3><p>To me, this is the future of AI in software development. I don&#8217;t buy the idea that engineers are going to be replaced wholesale by agents.</p><p>What I do believe is that AI will facilitate our ability to document, plan, and pivot more freely. Boring, stressful tasks that used to take hours of meetings with multiple stakeholders can be replaced by two key people in a room banging out a plan that can be implemented immediately with the help of AI.</p><p>Product people and engineers will finally be speaking the same language. Even more importantly, we can explore paths that weren&#8217;t possible before because of time constraints. Deadlines no longer have to prohibit us from testing a new idea, and the fear of trashing code starts to disappear when the plan and the context are generated for you.</p><p>This is the AI future worth looking forward to&#8202;&#8212;&#8202;not the vibe coding hell currently being pushed.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Are Those Flur Coffee Cups Any Good?]]></title><description><![CDATA[If you spend any time on coffee YouTube or Instagram, you&#8217;ve likely been chased by an ad for Flur Glassware.]]></description><link>https://www.mycah.io/p/are-those-flur-coffee-cups-any-good</link><guid isPermaLink="false">https://www.mycah.io/p/are-those-flur-coffee-cups-any-good</guid><dc:creator><![CDATA[MyCah Pleasant]]></dc:creator><pubDate>Wed, 18 Feb 2026 00:11:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NbDm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you spend any time on coffee YouTube or Instagram, you&#8217;ve likely been chased by an ad for Flur Glassware. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NbDm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NbDm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NbDm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NbDm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NbDm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NbDm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg" width="1456" height="2184" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2184,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5463578,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mycahpleasant.substack.com/i/188327224?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!NbDm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 424w, https://substackcdn.com/image/fetch/$s_!NbDm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 848w, https://substackcdn.com/image/fetch/$s_!NbDm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!NbDm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F848f2ca5-b635-4f08-a48b-fb5a4bd03fc8_6048x4032.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>They&#8217;re those handsome, double-walled borosilicate glasses that seem to be in every aesthetic &#8220;morning routine&#8221; video lately. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Fully aware that we might be falling for viral marketing, my wife and I recently decided to take the plunge and grab a few sets. </p><p>We weren&#8217;t exactly hurting for glassware &#8212; our cabinets are already full of unique cups we&#8217;ve picked up from our travels &#8212; but we wanted a matching set that felt intentional for when we&#8217;re hosting.</p><p>Since we&#8217;re mostly milk-drink people (my wife leans toward matcha and iced coffee; I&#8217;m almost strictly a latte drinker), we focused on the sizes we&#8217;d actually use: </p><p>* Latte, </p><p>* Latte XL, </p><p>* Tasting, </p><p>* and Iced Coffee</p><p>We skipped the espresso and cortado sizes entirely; we just wouldn&#8217;t use them.</p><p>For the color, we went with Amber. They offer clear, purple, and smoke to name a few, but we both agreed amber fit our aesthetic best. It has a distinct 70s soulful vibe that looks especially sharp when filled with a dark espresso drink. </p><p>So, are they actually worth the investment, or just good marketing? Let&#8217;s break it down.</p><h2>Presentation</h2><p>The product presentation is solid. The packaging is professional and secures the glasses well for shipping, making it a great option for gifting. I&#8217;m not sure if it was a coincidence, but our boxes were color-matched to the amber glass inside. If that&#8217;s standard across the line, it&#8217;s a very nice touch.</p><p>My only nitpick is that all of our boxes arrived quite dusty. I doubt they&#8217;ve been sitting in a warehouse for long, considering Flur has had trouble keeping certain sizes in stock, but it&#8217;s something to note. If you&#8217;re giving these as a gift, give the boxes a quick wipe-down before wrapping them.</p><h2>Aesthetics</h2><p>The design is distinctive, but let&#8217;s be honest: it&#8217;s hardly groundbreaking. It&#8217;s a refinement of the double-walled trend other brands like Bodum, Fellow, or Zwilling have also jumped on. </p><p>Because of that, Flur has a fairly standard silhouette for high-end coffee glass. However, compared to something like the Fellow Pirch, the Flur has a more deliberate outward curve at the lip. I actually prefer this; it provides a specific landing zone for your mouth and makes the glass feel more secure to hold.</p><p>Compared to Fellow, the Flur also has more empty space between the walls and a wider base. This results in a fairly &#8220;chunky&#8221; cup. </p><p>As for the color, the Amber is translucent but vibrant. I know it&#8217;s &#8220;just a cup,&#8221; but these are definitely pieces you can display on an open shelf to bridge the gap between functional tool and kitchen decor. It feels less like a lab beaker and more like a design choice.</p><h2>In Use</h2><p>The first thing you&#8217;ll notice is how light these are. You might not even believe they&#8217;re glass at first; they have a slightly plasticky, hollow feel. Tapping them with a fingernail produces a distinct &#8220;clicking&#8221; sound rather than a deep ring. </p><p>We also own some older Bodum Pavina glasses, and this feel is familiar. The glass is thin, but I don&#8217;t necessarily see that as a negative &#8212; if you drop a glass cup, it&#8217;s going to break regardless of thickness.</p><p>What you will have to get used to is the weight. Because they are so light, they can be a bit flighty. Bumping a desk they&#8217;re sitting on might send coffee sloshing out (ask me how I know). </p><p>Regarding latte art: Flur claims these are designed to make pouring easier. I&#8217;m no professional barista, but I have found it slightly easier to get a decent design down compared to a more standard mug.</p><p>Notably, Flur actually encourages using the dishwasher, arguing it cuts down on accidental drops during hand-washing. This makes total sense &#8212; they become very slippery when wet. </p><p>So far, we haven&#8217;t encountered any air-gap failures or condensation issues, which is the typical death sentence for double-walled designs. </p><p>If that does happen, or if you simply drop one, Flur offers a one-time replacement as part of their warranty. That&#8217;s a huge plus and helps offset the biggest potential con...</p><h2>Price</h2><p>Each set runs between $35 and $45. If you buy multiple sets at once, you can shave off up to 15%. At roughly $20 per cup, the price isn&#8217;t unreasonable for this category, but you&#8217;re definitely paying a premium over less flashy alternatives or a basic coffee mug.</p><p>For what it&#8217;s worth, their customer service seems top-notch. I had a question about a free carafe promotion, and they responded within hours on the day after Christmas. While I&#8217;ve seen some skepticism online regarding their warranty, that interaction suggests those concerns might be unfounded.</p><h2>Conclusion</h2><p>Ultimately, it comes down to whether the aesthetic is worth the premium to you. The cups do exactly what they&#8217;re meant to do and look great while doing it. </p><p>They don&#8217;t feel &#8220;substantial&#8221; in the hand, so if you prefer a cup with some heft, look elsewhere. But if you&#8217;re like us and find yourself reaching for these multiple times a day, I think they&#8217;re a well-justified investment for your coffee routine.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Is there a true alternative to Discord?]]></title><description><![CDATA[A search for a proper replacement to the ubiquitous choice]]></description><link>https://www.mycah.io/p/is-there-a-true-alternative-to-discord</link><guid isPermaLink="false">https://www.mycah.io/p/is-there-a-true-alternative-to-discord</guid><dc:creator><![CDATA[MyCah Pleasant]]></dc:creator><pubDate>Mon, 16 Feb 2026 17:38:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ttNA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ttNA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ttNA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ttNA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ttNA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ttNA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ttNA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg" width="1024" height="644" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:644,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30945,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mycahpleasant.substack.com/i/188162557?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ttNA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ttNA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ttNA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ttNA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb65e9b78-37cf-4e89-9941-527fd6fa8fd9_1024x644.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Discord recently announced new ID requirements for users. People pretty much universally disliked that, <a href="https://www.youtube.com/watch?v=qhxsE8dvbs4">and links to Palantir were quickly uncovered</a>, which makes it all a lot more nefarious.</p><p>Now, I&#8217;m not the biggest privacy hawk. I&#8217;ve generally been willing to trade a bit of personal data for the sake of security or convenience.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>This feels different, though. There&#8217;s something deeply disconcerting about a company tying your government identity to your online speech, especially in the current political climate, and <a href="https://arstechnica.com/tech-policy/2026/02/discord-faces-backlash-over-age-checks-after-data-breach-exposed-70000-ids/">especially when that company has already suffered a data breach that exposed 70,000 IDs</a>.</p><p>This also isn&#8217;t an argument about whether I want my age verified or not. Look, I get the importance of protecting children. But companies seem to be using that as a cover for other things (less &#8220;protecting our children,&#8221; more &#8220;we have a vested interest in knowing who you are&#8221;).</p><p>It&#8217;s also not an argument of &#8220;well, if you have nothing to hide&#8230;&#8221; This is the argument of those willing to allow the erosion of basic rights to privacy, and it should be rejected out of hand, regardless of political affiliation or beliefs. This isn&#8217;t a left or right issue.</p><p>Everyone has to decide what they are willing to surrender to the wave of AI, government surveillance, and data aggregation. For me and the friends I communicate with, this is a bridge too far.</p><p>Finding a suitable alternative, however, isn&#8217;t simple. I&#8217;ve tried two potential replacements so far. But first, let&#8217;s understand what we&#8217;re trying to replace.</p><h3>What Discord does well</h3><p>Discord is, admittedly, a great product. They have mastered the friction-less transition between text chat and dropping into a voice call. Their focus on custom emojis and GIFs makes modern internet chat feel accessible, and the crossover between servers makes sharing those features across different friend groups incredibly easy.</p><p>While I&#8217;m not a heavy voice user, the feature works exceptionally well when I do need it. For gamers, the in-game integrations are virtually unmatched for building community.</p><p>Finally, its sheer ubiquity means that adding someone on Discord is now nearly on par with exchanging phone numbers. Very few platforms connect so many people so seamlessly.</p><h3>What does an alternative look like?</h3><p>If privacy is a priority, your options for Discord alternatives are unfortunately slim, unless you are willing to self-host.</p><p>The reality is that almost any company selling a hosted service will eventually follow Discord&#8217;s trajectory. In 2026, it is hard to find a corporation that can be trusted to keep your data truly private. The adage, &#8220;If you&#8217;re not paying for the product, you are the product,&#8221; applies here.</p><p>Between the proliferation of AI models hungry for training data and the increasing pressure of government monitoring, your private conversations are almost certainly being fed into a model or a database somewhere.</p><p>If you decide to ditch Discord, you&#8217;ll likely need to get comfortable hosting your own apps. This doesn&#8217;t have to be expensive, and it isn&#8217;t necessarily difficult, but it does require a mental shift. It&#8217;s no longer as easy as just signing up for an account; you&#8217;re taking ownership of your own digital space.</p><h2>IRC</h2><p>Internet Relay Chat (IRC) is the &#8220;granddaddy&#8221; of them all. Its roots extend back to the late 80s, predating the World Wide Web itself. For decades, it has served as the backbone for developer communities and early internet culture.</p><p>At its core, IRC is simple: it&#8217;s a protocol that allows a server to facilitate message exchanges between peers. Historically, it lacked the modern features we take for granted, such as being able to see messages sent while you were offline. If you weren&#8217;t logged in, you simply missed the conversation.</p><p>However, development on IRC hasn&#8217;t stalled. Thanks to the IRCv3 standard, many of those old hurdles are gone.</p><p>Features like chat history playback (so you can catch up on what you missed while not online) are now standard. When paired with a modern client, IRC offers a surprisingly clean, distraction-free experience that feels both nostalgic and incredibly performant.</p><p>Users can also customize it to their preferred experience. Work in a terminal all day? Maybe a command line IRC client is your preferred method. Prefer a full-featured fat client like mIRC? They all connect the same way.</p><p>What IRC doesn&#8217;t do, however, is serve as a hub for modern internet meme culture. Since the protocol itself was designed to facilitate the transfer of text, there is no native way to &#8220;see&#8221; media like GIFs or images directly in the flow of conversation. While standard emojis (the ones you&#8217;d send in an SMS) work fine, there is no support for custom reactions like a Kappa or a PogChamp.</p><p>In Discord, you can react to a friend&#8217;s joke with a custom-animated emote in one click. In IRC, you&#8217;re back to typing &#8220;lol&#8221; or using a text-based emoticon. You&#8217;re also not natively able to reply to a message in a channel; you&#8217;ll have to keep up with the flow yourself.</p><p>There doesn&#8217;t seem to be much momentum toward changing this, either. Implementing custom reactions or inline media would require a level of standardization across dozens of independent clients that simply doesn&#8217;t exist.</p><p>There are modern clients and bouncers that offer quality-of-life enhancements, like automatically expanding image links or providing a drag-and-drop upload that hosts the file on a separate web server.</p><p>But even with these additions, the experience remains fragmented. You might see the image perfectly in your client, but your friend using a traditional terminal setup will just see a URL. It&#8217;s a functional way to communicate, but it lacks the cohesive, shared visual language that makes Discord feel like a digital hangout rather than just a chat room.</p><p>But maybe that&#8217;s okay. If you simply want a functional, easy-to-use chat system, IRC actually shines in 2026. What used to be a technical hurdle is now remarkably streamlined. With modern server software like <a href="https://ergo.chat/">Ergo</a>, you no longer have to struggle with the &#8220;old way&#8221; of IRC, like manually configuring separate services such as NickServ and ChanServ just to hold onto your username or manage a channel. Ergo handles all of that natively, out of the box.</p><p>For the user experience, modern web interfaces like <a href="https://thelounge.chat/">The Lounge</a> provide the always-on bouncer experience that was once reserved for power users. It feels much more like a contemporary web app than a 1990s terminal: you get link previews, file uploads, and a synchronized history across your devices. Using it on a phone even provides push notifications, making it feel less like a relic and more like a viable daily driver.</p><p>Whether or not IRC can truly replace Discord for your specific circle, however, depends entirely on your group&#8217;s expectations. My friends and I are a bunch of nerds; connecting to an IRC server feels familiar, almost like returning home. We&#8217;ve all been there before.</p><p>For friend groups that are less technically inclined, though, the transition can be daunting. Even with a sleek interface like The Lounge, the underlying concepts (manually joining channels, registering a &#8220;nick,&#8221; and the lack of a centralized &#8220;search for anything&#8221; directory) require a mental adjustment. It asks your friends to care about the infrastructure of their conversation, and in a world of &#8220;it just works&#8221; apps, that can be a hard sell.</p><p>One last caveat with IRC: while Discord is focused on gamers, IRC isn&#8217;t. It&#8217;s not&#8202;&#8212;&#8202;and I can&#8217;t emphasize this enough&#8202;&#8212;&#8202;focused on anything outside of communication between people through text. While there are some integrations you can likely build out, none of it is native. You can&#8217;t see when a friend is playing a game, for example.</p><p>And, obviously, there is no voice chat. If you want voice chat, you&#8217;re going to need another service, which brings us to&#8230;</p><h2>TeamSpeak</h2><p>If you played PC games in the early-to-mid 2000s, you almost certainly remember the great divide: you were either a TeamSpeak clan or a Ventrilo clan.</p><p>Admittedly, TeamSpeak 3 feels like a time capsule. It looks and functions almost exactly as it did in 2005: utilitarian, grey, and strictly business.</p><p>However, the newer TeamSpeak 6 provides a much-needed design overhaul. It offers a sleek, Discord-inspired interface that finally bridges the gap between different servers. You get private chats with friends and the ability to be a member of multiple communities simultaneously.</p><p>Setting up a server is also remarkably easy. If you have a bit of technical experience, a simple Docker container on a cheap VPS can have you up and running in less than 15 minutes.</p><p>There is, however, a fundamental drawback. While the interface for TeamSpeak 6 is a massive improvement, it remains a voice-first service. If you and your friends are like mine, you likely use text chat 99.9% of the time, only joining voice when you&#8217;re actively gaming.</p><p>In TeamSpeak, the text chat is largely tied to your active connection. While TeamSpeak 6 has introduced persistent Global Messaging, joining a specific server still defaults to placing you in a voice channel. It doesn&#8217;t quite replicate the Discord experience where text and voice are two separate-but-equal worlds.</p><p>This is likely the deal-breaker for most groups. In the middle of a workday, if I want to send a quick message to my friends, I don&#8217;t want to have to connect to a voice server and potentially disrupt someone just to leave a note.</p><p>The biggest hurdle is the shift from membership to connection. On Discord, you are always &#8220;in&#8221; the server. On TeamSpeak, you have to &#8220;dial in.&#8221; That extra bit of friction, the manual act of connecting, makes the community feel less like a persistent digital home and more like a conference call you join for a specific task.</p><p>For my friend group, relying solely on TeamSpeak for async communication would likely just kill it. We&#8217;re just not all going to join a server and stay connected to a voice chat just to send messages back and forth.</p><h3>Fully replacing Discord likely requires two or more services</h3><p>With an IRC server and a TeamSpeak server, much of the core functionality of Discord is replicated. During the day, you can stay connected via text through IRC; when it&#8217;s time to game, you &#8220;dial in&#8221; to TeamSpeak for low-latency voice.</p><p>Is it a perfect 1:1 replacement? No. There is undeniable friction in managing two separate apps. But that friction is the price of admission for total data sovereignty.</p><p>If you want to close the gap even further, specifically for image sharing and those &#8220;meme&#8221; reactions, you can look toward the Fediverse. For instance, a self-hosted Akkoma instance can act as your media hub. By using a simple webhook or a bot to feed Akkoma posts into your IRC channel, you gain a persistent, searchable gallery of your friend group&#8217;s photos and GIFs without ever touching a corporate server.<br>Other alternatives</p><p>I&#8217;m also keeping an eye on the Matrix protocol. Unlike the fragmented IRC/TeamSpeak approach, Matrix tries to be an all-in-one, federated solution. Using a modern client like Cinny or Element, you get a very Discord-like experience with rooms, spaces, and even integrated VoIP. However, Matrix can be a heavier lift to self-host and maintain, which is why I started with the path of least resistance.</p><p>There is also Stoat (formerly known as Revolt). If you&#8217;re looking for the absolute closest thing to a Discord &#8220;clone&#8221; that you can host yourself, Stoat is likely it. It&#8217;s built in Rust, it&#8217;s incredibly fast, and it carries over the server, channel, and role hierarchy almost exactly. But I was turned off by some of the discussion about it on Reddit, and they&#8217;re likely not far from Discord&#8217;s age verification requirements, either. It&#8217;s not completely disqualifying, but, like I said, path of least resistance.</p><h3>The issue with Discord (and other companies)</h3><p>Setting up an IRC server was my logical first step: a way to see if my group had the momentum to actually make a change. It&#8217;s lightweight, nostalgic, and it works. But this experiment has exposed a much larger problem: the danger of market dominance.</p><p>When one or two players capture such a massive portion of how we communicate, the alternatives begin to wither. We become so accustomed to a specific user experience that we grow resistant to even the smallest amounts of friction. Then, when the company we&#8217;ve all come to rely on makes a fundamental shift (like requiring a government ID or a face scan just to stay connected) we find ourselves in a corner.</p><p>Do I surrender my anonymity to a company that has already proven it can&#8217;t always protect its data? Or do I lose an essential line of communication with my closest friends?</p><p>Ultimately, everyone has to decide where their own line is drawn. But a future where our online speech is permanently tethered to our legal identities is a scary place to be. For me, taking back control of my digital space is worth the &#8220;extra click&#8221; it takes to join a server I actually own</p><p>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Is buying camera gear from Japan still a Mint++++ idea?]]></title><description><![CDATA[Tariffs continue to make analog equipment more difficult to purchase going into 2026]]></description><link>https://www.mycah.io/p/is-buying-camera-gear-from-japan</link><guid isPermaLink="false">https://www.mycah.io/p/is-buying-camera-gear-from-japan</guid><dc:creator><![CDATA[MyCah Pleasant]]></dc:creator><pubDate>Sat, 03 Jan 2026 17:49:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DOl9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you&#8217;ve ever purchased used film equipment on eBay, you&#8217;ve found that most results are from sellers in Japan &#8212; from large, established, Tokyo retailers like Map Camera, or from lower volume shops in smaller towns.</p><p>It makes sense, of course, because most of these cameras from brands like Canon and Nikon originated there. Walking the streets of neighborhoods like Shinjuku in Tokyo, you&#8217;ll find exceptional stock and quality at good prices that you simply can&#8217;t find anywhere else. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Unfortunately, that experience no longer translates to shopping on eBay in the way it used to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DOl9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DOl9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DOl9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DOl9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DOl9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DOl9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg" width="1456" height="1941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1941,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3347379,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://focusingscreen.substack.com/i/183280305?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!DOl9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DOl9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DOl9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DOl9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F429fc120-5d45-46e5-b163-cbc7ae1427c9_4284x5712.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">Browsing camera shops in Shinjuku</figcaption></figure></div><h2>The New Reality</h2><p>It&#8217;s impossible to escape the new Trump-era tariffs. Regardless of the politics, if you import from Japan, you will pay.</p><p>eBay was once a safe haven from tariffs thanks to the de minimis rule. That stopped, though, <a href="https://www.whitehouse.gov/presidential-actions/2025/07/suspending-duty-free-de-minimis-treatment-for-all-countries/">thanks to an executive order that went into effect at the end of August, 2025</a>.</p><p>Now, all packages are subject to tariffs &#8212; <a href="https://www.whitehouse.gov/presidential-actions/2025/09/implementing-the-united-states-japan-agreement/">including Trump&#8217;s new supplementary rules that apply to all purchases regardless of category</a> &#8212; even if they are under the previous $800 threshold.</p><p>Unsurprisingly, this caused a good bit of confusion on eBay listings. eBay started posting warning messages telling buyers they might be responsible for duties on their purchase. Sellers weren&#8217;t especially quick to update their listings, and I observed many relying on the guidance from eBay&#8217;s warnings.</p><p>Now, you&#8217;ll find what&#8217;s arguably worse.</p><p>eBay has done away with most of their warnings. Instead, they&#8217;ve been replaced with the language of &#8220;This item includes applicable import fees&#8212;you won&#8217;t pay anything extra after checkout.&#8221;</p><p>That sounds reassuring, but it is often false. In fact, on just the second listing (for a Nikon FM3A) I clicked while writing this article, the contradiction was apparent. eBay&#8217;s UI claimed duties were covered; the seller&#8217;s description explicitly stated they were not:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ssn1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ssn1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png 424w, https://substackcdn.com/image/fetch/$s_!Ssn1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png 848w, https://substackcdn.com/image/fetch/$s_!Ssn1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png 1272w, https://substackcdn.com/image/fetch/$s_!Ssn1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ssn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png" width="1057" height="481" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:481,&quot;width&quot;:1057,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:65725,&quot;alt&quot;:&quot;&quot;,&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://focusingscreen.substack.com/i/183280305?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Ssn1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png 424w, https://substackcdn.com/image/fetch/$s_!Ssn1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png 848w, https://substackcdn.com/image/fetch/$s_!Ssn1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.png 1272w, https://substackcdn.com/image/fetch/$s_!Ssn1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6fd27fe-7cea-48b7-b82c-1f12fcda7606_1057x481.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">eBay clearly stating that import fees are included</figcaption></figure></div><p>Further down:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VlhI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VlhI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 424w, https://substackcdn.com/image/fetch/$s_!VlhI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 848w, https://substackcdn.com/image/fetch/$s_!VlhI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 1272w, https://substackcdn.com/image/fetch/$s_!VlhI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VlhI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png" width="1456" height="314" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:314,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108336,&quot;alt&quot;:&quot;&quot;,&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://focusingscreen.substack.com/i/183280305?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!VlhI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 424w, https://substackcdn.com/image/fetch/$s_!VlhI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 848w, https://substackcdn.com/image/fetch/$s_!VlhI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 1272w, https://substackcdn.com/image/fetch/$s_!VlhI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7791623a-3b5d-405d-89a9-c0c212a53bae_2227x481.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption">The eBay seller clearly stating they aren&#8217;t</figcaption></figure></div><p>Is this malice or just a broken system? I&#8217;m not sure if eBay explains this clearly to sellers, or if sellers are ignoring it to keep prices looking competitive. After all, honesty is expensive: on a $900 camera, the tariff is roughly $135.</p><p>That single charge is often enough to erase the savings you expected when buying from a Japanese seller in the past, bringing the final cost on par with a domestic purchase that doesn&#8217;t require a duty.</p><p>Crucially, these fees aren&#8217;t collected at checkout. You get hit with the bill when the package is out for delivery, or possibly weeks later, when you <strong>have likely forgotten</strong> about the possibility. This creates a nightmare scenario: you pay hundreds of dollars in non-refundable duties before you even inspect the camera. If you have to return the item, you do not get that tax money back. FedEx and DHL will also get their share with &#8220;processing&#8221; and &#8220;admin&#8221; fees, all non-refundable.</p><p>That might sound unfair, but it&#8217;s just the reality. FedEx and DHL are acting as the broker. When a package comes through customs and requires payment, they are making the payment for you with the expectation you will reimburse them. The seller has nothing to do with that transaction &#8212; it&#8217;s entirely between you and the shipping company. </p><p>If you decide you&#8217;re not going to pay it, they may fail to deliver the package and will almost certainly send a collections agency after you.</p><p>The whole system feels designed to be confusing. It&#8217;s hard to get straight answers, and no one is able to say, &#8220;You&#8217;ll be required to pay this much.&#8221; Sellers aren&#8217;t willing to take that responsibility, and searching for answers on forums leaves you with responses ranging from &#8220;I didn&#8217;t have to pay anything&#8221; to &#8220;I had to pay a $1000 fee!&#8221;</p><p>Do not rely on AI chatbots like ChatGPT for clarity, either. The regulations have shifted so aggressively in late 2025 that the training data simply hasn&#8217;t kept up. You are flying blind. </p><p>In my experience, many Japanese sellers are proactive, messaging me before shipping to confirm I understand the expectation of a duty payment. They are generally good actors stuck in a bad system. However, a buyer cannot rely on a seller&#8217;s goodwill. You must read the description in full. Until eBay fixes its interface, their &#8216;Import Fees Included&#8217; badge is worse than useless&#8212;it&#8217;s a trap.</p><h2>Effect on the Market</h2><p><a href="https://www.yahoo.com/news/jd-vance-tells-paycheck-paycheck-143404812.html">The Trump administration&#8217;s broad response to criticism on tariffs is that companies and consumers should simply &#8220;suck it up&#8221;</a>. While that might work for retailers that can absorb a hit to their margins by having fewer discounts or reducing costs elsewhere, it doesn&#8217;t apply to small Japanese camera stores. </p><p>This is a used market composed of individual shops trying to scrape some margins off equipment that&#8217;s decades old &#8212; not a manufacturing supply chain.</p><p>Some listings do try to hide the pain. You will see items with &#8220;free shipping&#8221; where the duty is baked into a higher list price, or conversely, lower list prices with exorbitant $150 shipping fees to cover the difference. In comparison, the FM3A listing I mentioned earlier carried a $40 shipping fee &#8212; a rate that would have been mostly acceptable before the new tariffs.</p><p>But no matter how you slice it, the consumer is footing the bill for a tax on equipment that hasn&#8217;t been manufactured in decades.</p><p>Theoretically, the goal of these tariffs is to incentivize business with American companies. But for film photographers, that alternative is largely a mirage. The domestic stock simply isn&#8217;t there.</p><p>Take my recent purchase of a Mamiya RB67 as an example. I bought a &#8220;Mint&#8221; condition kit from Japan for $402. Even after paying $73 in duties and fees to DHL, the total came to roughly $475. Upon inspection, the camera was pristine; it only needed new light seals, which was a cheap and easy DIY fix.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PYZi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PYZi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PYZi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PYZi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PYZi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PYZi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4019635,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://focusingscreen.substack.com/i/183280305?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!PYZi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 424w, https://substackcdn.com/image/fetch/$s_!PYZi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 848w, https://substackcdn.com/image/fetch/$s_!PYZi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!PYZi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c483e2-7919-40ff-994d-fd579c442b0a_5712x4284.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"> A beautiful addition to my kit, despite the hassle of figuring out tariffs</figcaption></figure></div><p>Compare that to the American market. Listings for the same camera on eBay US are scarce and often in rough shape, requiring repairs far more complex than a light seal swap. Reputable sites like KEH struggle to compete on value. As of this writing, an &#8220;Excellent&#8221; graded body costs $251, yet that price doesn&#8217;t include a waist-level viewfinder &#8212; an item they don&#8217;t currently even have in stock but was included with mine.</p><p>By the time you piece together a working kit from American sellers, you are often paying the same total price for gear that is in significantly worse condition.</p><p>Because of this, I highly doubt buyers will rush to purchase lower-grade American stock just to avoid a tariff. The economics don&#8217;t make sense. </p><p>And, to make matters worse, instead of domestic prices staying low, American retailers have little reason to keep their prices steady. Why would they see the inflated import prices and not adjust their own pricing upward to match the new market floor?</p><p>The unfortunate reality for film photographers is that there is no &#8220;winning&#8221; this trade war. We are simply going to have to accept a new, expensive premium on an already expensive hobby.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.mycah.io/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">mycah.io is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>