<?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[Building Small Things With AI]]></title><description><![CDATA[Follow along as I try to build 12 apps or websites over the course of 2026.]]></description><link>https://pjcooley0.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!_HM6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48e0f4d7-99f3-4677-b508-0124b23bf8ab_1000x1000.jpeg</url><title>Building Small Things With AI</title><link>https://pjcooley0.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 26 Jul 2026 21:56:24 GMT</lastBuildDate><atom:link href="https://pjcooley0.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[PJ Cooley]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[pjcooley0@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[pjcooley0@substack.com]]></itunes:email><itunes:name><![CDATA[Building Small Things With AI]]></itunes:name></itunes:owner><itunes:author><![CDATA[Building Small Things With AI]]></itunes:author><googleplay:owner><![CDATA[pjcooley0@substack.com]]></googleplay:owner><googleplay:email><![CDATA[pjcooley0@substack.com]]></googleplay:email><googleplay:author><![CDATA[Building Small Things With AI]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Three months, eight apps, and a few thousand diapers later]]></title><description><![CDATA[A long-overdue update from my parental leave build log]]></description><link>https://pjcooley0.substack.com/p/three-months-eight-apps-and-a-few</link><guid isPermaLink="false">https://pjcooley0.substack.com/p/three-months-eight-apps-and-a-few</guid><dc:creator><![CDATA[Building Small Things With AI]]></dc:creator><pubDate>Mon, 06 Jul 2026 21:27:46 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/01ad1958-da51-4537-88e8-560c5f749c55_2400x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>It&#8217;s been a hectic couple of months since I last posted. I thought I&#8217;d be writing more frequently, but life happened, and here I am.</span></p><p><em><span>A quick confession if you don&#8217;t already know this about me: I absolutely loathe writing. I am the polar opposite of my wife, whose entire career revolves around writing and creativity. That&#8217;s why she&#8217;s my editor-in-chief, and also why this post took three months longer than it should have.</span></em></p><p><span>Here&#8217;s a quick recap of what&#8217;s been going on since February:</span></p><ul><li><p><span>I wrapped up work back in April, took my full pat leave with our daughter and just returned to work last week.</span></p></li><li><p><span>My wife and I saw family back in the US </span><em><span>twice (</span></em><span>yes, two roundtrip international flights with a baby and we lived to tell the tale - I have plenty of tips). And we visited Sicily for the first time!</span></p></li><li><p><span>I leaned into baking more (read more about this below - with a recipe to boot)</span></p></li><li><p><span>I did none of the hiking or reading I said I was going to do (I&#8217;m </span><em><span>almost</span></em><span> done with the book I started back in April&#8230;oops).</span></p></li></ul><p><span>Life&#8217;s been good. And even though I haven&#8217;t written as much as I aspired to, I&#8217;ve spent a lot of time fooling around with Claude, Lovable and the rest of the AI tinker-tools.</span></p><p><span>The outcome was 8 new projects in the past few months. Below are the details on each of the apps (with each live one linked) and what I&#8217;ve learned - - some live, some half built; all great lessons. </span><strong><span>I published all of my projects on my </span><a href="https://pjcooley.com/"><span>personal site</span></a><span> if you want the cliffs notes version.</span></strong></p><h2><strong><span>The two apps that I actually use every day</span></strong></h2><p><span>These are the ones that earned their spot on my home screen.</span></p><h3><strong><a href="https://no-bs-recipes.lovable.app/"><span>No BS Recipes</span></a></strong></h3><p><span>This one came from countless evenings cooking dinner and wanting to throw my phone across the room reading recipes on blogs.</span></p><p><span>I cook a lot. And if you&#8217;ve ever tried to look up a recipe on your phone while standing at a stove, you know the drill: you click the link, and before you can find out how many tablespoons of cumin go in your chicken marinade, you&#8217;re reading a 1,200-word essay about how the author&#8217;s grandmother introduced her to cast iron cookware during a formative summer in the French countryside. Or worse yet, five thousand ads pop up and I&#8217;m just trying to see what the next step of my stir fry should be. Yeah, yeah &#8216;mise en place&#8217;, but nobody&#8217;s perfect.</span></p><p><span>No BS Recipes is exactly what the name says. You paste in a recipe URL from your favorite blogger or IG influencer &#8211; lately it&#8217;s been </span><a href="https://karalydon.com/recipes/tahini-chocolate-chip-banana-bread/"><span>this banana bread recipe</span></a><span>, which is insane, by the way &#8211; and it strips everything except the ingredients and the instructions. That&#8217;s it. There&#8217;s also a word count at the top showing you exactly how much </span><s><span>nonsense</span></s><span> BS you just skipped; an unnecessary but satisfying feature for those with snarky humor.</span></p><p><span>It&#8217;s a web app, so right now it&#8217;s &#8220;add to home screen on your iPhone&#8221; territory, but it works great and I use it basically every time I cook.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dFna!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dFna!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png 424w, https://substackcdn.com/image/fetch/$s_!dFna!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png 848w, https://substackcdn.com/image/fetch/$s_!dFna!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png 1272w, https://substackcdn.com/image/fetch/$s_!dFna!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dFna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png" width="1456" height="725" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:725,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:184124,&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://pjcooley0.substack.com/i/205338495?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.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_!dFna!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png 424w, https://substackcdn.com/image/fetch/$s_!dFna!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png 848w, https://substackcdn.com/image/fetch/$s_!dFna!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.png 1272w, https://substackcdn.com/image/fetch/$s_!dFna!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcee61f6d-addf-4c27-b41d-f0884e63b82e_2938x1462.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em><span>Build stats: 2,944 lines, ~31K tokens, 49.4 Lovable credits</span></em></p><h3><strong><a href="https://tinylayers.app/"><span>Tiny Layers</span></a></strong></h3><p><span>This one came from being a new parent, which is to say: it came from Googling the same questions over and over again, forgetting the previous guidance because short-term memory has vanished from sleep deprivation.</span></p><p><em><span>What should I dress my baby in for this weather?</span></em></p><p><span>To make matters more complicated, we live in Zurich, which can have temperamental weather in the transitional months. With a late fall baby who runs hot, appropriate layering quickly became a challenge for us.</span></p><p><span>Every time I searched for guidance, I&#8217;d end up sifting through Reddit threads, NHS guidelines, some random parenting forum from 2014, and three contradictory blog posts.</span></p><p><span>Enter: Tiny Layers.</span></p><p><span>You open it, it pulls your location, checks the weather, and tells you what your baby should be wearing. It also has a tab for throughout the day changes as the temperature shifts, a sleep tab with TOG-based recommendations based on your room temperature, and multi-kid profiles so you can set up each of your kids. Our daughter is almost nine months now, and I use this basically every morning.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8uph!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8uph!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png 424w, https://substackcdn.com/image/fetch/$s_!8uph!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png 848w, https://substackcdn.com/image/fetch/$s_!8uph!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!8uph!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8uph!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:308765,&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://pjcooley0.substack.com/i/205338495?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.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_!8uph!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png 424w, https://substackcdn.com/image/fetch/$s_!8uph!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png 848w, https://substackcdn.com/image/fetch/$s_!8uph!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!8uph!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3c60fb4-11c0-4ddc-b06d-740f2123d9e3_2880x1800.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em><span>Build stats: 12,820 lines, ~142K tokens (project name under the hood: snuggle-sky-watch)</span></em></p><div><hr></div><h2><strong><span>The one I&#8217;m most excited about right now</span></strong></h2><h3><strong><a href="https://tv-recap.lovable.app/"><span>Recap</span></a></strong></h3><p><span>My wife and I just finished watching </span><em><span>Industry</span></em><span>. It&#8217;s a great show. It is also, at times, a bit dense; full of subtext and financial jargon and character motivations that move fast. &#8220;But PJ, you&#8217;re an accountant. Don&#8217;t you know all of this stuff?&#8221; I know debits and credits, man. Not how to short companies. We kept finishing episodes and turning to each other like, </span><em><span>wait, what just happened?</span></em></p><p><span>My old habit was to Google &#8220;Industry Season 3 Episode 4 recap&#8221; and then spend ten minutes clicking through to find a good one on Vulture or The Ringer or a Reddit thread that actually went deep enough to be useful. When I watched The Wire years ago (one of the greatest shows of all time btw), I was doing this daily and wished I had an easier way to stay on top of all the plot lines.</span></p><p><span>So I built Recap - - a TV episode summarizer that aggregates all of that in one place. You type in the show name, it pulls the full season and episode list via the TMDB API, you pick what you want, and you choose between a short recap or a long one. It surfaces Reddit threads, media site recaps, all of it, in one clean view.</span></p><p><span>It&#8217;s my go-to for any new shows we start watching at home. And yes, </span><em><span>Industry</span></em><span> makes much more sense now. Also, drop me any show recommendations if you have them!</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!avop!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!avop!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png 424w, https://substackcdn.com/image/fetch/$s_!avop!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png 848w, https://substackcdn.com/image/fetch/$s_!avop!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png 1272w, https://substackcdn.com/image/fetch/$s_!avop!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!avop!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png" width="1456" height="725" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:725,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:168899,&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://pjcooley0.substack.com/i/205338495?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.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_!avop!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png 424w, https://substackcdn.com/image/fetch/$s_!avop!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png 848w, https://substackcdn.com/image/fetch/$s_!avop!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.png 1272w, https://substackcdn.com/image/fetch/$s_!avop!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F051903bb-45e8-4aab-be14-9c7456f80975_2938x1462.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em><span>Build stats: 9,198 lines, ~117K tokens, 19.0 Lovable credits</span></em></p><h2><strong><span>The one for peace of mind</span></strong></h2><h3><strong><a href="https://infant-first-aid.vercel.app/"><span>Infant First Aid</span></a></strong></h3><p><span>This one is just good to have on hand with a newborn, especially in a foreign country when you are not 100% confident navigating the emergency medical system.</span></p><p><span>When our daughter started eating solids, my wife and I took a proper infant CPR course, but I wanted to make sure we had the basics close at hand. I looked around for something quick and mobile-friendly and didn&#8217;t love what I found, so I built it myself. It&#8217;s a simple web app: CPR steps, choking response, the fundamentals. Tailored to Switzerland &#8211; Swiss emergency numbers, local guidelines &#8211; though most of the core concepts are universal.</span></p><p><span>I hope we never need it. But it&#8217;s there, one tap away, and that&#8217;s the whole point.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bSkD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bSkD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!bSkD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!bSkD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!bSkD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bSkD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png" width="1440" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119049,&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://pjcooley0.substack.com/i/205338495?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.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_!bSkD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!bSkD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!bSkD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!bSkD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed5a054f-2aa6-4be9-9fb0-8967009aaaa0_1440x900.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em><span>Build stats: 1,603 lines, ~26K tokens</span></em></p><div><hr></div><h2><strong><span>The ones that seemed cool but were really hard to build</span></strong></h2><p><span>Alright, AI </span><em><span>can, </span></em><span>in fact, build a lot of cool sh*t. But is it always worth your time, effort, or money? In my opinion, no. These apps below are living proof. Big ideas that absolutely blew up my usage and credits since I&#8217;m not an engineer and my code is probably garbage anyway.</span></p><p><span>Scope creep with AI is built different. It doesn&#8217;t happen in planning meetings or feature backlogs. It happens while you&#8217;re drinking your coffee on the couch, or you see something while you&#8217;re out on a walk and the gears start turning in your head. Next thing you know, you&#8217;re up until 1am on a Tuesday arguing with Claude Code on why there </span><em><span>must</span></em><span> be a free version of an API key you so desperately need. Or why a login screen has had a broken window for the past 10 iterations you&#8217;ve put together. I wrote about this a little with the Cryptoquip build, but it&#8217;s become a real recurring theme.</span></p><p><span>Here&#8217;s where I ran into it most:</span></p><h3><strong><a href="https://refund-angel.lovable.app/auth"><span>Return Tracker</span></a></strong></h3><p><span>The vision: scan your email for order confirmations and return labels, match them to transactions via Plaid, track when your return gets delivered back to the retailer, and if the refund takes too long, auto draft a &#8220;just gimme my moneyyy&#8221; email.</span></p><p><span>I&#8217;m looking at you, Abercrombie. You know what you did.</span></p><p><span>The reality: this is a genuinely complex integration play. Gmail parsing, Plaid connectivity (this alone stumped me), return window logic by retailer, refund matching across transaction histories, reading English and foreign language emails. Each piece works individually, but wiring them together cleanly, without spending a lot of money on APIs or engineering time, is hard. The app exists in a half-built state and the idea is still solid. I just underestimated the plumbing.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!R7pe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!R7pe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!R7pe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!R7pe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!R7pe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!R7pe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png" width="1440" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80213,&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://pjcooley0.substack.com/i/205338495?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.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_!R7pe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!R7pe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!R7pe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!R7pe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff333be74-dfd7-471a-b31e-fe42d650a3a4_1440x900.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em><span>Build stats: 17,064 lines, ~176K tokens, 74.7 Lovable credits - - the single most expensive build of the bunch, and you&#8217;d never guess it from using it</span></em></p><h3><strong><a href="https://global-family-adventures.lovable.app/"><span>Wanderlust</span></a></strong></h3><p><span>My wife and I live in Zurich. Both of our families are scattered across the US - - different life phases, careers, and interests. Planning a trip that works for everyone is a logistical nightmare.</span></p><p><span>Wanderlust was supposed to fix that. Create a trip, name it, invite everyone, have them each input their preferences, and let AI recommend a destination that actually makes sense for the group. This could be used for family trips, bachelor parties, the list goes on.</span></p><p><span>It partially works. The problem: the AI keeps suggesting destinations in Europe, even when literally everyone else in the trip is based in the US. There&#8217;s also a ceiling on recommendation quality without paying for access to things like the Foursquare API or proper travel data aggregators. I wanted to build this without spending more money, and turns out that&#8217;s where the good stuff lives. Shelved for now, but not forgotten.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!figz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!figz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!figz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!figz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!figz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!figz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png" width="1440" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108634,&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://pjcooley0.substack.com/i/205338495?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.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_!figz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!figz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!figz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!figz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F137f0bc5-5d7f-4707-87a7-e2680d133714_1440x900.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em><span>Build stats: 9,514 lines, ~112K tokens, 23.5 Lovable credits</span></em></p><h3><strong><span>Geld</span></strong></h3><p><em><span>Geld</span></em><span> is German for cash (or money), which felt like an appropriately expat name for an expat personal finance app. This one isn&#8217;t live, so sharing some screenshots of what I was able to come up with from a design perspective (AI slop if you will).</span></p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f923f02-56db-4f3b-a008-9b589f2c5f75_1440x900.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dda9c542-55ec-4a64-97e9-b4dcd9aa3eb4_1440x900.png&quot;}],&quot;caption&quot;:&quot;The start of tracking global accounts, using dummy data&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8f92682-cdc7-4e99-bf5d-18f6006cb318_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p><span>The idea was a </span><a href="https://www.copilot.money/"><span>Copilot</span></a><span> style tracker that could also handle European bank accounts. Because at the moment, I don&#8217;t have this full visibility. I can see all of my US accounts in Copilot - - bank, credit cards, investments - - but I can&#8217;t connect my UBS account to anything. Plaid doesn&#8217;t support it, and from what I can tell, it&#8217;s not a Plaid limitation so much as a regulatory one. There are some European open banking APIs that might work, but this is where I hit a wall that had my head spinning and made me realize I need to hit pause on the project.</span></p><p><em><span>Build stats: 16,032 lines, ~140K tokens - - heavier than Wanderlust, and it still doesn&#8217;t connect to the one bank account I actually wanted</span></em></p><div><hr></div><h2><strong><span>The one I </span></strong><em><strong><span>think</span></strong></em><strong><span> could be the coolest</span></strong></h2><h3><strong><span>Latte Dads</span></strong></h3><p><span>I was so pumped about this one.</span></p><p><span>Being a new dad is incredible. It can also be kind of lonely in a way nobody really prepares you for; especially when you&#8217;re an expat in a city where you&#8217;re still building your social circle, and your partner has a whole network of new mom groups and you&#8217;re just... out here on runs with the stroller, nodding at other dads in the park.</span></p><p><span>Latte Dads is a dad meetup app and deserves a hat tip to the dads of Sweden who are well known for their extensive parental leave. Think of it like Tinder or Bumble, but 100% platonic, and instead of matching one-on-one (which, let&#8217;s be honest, may feel a little awkward), you get matched in a group of three. You and two other dads. The algorithm matches based on location, kids&#8217; ages, and a few other preferences - - because a dad with a seven month old and a dad with two five year olds might be living in pretty different realities vs. two dads both navigating the newborn phase together.</span></p><p><span>The longer vision: partner with local coffee shops and cafes who know you&#8217;re coming. They hold a spot big enough for strollers, offer a small discount on your order, and get guaranteed recurring foot traffic in return. Post meetup, you can optionally request to stay connected with the other dads - - and they&#8217;d have to match the request before any contact info gets shared, so nobody feels put on the spot.</span></p><p><span>Over time, it becomes a community. Dad runs. Parenting questions you&#8217;re embarrassed to Google. And yes, people to grab coffee with on weekends.</span></p><p><span>The design exists. The concept is fully fleshed out. The business model makes sense. Now all I see on my Instagram feed are other dad groups doing this out in the world (</span><a href="https://www.instagram.com/thesecretlifeofdads?utm_source=ig_web_button_share_sheet&amp;igsh=ZDNlZDc0MzIxNw=="><span>thesecretlifeofdads</span></a><span>, </span><a href="https://www.instagram.com/daddystrollersocialclub?utm_source=ig_web_button_share_sheet&amp;igsh=ZDNlZDc0MzIxNw=="><span>daddystrollersocialclub</span></a><span>, </span><a href="https://www.instagram.com/lastrollsociety?utm_source=ig_web_button_share_sheet&amp;igsh=ZDNlZDc0MzIxNw=="><span>lastrollsociety</span></a><span>, </span><a href="https://www.instagram.com/thewalkingdad.de?utm_source=ig_web_button_share_sheet&amp;igsh=ZDNlZDc0MzIxNw=="><span>thewalkingdad.de</span></a><span>).</span></p><p><span>What it needs is energy, marketing, and probably a co-founder who wants to build it out properly. If that&#8217;s you, or if you know someone - get in touch. &#128578;</span></p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f3f92c9-4c02-4ace-ba01-7953b5af153e_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/61663d93-b8a6-4511-ad1f-8a48c812bc1f_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d819d3f1-c75f-4435-94be-3edabf83130b_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a615c8d3-5a8f-455e-b57b-13e1b7a3eddb_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ca8244d3-8ea7-482d-8a9c-0d77e5b572c3_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f3f11c5-1de5-4fc6-9618-311ae60f27a5_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f535025-9156-4206-9b72-c34d14a35df0_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8a3bf94-dd89-49e3-9be0-b0d93fdf0dbb_2880x1800.png&quot;},{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aaa52b66-bbee-47a5-bd14-770b321357d3_2880x1800.png&quot;}],&quot;caption&quot;:&quot;Dads in action&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fca1b94f-6586-4503-af50-503077791baf_1456x1454.png&quot;}},&quot;isEditorNode&quot;:true}"></div><p><em><span>Build stats: 18,276 lines, ~185K tokens - - the largest codebase of anything I&#8217;ve built, for an app that isn&#8217;t even fully live yet. This app also leaned heavily on Claude Design for visuals.</span></em></p><div><hr></div><h2><strong><span>Closing thoughts</span></strong></h2><p><span>I know that some version of these apps probably already exists in the marketplace. Based on a bit of research, I know of at least a handful of competitors across the apps I&#8217;ve mentioned today. But that&#8217;s beside the point.</span></p><p><span>The point is twofold. First, it reaffirms the commitment I made at the start of the year: build in public, keep building, don&#8217;t let the momentum die just because life, or a newborn, gets in the way. Second, and maybe more importantly, it&#8217;s showing all of you how low the barrier to entry has gotten for this kind of thing. A year ago, the idea of me - - a finance guy with zero coding background - - shipping eight apps in a few months might have sounded insane.</span></p><p><span>Maybe I&#8217;ll keep building and eventually strike gold with some niche idea nobody&#8217;s thought of yet. More likely, I&#8217;ll keep shipping scrappy little apps that solve a real problem for me in the short term, while quietly leveling up how I think about AI and product building for years to come.</span></p><p><span>Either way, I&#8217;ve come away from this with a much greater appreciation for the PMs and engineers I work with every day. Doing this at scale with real users, real reliability requirements, and real budgets must be infinitely harder than what I&#8217;m doing in the evenings after my daughter goes down for bed.</span></p><div><hr></div><p><em><span>A few other things I built before I really got into this: a flux commentary generator, a journal entry assistant, a close checklist monitor, and a Claude usage tracker - - all work-adjacent tools I put together early on. Not glamorous, but they&#8217;re on the site if you&#8217;re curious.</span></em></p><p><em><span>All apps are hosted on</span><a href="https://pjcooley.com/"><span> pjcooley.com</span></a><span>. Previous posts:</span><a href="https://open.substack.com/pub/pjcooley0/p/what-im-trying-to-build-in-2026-and?r=2ytz16&amp;utm_medium=ios"><span> What I&#8217;m Trying to Build in 2026</span></a><span> |</span><a href="https://open.substack.com/pub/pjcooley0/p/a-different-type-of-crypto?r=2ytz16&amp;utm_medium=ios"><span> A Different Type of Crypto</span></a></em></p><div><hr></div><p><strong><span>Build Stats (cumulative, since February)</span></strong></p><ul><li><p><span>Apps shipped or in progress: 8</span></p></li><li><p><span>Daily drivers: 3</span></p></li><li><p><span>Shelved (for now): 3</span></p></li><li><p><span>Total lines written across this batch: ~91,500</span></p></li><li><p><span>Total estimated tokens: ~979K</span></p></li><li><p><span>Claude Subscription: Pro</span></p></li><li><p><span>Total Lovable credits spent (this batch): ~167</span></p></li><li><p><span>Lovable Subscription: Pro</span></p></li><li><p><span>Most expensive build relative to what it does: Return Tracker, by a mile</span></p></li><li><p><span>Biggest codebase, still not fully live: Latte Dads</span></p></li><li><p><span>Coffees consumed: infinite - shoutout MAME in Thalwil who has fueled 90% of my flat white needs</span></p></li><li><p><span>Baby naps that funded this: also uncountable - shoutout to my daughter for being a G</span></p></li></ul>]]></content:encoded></item><item><title><![CDATA[A Different Type of Crypto]]></title><description><![CDATA[Having a bit of fun solving puzzles before I get into solving problems.]]></description><link>https://pjcooley0.substack.com/p/a-different-type-of-crypto</link><guid isPermaLink="false">https://pjcooley0.substack.com/p/a-different-type-of-crypto</guid><dc:creator><![CDATA[Building Small Things With AI]]></dc:creator><pubDate>Wed, 04 Feb 2026 21:20:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tZ7k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you read my first post, you&#8217;ll remember I talked about building things that solve daily pain points. This first project isn&#8217;t quite solving a problem, but it presents something to solve.</p><p>I married into a family of puzzle aficionados, and now my wife and I live 4,000 miles away in Switzerland.</p><p>Every morning at my in-laws&#8217; home in central Pennsylvania, printed puzzles appear on the kitchen table like clockwork, labeled with the names of each family member in attendance. There are three puzzles of interest: <a href="https://liber.post-gazette.com/.media/2/2026/01/22/82d94119-375a-41ae-870e-866de77b7397.pdf">the daily crossword</a>, a <a href="https://liber.post-gazette.com/.media/2/2026/01/22/ee3ea916-c972-4c32-8d4d-20d52833489e.pdf">word jumble</a>, and a <a href="https://www.cecildaily.com/diversions/cryptoquip/0201-crypto/file_aee30df9-7ec5-4911-bbb9-6ddbc9f8d08b.html">cryptoquip</a>. As everyone stumbles downstairs, we sip half-caff coffee and work in silence. My wife solves hers before her mug is empty. Others (me) take hours. My father-in-law has already finished them all <em>in his head</em> and walks around peering over shoulders, either offering subtle hints or laughing from his belly at how wrong you are.</p><p>This tradition has run for as long as I&#8217;ve known my wife, over 10 years now. It&#8217;s one of my favorite things about visiting. But visits are rare these days, and with an absence of free options online for my wife&#8217;s <em>favorite</em> puzzle format, I thought: how can I recreate this experience, but in my pocket? </p><p>Enter: my very first website build. A mobile cryptoquip powered by Lovable.</p><div><hr></div><h2><strong>The Build</strong></h2><p>I wanted something intentionally simple. After all, I was trying to recreate a newspaper puzzle; how many bells and whistles do you really need?</p><p>Lovable does a great job of running with your idea. After my initial prompt, it came back with a series of clarifying questions: Should the puzzles be AI-generated? Include a hint system? Track stats? Show a leaderboard? User accounts? I answered enthusiastically.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k58j!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k58j!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png 424w, https://substackcdn.com/image/fetch/$s_!k58j!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png 848w, https://substackcdn.com/image/fetch/$s_!k58j!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png 1272w, https://substackcdn.com/image/fetch/$s_!k58j!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k58j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png" width="878" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:624,&quot;width&quot;:878,&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_!k58j!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png 424w, https://substackcdn.com/image/fetch/$s_!k58j!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png 848w, https://substackcdn.com/image/fetch/$s_!k58j!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.png 1272w, https://substackcdn.com/image/fetch/$s_!k58j!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F890f0c48-f562-483a-bae1-44b51008c5bc_878x624.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A04E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A04E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png 424w, https://substackcdn.com/image/fetch/$s_!A04E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png 848w, https://substackcdn.com/image/fetch/$s_!A04E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png 1272w, https://substackcdn.com/image/fetch/$s_!A04E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A04E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png" width="878" height="586" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:586,&quot;width&quot;:878,&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_!A04E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png 424w, https://substackcdn.com/image/fetch/$s_!A04E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png 848w, https://substackcdn.com/image/fetch/$s_!A04E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.png 1272w, https://substackcdn.com/image/fetch/$s_!A04E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fd357b3-0e72-4f74-96dd-91c5450bf9a5_878x586.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And then, BAM. The first version spun up in minutes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lzSq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lzSq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png 424w, https://substackcdn.com/image/fetch/$s_!lzSq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png 848w, https://substackcdn.com/image/fetch/$s_!lzSq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png 1272w, https://substackcdn.com/image/fetch/$s_!lzSq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lzSq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png" width="1456" height="1458" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1458,&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_!lzSq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png 424w, https://substackcdn.com/image/fetch/$s_!lzSq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png 848w, https://substackcdn.com/image/fetch/$s_!lzSq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.png 1272w, https://substackcdn.com/image/fetch/$s_!lzSq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff84cc5e4-e6a1-4b18-94f6-1b950030ea3d_1596x1598.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As you can see, I got greedy. I asked for <em>all the extra things</em> even though I wanted &#8220;simple.&#8221; After dealing with a slurry of bugs and spending way too many prompts debugging features I didn&#8217;t need, I realized the best move was to cut them out entirely.</p><p>Which brings me to my first learning: when you&#8217;re building with AI, <strong>scope creep happens at the speed of thought</strong>. You&#8217;re not constrained by what you can code, you&#8217;re only constrained by what you can imagine. And that&#8217;s dangerous when you&#8217;re a non-technical hobbyist burning through credits.</p><p>At the time of writing this, I sent <strong>116 messages</strong> to Lovable, which resulted in <strong>56 AI edits</strong>, <strong>91.90 credits used</strong>, and <strong>113 commits in GitHub</strong>. Is that good, bad, or really bad? I genuinely don&#8217;t know. Someone can roast me in the comments.</p><p>Most of those messages were spent tweaking little things: &#8220;center the text on the page,&#8221; &#8220;darken the font of the cipher letters,&#8221; &#8220;remove the leaderboard.&#8221; But the most time-consuming task was: &#8220;create a new list of puzzles based on the following criteria...&#8221;</p><div><hr></div><h2><strong>Where AI Struggles</strong></h2><p>Here&#8217;s the thing: I knew from the start I wasn&#8217;t going to have amazing AI-generated puzzles.</p><p>From my limited research, it appears <a href="https://kingfeatures.com/">King Features</a> has a chokehold on newspaper cryptoquip content - they&#8217;ve copyrighted every puzzle I could find online. And honestly? They&#8217;ve earned it. They blend the perfect amount of punniness and dad-joke groaning, all while staying original. I didn&#8217;t want a cease and desist on my very first AI project, so I tried to train AI to be clever and punny instead.</p><p>If you&#8217;re wondering how that went, here are some zingers:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DrQW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DrQW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png 424w, https://substackcdn.com/image/fetch/$s_!DrQW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png 848w, https://substackcdn.com/image/fetch/$s_!DrQW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png 1272w, https://substackcdn.com/image/fetch/$s_!DrQW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DrQW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png" width="1456" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&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_!DrQW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png 424w, https://substackcdn.com/image/fetch/$s_!DrQW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png 848w, https://substackcdn.com/image/fetch/$s_!DrQW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.png 1272w, https://substackcdn.com/image/fetch/$s_!DrQW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ffc21cf-cf8b-4796-83df-f92e3666293d_1600x963.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In ChatGPT&#8217;s defense, I should&#8217;ve known the free version wasn&#8217;t going to deliver A+ content. But okay, maybe Claude Code Pro would prove worthy?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!e949!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!e949!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png 424w, https://substackcdn.com/image/fetch/$s_!e949!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png 848w, https://substackcdn.com/image/fetch/$s_!e949!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png 1272w, https://substackcdn.com/image/fetch/$s_!e949!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!e949!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png" width="1100" height="622" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:622,&quot;width&quot;:1100,&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_!e949!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png 424w, https://substackcdn.com/image/fetch/$s_!e949!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png 848w, https://substackcdn.com/image/fetch/$s_!e949!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.png 1272w, https://substackcdn.com/image/fetch/$s_!e949!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9d34c77-ec44-4348-b4ef-fd9dcdbc630d_1100x622.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Numbers 7 and 10 had me howling - - either because I have a simple sense of humor, or because I was running on fumes when I asked for these results.</p><p><strong>This is where I learned something important about AI:</strong> it&#8217;s <em>exceptional</em> at binary, structured tasks - - build a website with XYZ criteria, generate text with a specific character count, adhere to strict cipher rules. But the creative element? That&#8217;s where it falls apart. The difference between AI cryptoquips and newspaper-grade puzzles is human wit. Cleverness. Surprise.</p><p><a href="https://youtu.be/O-2OsvVJC0s?t=60">Ben Affleck touched on this</a> recently on Joe Rogan&#8217;s podcast when talking about AI in Hollywood. He said AI can help with crafting and efficiency, but it can&#8217;t create the spark - - the thing that makes you laugh or think differently (He was less diplomatic about it, but you get the idea from the examples above.) That&#8217;s the human part. I felt that keenly while trying to coax puns out of a language model.</p><p>Despite these terrible attempts, I managed to curate a list of a few hundred quips (some AI-generated, some edited, some I wrote myself). They&#8217;re now live on the site. Some are as corny as the ones above. Others are... slightly less corny.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tZ7k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tZ7k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png 424w, https://substackcdn.com/image/fetch/$s_!tZ7k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png 848w, https://substackcdn.com/image/fetch/$s_!tZ7k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png 1272w, https://substackcdn.com/image/fetch/$s_!tZ7k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tZ7k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png" width="1456" height="722" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:722,&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_!tZ7k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png 424w, https://substackcdn.com/image/fetch/$s_!tZ7k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png 848w, https://substackcdn.com/image/fetch/$s_!tZ7k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.png 1272w, https://substackcdn.com/image/fetch/$s_!tZ7k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff070115b-14d1-4396-97d8-4f7b6c5775a0_1570x778.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>The Lovable-GitHub Confusion</strong></h2><p>One of the last things I did was set up a GitHub repo and practice writing commands in Terminal (I&#8217;m a Windows user by heart - shoutout to all my accountants - so this was a fun side quest). I then took my full repo and submitted it to Claude Code for a sanity check: what&#8217;s working well, what&#8217;s unnecessary, where can we refactor?</p><p>What I <em>didn&#8217;t</em> realize is that Claude Code doesn&#8217;t talk back to Lovable.</p><p>After making hours of edits in Terminal, I checked my Lovable project URL and... nothing had changed. That&#8217;s when I learned the hard way that <strong>Lovable is a one-way app</strong> - - it writes to GitHub, but independent changes in your repo don&#8217;t write back.</p><p>So now I have Claude Code review my work and provide me with <em>Lovable prompts</em> to implement the changes. An extra step, but it works.</p><div><hr></div><h2><strong>The Security Warning Loop</strong></h2><p>The other oddity I encountered: security warnings. Lots of them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Tjwu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Tjwu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png 424w, https://substackcdn.com/image/fetch/$s_!Tjwu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png 848w, https://substackcdn.com/image/fetch/$s_!Tjwu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png 1272w, https://substackcdn.com/image/fetch/$s_!Tjwu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Tjwu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png" width="1456" height="652" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:652,&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_!Tjwu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png 424w, https://substackcdn.com/image/fetch/$s_!Tjwu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png 848w, https://substackcdn.com/image/fetch/$s_!Tjwu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.png 1272w, https://substackcdn.com/image/fetch/$s_!Tjwu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1aae720-cff4-446d-85a5-5635dd49ccb1_1600x716.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Maybe this was user error, but it seemed like every time I made a few changes to the website, the same security fixes kept popping up. Lovable has a nice feature that lets you scan and fix these errors automatically, but I swear they weren&#8217;t actually <em>fixing</em> them in a scalable way - - just patching them temporarily. Which meant I kept burning credits to fix the same issues over and over.</p><p>I eventually stopped obsessing over this and accepted it as part of the learning curve.</p><div><hr></div><h2><strong>So What&#8217;s My Takeaway?</strong></h2><p><strong>These tools are amazing.</strong></p><p>I can&#8217;t speak for my technical friends and colleagues, but I imagine this is up-leveling their lives significantly. I could&#8217;ve stopped after 15-20 minutes in Lovable and had <em>exactly</em> what I was looking for.</p><p>I don&#8217;t know whether to be scared or excited that this technology didn&#8217;t exist a year ago. Where will it be 6 months from now? 5 years?</p><p>While I did most of my build in Lovable, I also experimented with ChatGPT, Claude Code, and Manus AI. This is where I struggled most. Lovable was great at turning my idea into a usable website, but where should I turn for content creation? Code review? General sparring? There are so many tools, and I wasted time and credits bouncing between them.</p><p>For my next project, I&#8217;m going to be more structured about which apps I use for what, and more specific in my prompts to avoid burning through credits unnecessarily.</p><p>But for now? <strong>I built </strong><em><strong>something</strong></em><strong>,</strong> in a few days. With no coding experience - and it works.</p><div><hr></div><p><strong>Try it yourself: </strong><a href="https://daily-crypto-charm.lovable.app">Daily Cryptoquip</a></p><p>Give the daily puzzle a shot (or browse the archive). Tell me which puzzles are terrible. Tell me what works and what doesn&#8217;t. I&#8217;d love your feedback - - it&#8217;ll help shape what I build next.</p><p>Up next: a project that actually solves a pain point in my life. More to come soon.</p><div><hr></div><h3><strong>Build Stats</strong></h3><ul><li><p><strong>Tool:</strong> Lovable (primary), ChatGPT, Claude Code, Manus AI</p></li><li><p><strong>Messages sent:</strong> 116</p></li><li><p><strong>AI edits:</strong> 56</p></li><li><p><strong>Credits used:</strong> 91.90</p></li><li><p><strong>GitHub commits:</strong> 113</p></li><li><p><strong>Investment:</strong> A few weekends, several dozen coffees, and a supportive wife who doesn&#8217;t mind me tinkering while she&#8217;s feeding our newborn</p></li><li><p><strong>Live app: </strong><a href="https://daily-crypto-charm.lovable.app">daily-crypto-charm.lovable.app</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[What I'm Trying to Build in 2026 - and Why]]></title><description><![CDATA[I&#8217;m setting a simple goal for myself this year:]]></description><link>https://pjcooley0.substack.com/p/what-im-trying-to-build-in-2026-and</link><guid isPermaLink="false">https://pjcooley0.substack.com/p/what-im-trying-to-build-in-2026-and</guid><dc:creator><![CDATA[Building Small Things With AI]]></dc:creator><pubDate>Sat, 10 Jan 2026 21:24:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_HM6!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48e0f4d7-99f3-4677-b508-0124b23bf8ab_1000x1000.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m setting a simple goal for myself this year:</p><p><strong>Build a few small websites / apps using AI to solve real pain points in my day-to-day life - - and write honestly about the process.</strong></p><p>Not &#8220;start a startup&#8221; &#8230; not &#8220;learn to code perfectly&#8221; &#8230; not &#8220;ship something impressive&#8221; (well, maybe something <em>cool</em>).</p><p>Just: notice daily friction points, try to remove them with software, and document what happens. </p><div><hr></div><h3>Background</h3><p>Like most people with a pulse these days, I&#8217;ve been watching AI slowly take over the world and lower the barrier to building software in ways that would&#8217;ve felt unrealistic a few years ago. And at the same time, I keep running into small, recurring annoyances in my micro world - - things that feel <em>just</em> inconvenient enough to matter, but not big enough to justify a full product team. As a new dad, my home team is <em>even more</em> pressed for time these days, so some of these ideas may be focused around efficiency as a new parent. Most things I build will be for fun and maybe 1-2 will be bigger projects that take me all year.</p><p>This feels like a good moment to experiment - - not in public for validation, but in public for <strong>accountability and reflection</strong>.</p><div><hr></div><h3>How I&#8217;ll use this space</h3><p>I want my Substack to serve as a personal learning log - - a record of what worked, what didn&#8217;t, and what surprised me about working with AI. I want to sharpen my writing skills and think things through in a community space.</p><p>This is <em>not</em> going to be a tutorial series. I probably won&#8217;t ship something every month and I&#8217;m not even sure my ideas will be novel or useful to anyone else.</p><p>Some things I build will be ugly. Some will stall. Some will turn out to solve the wrong problem.</p><p>That&#8217;s part of the point.</p><div><hr></div><h3>How I&#8217;m approaching it</h3><p>A few loose constraints I&#8217;m setting for myself:</p><ul><li><p><strong>Start from personal pain points</strong>, not &#8220;market opportunities&#8221;</p></li><li><p><strong>Use AI as a collaborator</strong>, not a magic button</p></li><li><p><strong>Bias toward shipping something small</strong></p></li><li><p><strong>Write even when progress is messy or slow</strong></p></li></ul><p>If nothing else, I want this to be an honest record of how building with AI actually feels over time - - and maybe a glimpse into my learnings as a new dad and expat in Switzerland.</p><p>Let&#8217;s see where it goes - thanks for following along!</p><p><em>And no, I didn&#8217;t write this with AI. :) </em></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://pjcooley0.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe 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></channel></rss>