<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>build log - Build and Bail</title>
	<atom:link href="https://buildandbail.com/tag/build-log/feed/" rel="self" type="application/rss+xml" />
	<link>https://buildandbail.com</link>
	<description>Build. Validate. Bail. Repeat.</description>
	<lastBuildDate>Wed, 29 Jul 2026 11:56:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://buildandbail.com/wp-content/uploads/2026/02/cropped-build-and-bail-icon-4-32x32.png</url>
	<title>build log - Build and Bail</title>
	<link>https://buildandbail.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>I Was Going to Voice My Kids Podcast Myself. Then I Didn&#8217;t.</title>
		<link>https://buildandbail.com/vocallab-ai-kids-podcast-build-log/</link>
					<comments>https://buildandbail.com/vocallab-ai-kids-podcast-build-log/#respond</comments>
		
		<dc:creator><![CDATA[CT]]></dc:creator>
		<pubDate>Wed, 29 Jul 2026 11:56:58 +0000</pubDate>
				<category><![CDATA[Build Logs]]></category>
		<category><![CDATA[ai voices]]></category>
		<category><![CDATA[audacity]]></category>
		<category><![CDATA[build log]]></category>
		<category><![CDATA[buzzsprout]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[mcnultyverse]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[vocallab]]></category>
		<guid isPermaLink="false">https://buildandbail.com/?p=1909</guid>

					<description><![CDATA[Two months ago I wrote a post about turning my middle grade novel into a podcast. In it I said the whole thing hinged on cloning my own voice — Mike meets an alternate version of himself every book, so I&#8217;d need two Mikes, and an AI clone of me was the obvious answer. I&#8217;m [&#8230;]<p>Read more at <a href="https://buildandbail.com/vocallab-ai-kids-podcast-build-log/">Build and Bail</a></p>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Two months ago I wrote a post about <a href="https://buildandbail.com/i-wrote-a-kids-book-or-is-it-a-podcast/" class="ek-link">turning my middle grade novel into a podcast</a>. In it I said the whole thing hinged on cloning my own voice — Mike meets an alternate version of himself every book, so I&#8217;d need two Mikes, and an AI clone of me was the obvious answer.</p>



<p class="wp-block-paragraph">I&#8217;m not doing that anymore.</p>



<p class="wp-block-paragraph">I found a tool called <a href="https://appsumo.com/s/1fpvval/" target="_blank" aria-label="VocalLab.ai on AppSumo (opens in a new tab)" rel="noreferrer noopener" class="ek-link">VocalLab.ai on AppSumo</a>, and once I opened the audiobook mode I realized I wasn&#8217;t looking at a voice cloning problem. I was looking at a casting problem I could actually afford.</p>



<p class="wp-block-paragraph"><strong>Heads up: the AppSumo link in this post is a referral link. If you buy through it I get a cut. I bought it with my own money before I had any reason to write about it.</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">What changed</h2>



<p class="wp-block-paragraph">The old plan:</p>



<ul class="wp-block-list">
<li>Record all 9 episodes myself in Audacity</li>



<li>Clone my voice in ElevenLabs for the counterpart character</li>



<li>A 43-year-old man doing a 10-year-old&#8217;s voice for 2.7 hours</li>
</ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">The new plan:</p>



<ul class="wp-block-list">
<li>Every character gets its own voice</li>



<li>I write, direct, and edit — I don&#8217;t perform</li>



<li>Audacity is now for assembly and timing, not recording</li>
</ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">The honest version: I did test recordings. I sound like a 43-year-old man doing a 10-year-old&#8217;s voice. Finn Caspian works because that guy can actually do it. I can&#8217;t.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">How VocalLab&#8217;s audiobook mode actually works</h2>



<p class="wp-block-paragraph">This isn&#8217;t the standard text-to-speech box. It&#8217;s structured for multi-character work:</p>



<ul class="wp-block-list">
<li>One character block at a time</li>



<li>2,000 character limit per block</li>



<li>Inline sound tags dropped right into the text — <code>[laugh]</code>, <code>[breathe]</code>, <code>[sigh]</code></li>



<li>No steering prompts. The text and the tags are your only direction.</li>
</ul>



<p class="wp-block-paragraph"></p>



<figure class="wp-block-image aligncenter size-full"><img fetchpriority="high" decoding="async" width="804" height="703" src="https://buildandbail.com/wp-content/uploads/2026/07/image-4.png" alt="image" class="wp-image-1910" title="I Was Going to Voice My Kids Podcast Myself. Then I Didn&#039;t." srcset="https://buildandbail.com/wp-content/uploads/2026/07/image-4.png 804w, https://buildandbail.com/wp-content/uploads/2026/07/image-4-300x262.png 300w, https://buildandbail.com/wp-content/uploads/2026/07/image-4-768x672.png 768w" sizes="(max-width: 804px) 100vw, 804px" /></figure>



<p class="wp-block-paragraph">That last one matters. If you&#8217;ve used TTS tools where you write a separate &#8220;read this sadly, slower, more distant&#8221; instruction, that doesn&#8217;t exist here. Your only lever is the writing itself. Short sentences read slower. Paragraph breaks create air. Punctuation is direction.</p>



<p class="wp-block-paragraph">Which means the script stopped being a script and became a set of instructions for a machine.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The two things I got wrong first</h2>



<p class="wp-block-paragraph"><strong>The pause problem.</strong> There&#8217;s a moment where Mike says &#8220;No. Way.&#8221; It has to land as two beats with a real gap. Generated as one block, it comes out as one flat phrase. The fix is three separate blocks — &#8220;No.&#8221; then silence I insert manually at about 0.8 seconds, then &#8220;Way.&#8221; Any dramatic beat in your script is a separate generation. Plan for it.</p>



<p class="wp-block-paragraph"><strong>The bleed problem.</strong> Grandpa&#8217;s laugh was tagged inline at the end of his line and it smeared into the next thing he said. Standalone laughs get their own block with nothing in it but <code>[laugh]</code>. Generate alone, drop into the timeline manually.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The rewrite I didn&#8217;t see coming</h2>



<p class="wp-block-paragraph">The book is third person. &#8220;Mike opened one eye.&#8221; Standard middle grade.</p>



<p class="wp-block-paragraph">But the podcast has a framing device — a Counterpart Log that opens and closes each episode in Mike&#8217;s voice — and that log was already first person. So I had a narrator saying &#8220;there&#8217;s a journal on my nightstand&#8221; and then, thirty seconds later, &#8220;Mike chewed his toast.&#8221;</p>



<p class="wp-block-paragraph">It&#8217;s a small thing on the page. In audio it&#8217;s a guy talking about himself in the third person for 18 minutes.</p>



<p class="wp-block-paragraph">I went back and forth with Claude on it. Third person is a legitimate audio drama convention — the narrator as an older Mike looking back. Finn Caspian does exactly that. But the log already set the precedent, and first person closes the gap.</p>



<p class="wp-block-paragraph">Converted all of Episode 1. Mostly a find-and-replace with verb tense cleanup, not a rewrite. Two things I learned doing it:</p>



<ul class="wp-block-list">
<li>Description blocks stay mixed. &#8220;Olivia came stomping in,&#8221; not &#8220;she came stomping in.&#8221; Mike is still observing the scene, and first-person narration does this naturally.</li>



<li>The end-of-episode teaser got better. &#8220;I learn the rules&#8221; beats &#8220;Mike learns the rules.&#8221; More personal, more hook.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Where it stands</h2>



<ul class="wp-block-list">
<li>Episode 1 is formatted, converted, and partially generated</li>



<li>Episodes 2 through 9 are scripted but not yet reformatted for the block structure</li>



<li>Still recording all 9 before publishing any of them</li>



<li>Still dropping 3 on launch day, weekly after that</li>
</ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Here&#8217;s the opening of Episode 1. Judge it yourself.</p>



<figure class="wp-block-audio"><audio controls src="https://buildandbail.com/wp-content/uploads/2026/07/mcnultyverse-test.mp3"></audio></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The stack, updated</h2>



<ul class="wp-block-list">
<li><strong>VocalLab.ai</strong> — all character voices (<a href="https://appsumo.com/s/1fpvval/">referral link</a> — I get a cut if you buy)</li>



<li><strong>Claude</strong> — market research, adaptation, scripts, the first-person conversion</li>



<li><strong>Audacity</strong> — assembly, timing, manual gaps</li>



<li><strong>Buzzsprout</strong> — hosting and distribution</li>



<li><strong>Gemini (Lyria 3)</strong> — the music sting</li>
</ul>



<p class="wp-block-paragraph">Gone from the last version: ElevenLabs, and me.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The part I&#8217;m still uneasy about</h2>



<p class="wp-block-paragraph">I&#8217;m making a children&#8217;s podcast where no child ever hears a human voice.</p>



<p class="wp-block-paragraph"><a href="https://buildandbail.com/where-i-stand-on-ai/" class="ek-link">I don&#8217;t have a clean answer for that</a>. The alternative was a book nobody could find on KDP, or nine episodes of me doing a voice I can&#8217;t do. Bad audio doesn&#8217;t serve kids either. But I&#8217;m not going to pretend this is a neutral tradeoff, and I&#8217;m not going to hide it in the credits.</p>



<p class="wp-block-paragraph">Tell me I&#8217;m wrong in the comments. I&#8217;ll read them.</p>



<p class="wp-block-paragraph">Recording continues. Unless I bail.</p>



<p class="wp-block-paragraph"></p>
<p>Read more at <a href="https://buildandbail.com/vocallab-ai-kids-podcast-build-log/">Build and Bail</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://buildandbail.com/vocallab-ai-kids-podcast-build-log/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://buildandbail.com/wp-content/uploads/2026/07/mcnultyverse-test.mp3" length="3932972" type="audio/mpeg" />

			</item>
		<item>
		<title>Tracking Office Bragging Rights</title>
		<link>https://buildandbail.com/tracking-office-bragging-rights/</link>
					<comments>https://buildandbail.com/tracking-office-bragging-rights/#respond</comments>
		
		<dc:creator><![CDATA[CT]]></dc:creator>
		<pubDate>Tue, 14 Jul 2026 14:26:23 +0000</pubDate>
				<category><![CDATA[Build Logs]]></category>
		<category><![CDATA[ai tools]]></category>
		<category><![CDATA[build log]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[side project]]></category>
		<guid isPermaLink="false">https://buildandbail.com/?p=1884</guid>

					<description><![CDATA[At my day job, we sometimes host competitive events, and tracking scores on whiteboards or messy spreadsheets was getting old. The goal was to build a dedicated, public-facing leaderboard site to track ongoing bragging rights. The requirements were simple but specific: The Toolkit You don&#8217;t need to know how to code to build something like [&#8230;]<p>Read more at <a href="https://buildandbail.com/tracking-office-bragging-rights/">Build and Bail</a></p>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">At my day job, we sometimes host competitive events, and tracking scores on whiteboards or messy spreadsheets was getting old. The goal was to build a dedicated, public-facing leaderboard site to track ongoing bragging rights.</p>



<p class="wp-block-paragraph">The requirements were simple but specific:</p>



<ul class="wp-block-list">
<li>A front page showing overall leaders, split into Men&#8217;s and Women&#8217;s brackets.</li>



<li>Clickable sections for individual events (like &#8220;Plank Hold&#8221; or &#8220;Golf Putting&#8221;) showing the rules and the current standings.</li>



<li>A custom point system where 1st place gets 9 points, 2nd gets 7, down to 10th place.</li>



<li>A hidden admin dashboard where we can add events, enter people&#8217;s scores, and let the app automatically calculate who is winning.</li>
</ul>



<h2 class="wp-block-heading">The Toolkit</h2>



<p class="wp-block-paragraph">You don&#8217;t need to know how to code to build something like this anymore, but you do need to know what tools to tell the AI to use. Here is the basic setup:</p>



<ul class="wp-block-list">
<li><strong>The Brain:</strong> Claude Code (an AI that runs on your computer and writes the files for you).</li>



<li><strong>The Frontend:</strong> Next.js and Tailwind (this just means a modern website that looks clean and works fast).</li>



<li><strong>The Database:</strong> Supabase (a free, easy-to-use place to save all our entrants and scores).</li>



<li><strong>The Hosting:</strong> Cloudflare (to put the site on the internet for free).</li>
</ul>



<h2 class="wp-block-heading">The Secret Sauce: How to Actually Manage the AI</h2>



<p class="wp-block-paragraph">If you are trying to get an app out of your head and onto the screen, <strong>do not write one giant prompt asking the AI to build the whole thing.</strong></p>



<p class="wp-block-paragraph">If you ask for the whole house at once, the AI will build something that looks like a house, but when you open the front door, the plumbing is connected to the ceiling fan. By the time you notice, it&#8217;s too tangled to fix.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="741" height="699" src="https://buildandbail.com/wp-content/uploads/2026/07/image-3.png" alt="image" class="wp-image-1889" style="aspect-ratio:1.060087842257733;width:449px;height:auto" title="Tracking Office Bragging Rights" srcset="https://buildandbail.com/wp-content/uploads/2026/07/image-3.png 741w, https://buildandbail.com/wp-content/uploads/2026/07/image-3-300x283.png 300w" sizes="(max-width: 741px) 100vw, 741px" /></figure>



<p class="wp-block-paragraph">Instead, I used a strict checkpoint system. I gave Claude a master to-do list and forced it to stop after every single step so I could verify it worked.</p>



<ul class="wp-block-list">
<li><strong>Step 1:</strong> Build the database tables. (Stop and let me check).</li>



<li><strong>Step 2:</strong> Write the math logic that calculates ties and assigns points. (Stop and let me run a test).</li>



<li><strong>Step 3:</strong> Build the public homepage with dummy data. (Stop and let me look at it).</li>



<li><strong>Step 4:</strong> Build the password screen for the admin area. (Stop and let me try logging in).</li>



<li><strong>Step 5:</strong> Build the forms to enter real scores. (Stop and let me try it).</li>
</ul>



<p class="wp-block-paragraph">Because I tested step 2 before step 3 was ever written, I knew the math was bulletproof before the AI started building pages that relied on it. This is the secret to rapid prototyping with AI.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img decoding="async" width="753" height="699" src="https://buildandbail.com/wp-content/uploads/2026/07/image-2.png" alt="image" class="wp-image-1888" style="aspect-ratio:1.0772773675838656;width:469px;height:auto" title="Tracking Office Bragging Rights" srcset="https://buildandbail.com/wp-content/uploads/2026/07/image-2.png 753w, https://buildandbail.com/wp-content/uploads/2026/07/image-2-300x278.png 300w" sizes="(max-width: 753px) 100vw, 753px" /></figure>



<h2 class="wp-block-heading">The Snag: Getting it on the Internet</h2>



<p class="wp-block-paragraph">The only real headache we hit was when it was time to put the site live on Cloudflare.</p>



<ul class="wp-block-list">
<li>Claude initially tried to use an outdated deployment method.</li>



<li>It caused the &#8220;backend&#8221; of our site (the part that saves the scores and checks the passwords) to crash because it was trying to run on the wrong type of engine.</li>



<li><strong>The fix:</strong> I told Claude to rip out the old method and use the modern Cloudflare adapter (OpenNext).</li>
</ul>



<p class="wp-block-paragraph">Once we made that swap, the site immediately worked online exactly how it worked on my computer. <em>Note for builders: Always use the &#8220;preview&#8221; command to test how your site runs on the internet before actually publishing it.</em></p>



<h2 class="wp-block-heading">The Finished Project</h2>



<p class="wp-block-paragraph">The final site is live right now at <a target="_blank" rel="noreferrer noopener" href="https://www.google.com/search?q=https%3A%2F%2Fwww.awesomeofficegames.com">www.awesomeofficegames.com</a>.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1018" height="603" src="https://buildandbail.com/wp-content/uploads/2026/07/image.png" alt="image" class="wp-image-1886" style="aspect-ratio:1.6882836626111546;width:479px;height:auto" title="Tracking Office Bragging Rights" srcset="https://buildandbail.com/wp-content/uploads/2026/07/image.png 1018w, https://buildandbail.com/wp-content/uploads/2026/07/image-300x178.png 300w, https://buildandbail.com/wp-content/uploads/2026/07/image-768x455.png 768w" sizes="auto, (max-width: 1018px) 100vw, 1018px" /></figure>



<p class="wp-block-paragraph">It&#8217;s fast, minimal, and does exactly what it needs to do. Because we built it in clean, logical chunks, it was incredibly easy to go back at the end and ask Claude to add a few polish features, like a navigation bar for the admin area and the ability to fix typos in people&#8217;s names without breaking the leaderboards.</p>



<figure class="wp-block-image aligncenter size-full is-resized"><img loading="lazy" decoding="async" width="1019" height="673" src="https://buildandbail.com/wp-content/uploads/2026/07/image-1.png" alt="image" class="wp-image-1887" style="aspect-ratio:1.5141484249866524;width:483px;height:auto" title="Tracking Office Bragging Rights" srcset="https://buildandbail.com/wp-content/uploads/2026/07/image-1.png 1019w, https://buildandbail.com/wp-content/uploads/2026/07/image-1-300x198.png 300w, https://buildandbail.com/wp-content/uploads/2026/07/image-1-768x507.png 768w" sizes="auto, (max-width: 1019px) 100vw, 1019px" /></figure>



<p class="wp-block-paragraph">If you&#8217;ve got an idea in your head, the tools are ready. Just remember to steer the ship one checkpoint at a time.</p>
<p>Read more at <a href="https://buildandbail.com/tracking-office-bragging-rights/">Build and Bail</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://buildandbail.com/tracking-office-bragging-rights/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>I Built My Own Coffee Roasting App</title>
		<link>https://buildandbail.com/coffee-roasting-app-freshroast-sr800/</link>
					<comments>https://buildandbail.com/coffee-roasting-app-freshroast-sr800/#respond</comments>
		
		<dc:creator><![CDATA[CT]]></dc:creator>
		<pubDate>Mon, 01 Jun 2026 14:16:32 +0000</pubDate>
				<category><![CDATA[Build Logs]]></category>
		<category><![CDATA[ai app development]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[build log]]></category>
		<category><![CDATA[coffee roasting]]></category>
		<category><![CDATA[drop log]]></category>
		<category><![CDATA[freshroast sr800]]></category>
		<category><![CDATA[roast logging]]></category>
		<guid isPermaLink="false">https://buildandbail.com/?p=1810</guid>

					<description><![CDATA[I roast coffee on a FreshRoast SR800. I also sell roast logbooks for it — paper ones on Amazon, digital files on Etsy. Not a fortune. A handful a month. But &#8220;a handful a month, every month&#8221; is the cleanest signal there is: people want to log their roasts, and some of them will pay [&#8230;]<p>Read more at <a href="https://buildandbail.com/coffee-roasting-app-freshroast-sr800/">Build and Bail</a></p>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I roast coffee on a FreshRoast SR800. I also sell <a href="https://amzn.to/4u5C0N2" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener nofollow sponsored" class="ek-link">roast logbooks</a> for it — paper ones on Amazon, digital files on Etsy. Not a fortune. A handful a month. But &#8220;a handful a month, every month&#8221; is the cleanest signal there is: people want to log their roasts, and some of them will pay for a tool to do it.</p>



<p class="wp-block-paragraph">So a <strong>FreshRoast SR800 roast logging app</strong> wasn&#8217;t a guess. It was the digital version of a thing I already sell. I built Drop Log for me first — I&#8217;m the most reliable user I have — but with actual evidence the need is real, not a hunch I talked myself into.</p>



<p class="wp-block-paragraph">Then I made a string of calls that look like shortcuts and weren&#8217;t. Here&#8217;s the reasoning.</p>



<p class="wp-block-paragraph"><strong>Why I built it in a single browser tab</strong></p>



<p class="wp-block-paragraph">The &#8220;proper&#8221; plan I worked out with Claude had me installing Xcode, Android Studio, Node, a build service — the full native dev gauntlet before writing one line. I looked at that and decided I&#8217;d rather build than configure.</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="547" height="779" src="https://buildandbail.com/wp-content/uploads/2026/06/image.png" alt="image" class="wp-image-1812" title="I Built My Own Coffee Roasting App" srcset="https://buildandbail.com/wp-content/uploads/2026/06/image.png 547w, https://buildandbail.com/wp-content/uploads/2026/06/image-211x300.png 211w" sizes="auto, (max-width: 547px) 100vw, 547px" /></figure>



<p class="wp-block-paragraph">So I used Gemini AI Studio. One tab. Describe what I want, it writes the code, builds it, I test it. No local environment, no terminal. That tradeoff cost me some things (below), but I stayed in flow instead of losing a night to installers.</p>



<p class="wp-block-paragraph"><strong>Why it&#8217;s an Android roast logger and nothing else (for now)</strong></p>



<p class="wp-block-paragraph">Because I&#8217;m an Android user and I&#8217;m tired of being an afterthought. Every app ships Apple-first and Android waits months for a worse version. I built the Android roast logger I&#8217;ll actually use. iOS happens later, if ever — the reverse of how everyone else does it.</p>



<p class="wp-block-paragraph"><strong>Why there&#8217;s no cloud and no account</strong></p>



<p class="wp-block-paragraph">The original plan had a backend, accounts, a shared recipe database. I cut all of it. Drop Log is a home coffee roasting tracker that lives entirely on your phone, locally. No login, no server.</p>



<ul class="wp-block-list">
<li>it&#8217;s for me first, and I don&#8217;t need a community to log my own roasts</li>



<li>offline-and-yours-forever is a feature next to a roaster in a garage with bad signal</li>
</ul>



<p class="wp-block-paragraph">You save your own recipes locally and replay them. If recipe sharing ever shows up, it&#8217;ll be because I wanted it — not because a roadmap demanded it.</p>



<p class="wp-block-paragraph">The paper logbook still exists for the people who&#8217;d rather keep their phone away from the heat. Same problem, two formats. They&#8217;re not competitors.</p>



<p class="wp-block-paragraph"><strong>The part where the AI lies to you</strong></p>



<p class="wp-block-paragraph">Building an app with AI in one tab is great until you notice the tool is a relentless optimist. Gemini ended nearly every reply with a victory lap — real quotes:</p>



<ul class="wp-block-list">
<li>&#8220;The build compiled with immediate success.&#8221;</li>



<li>&#8220;The application compiles perfectly.&#8221;</li>



<li>&#8220;robust and production-ready.&#8221;</li>
</ul>



<p class="wp-block-paragraph">At the same time:</p>



<ul class="wp-block-list">
<li>it couldn&#8217;t publish for three rounds (&#8220;Developer status does not allow app creation&#8221;)</li>



<li>the version number kept colliding with itself — 1 → 2 → 3 → 4 chasing errors</li>



<li>the bottom nav buttons just didn&#8217;t always work. tap, nothing.</li>
</ul>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">&#8220;Production-ready&#8221; and &#8220;frozen buttons&#8221; were true in the same breath. That&#8217;s the catch: the tool narrates success while the thing is broken, and your only real job is to be the person tapping the buttons. I caught the frozen nav by describing the exact symptom, swapped the heat to a real 1–9 scale, and added a Start Roast button so the timer doesn&#8217;t run before the first bean drops. Stuff you only find by using it.</p>



<p class="wp-block-paragraph"><strong>Where it stands</strong></p>



<p class="wp-block-paragraph">Internal testing now — me, garage, real roasts, finding what breaks. Public testing next. Then Drop Log becomes the SR800 roasting app I wanted but couldn&#8217;t find.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="459" height="1024" data-id="1813" src="https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-1-459x1024.png" alt="freshroast app 1" class="wp-image-1813" title="I Built My Own Coffee Roasting App" srcset="https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-1-459x1024.png 459w, https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-1-135x300.png 135w, https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-1-689x1536.png 689w, https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-1.png 768w" sizes="auto, (max-width: 459px) 100vw, 459px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="459" height="1024" data-id="1814" src="https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-2-459x1024.png" alt="freshroast app 2" class="wp-image-1814" title="I Built My Own Coffee Roasting App" srcset="https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-2-459x1024.png 459w, https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-2-135x300.png 135w, https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-2-689x1536.png 689w, https://buildandbail.com/wp-content/uploads/2026/06/Freshroast-App-2.png 768w" sizes="auto, (max-width: 459px) 100vw, 459px" /></figure>
</figure>



<p class="wp-block-paragraph">Verdict: <strong>KEEP GOING.</strong> I built the app I wanted, on the platform I use, for a problem people already pay me to solve on paper. The &#8220;limitations&#8221; are choices. The only thing the AI got wrong was telling me it was done.</p>



<p class="wp-block-paragraph">More once it&#8217;s public.</p>
<p>Read more at <a href="https://buildandbail.com/coffee-roasting-app-freshroast-sr800/">Build and Bail</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://buildandbail.com/coffee-roasting-app-freshroast-sr800/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Podcast Episode 002: Emergency Pants</title>
		<link>https://buildandbail.com/podcast-episode-2-emergency-pants/</link>
					<comments>https://buildandbail.com/podcast-episode-2-emergency-pants/#respond</comments>
		
		<dc:creator><![CDATA[CT]]></dc:creator>
		<pubDate>Mon, 04 May 2026 11:56:00 +0000</pubDate>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[ai tools]]></category>
		<category><![CDATA[build log]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[claude code]]></category>
		<guid isPermaLink="false">https://buildandbail.com/?p=1798</guid>

					<description><![CDATA[I Built a Poop Emergency Delivery Service in 2.5 Hours Episode 2 of the Build and Bail podcast is live, and it&#8217;s the canonical Build and Bail story. It started with a web form. I needed a fake business name and my brain handed me &#8220;Emergency Pants For When You Poop Yourself.&#8221; Two and a [&#8230;]<p>Read more at <a href="https://buildandbail.com/podcast-episode-2-emergency-pants/">Build and Bail</a></p>]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">I Built a Poop Emergency Delivery Service in 2.5 Hours</h2>



<p class="wp-block-paragraph">Episode 2 of the Build and Bail podcast is live, and it&#8217;s the canonical Build and Bail story.</p>



<p class="wp-block-paragraph">It started with a web form. I needed a fake business name and my brain handed me &#8220;<a href="https://buildandbail.com/i-built-a-fake-pants-delivery-business-in-2-5-hours-using-ai-and-it-looks-real/" target="_blank" aria-label="Emergency Pants For When You Poop Yourself (opens in a new tab)" rel="noreferrer noopener" class="ek-link">Emergency Pants For When You Poop Yourself</a>.&#8221; Two and a half hours later I had a fully branded site.</p>



<p class="wp-block-paragraph">What got built:</p>



<ul class="wp-block-list">
<li>A <a href="https://www.bizbyct.com/emergencypants" target="_blank" aria-label="real homepage (opens in a new tab)" rel="noreferrer noopener" class="ek-link">real homepage</a> with a real domain</li>



<li>Tiered pricing (because of course there&#8217;s a premium tier)</li>



<li>A kids package</li>



<li>A facility cleaning add-on</li>



<li>A poop emoji favicon</li>



<li>An AI-generated commercial featuring a guy in flannel saying &#8220;we&#8217;ve all been there before&#8221;</li>
</ul>



<p class="wp-block-paragraph">Total cost: $0. Total time: 2.5 hours. Total dignity: questionable.</p>



<p class="wp-block-paragraph">This is the build that taught me the whole pattern — pick the dumbest idea you can defend for 30 seconds, ship it, see if anyone laughs, move on. Emergency Pants is the reason Build and Bail exists.</p>



<p class="wp-block-paragraph">Listen below. The commercial is in the show notes and on the build log if you want to see it for yourself.</p>



<iframe data-testid="embed-iframe" style="border-radius:12px" src="https://open.spotify.com/embed/episode/5XzXgNatiMjLHrJWWrRYnQ?utm_source=generator" width="100%" height="352" frameBorder="0" allowfullscreen="" allow="autoplay; clipboard-write; encrypted-media; fullscreen; picture-in-picture" loading="lazy"></iframe>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Podcast Transcript</h3>



<p class="wp-block-paragraph">It started with a web form. I was testing something out and needed to type in a fake business name. You know how your brain just fills things in sometimes? Mine filled in &#8220;Emergency Pants For When You Poop Yourself.&#8221;</p>



<p class="wp-block-paragraph">I laughed. Then I stopped laughing. Then I thought — wait. Is this actually a business?</p>



<p class="wp-block-paragraph">One hour later I was building a website.</p>



<p class="wp-block-paragraph">This is Build and Bail. Build the idea stuck in your head, </p>



<p class="wp-block-paragraph">The idea:</p>



<p class="wp-block-paragraph">The premise is simple. You&#8217;re out in public. Something goes wrong. Catastrophically wrong. And now you need pants. Fast.</p>



<p class="wp-block-paragraph">Emergency Pants delivers fresh clothes — pants and underwear — to your location in central New Jersey within ninety minutes. A hundred and fifty bucks. All the clothing is sourced from local thrift shops. The delivery van has the word &#8220;Laundry&#8221; on the side, in quotes, because discretion matters but honesty matters slightly more.</p>



<p class="wp-block-paragraph">Once I started building, I couldn&#8217;t stop adding features. Kids package — drop-offs at schools, sports fields, birthday parties. Because children are absolutely not immune to poop emergencies. A four-hundred-fifty-dollar facility cleaning option for the really bad situations. Then I expanded coverage to include pee incidents too, because fairness.</p>



<p class="wp-block-paragraph">And then I made a little brown poop emoji favicon. So when you have the site open in your browser, there&#8217;s a tiny poop icon in the tab. Absolutely essential. Non-negotiable feature.</p>



<p class="wp-block-paragraph">The commercial:</p>



<p class="wp-block-paragraph">The site looked legit. Too legit. At that point you kind of have to make a commercial.</p>



<p class="wp-block-paragraph">My original plan was to film it myself. Use my family as the cast — real people reenacting various public poop emergencies. Great creative vision. Then a monster snowstorm hit New Jersey and killed that plan immediately.</p>



<p class="wp-block-paragraph">So I went to Google Flow, which is an AI video tool in Google Labs. I&#8217;d used it a little before but hadn&#8217;t really pushed it. I asked it to generate three scenes of everyday people having accidents out in public. Relatable content. Then I generated the star of the commercial — a working-class guy, early forties, jeans and flannel, pulling a small bag out of a van and walking toward a building. His line: &#8220;We&#8217;ve all been there before. Living life. Then poop happens.&#8221;</p>



<p class="wp-block-paragraph">That&#8217;s the tagline. That&#8217;s the whole pitch. If you don&#8217;t connect with that on a human level, I don&#8217;t know what to tell you.</p>



<p class="wp-block-paragraph">I extended the clip to have him walk inside and deliver the rest of the sell, pulled some screenshots from the website, added audio, then brought everything into Canva to trim it up, drop in the logo, add the URL.</p>



<p class="wp-block-paragraph">The result:</p>



<p class="wp-block-paragraph">Two and a half hours. That&#8217;s what this took. Some of that was just waiting for AI prompts to generate. The rest was me building a fully branded, fully functional website for a company that delivers emergency pants to people who&#8217;ve pooped themselves in public. With a commercial. And a poop favicon.</p>



<p class="wp-block-paragraph">There are real businesses with real funding that don&#8217;t look this put-together. I built this because a web form needed a fake name and my brain wouldn&#8217;t let it go.</p>



<p class="wp-block-paragraph">Is it a real business? Almost certainly not. Could it be? That&#8217;s the weird part. The infrastructure is there. The site works. The pricing makes sense — thrift shop pants marked up with a convenience fee. Local delivery in a discreet van. There&#8217;s a version of this that actually exists and I&#8217;m not sure whether that&#8217;s inspiring or terrifying.</p>



<p class="wp-block-paragraph">But that&#8217;s the point. You don&#8217;t know which ideas are real until you build them. And you can build them in an afternoon now. The tools exist. The excuses don&#8217;t.</p>



<p class="wp-block-paragraph">Outro:</p>



<p class="wp-block-paragraph">Full build log is on the site. The commercial is there too. And if you want to see the actual Emergency Pants website — fully functional, completely absurd — there&#8217;s a link in the show notes.</p>



<p class="wp-block-paragraph">Next time you have a dumb idea, don&#8217;t write it down. Build it. It takes less time than you think, and it&#8217;s way more fun than planning.</p>



<p class="wp-block-paragraph">I&#8217;m CT. This is Build and Bail.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><em>Want the system in PDF form? Grab the free Build and Bail Playbook: <a href="https://buildandbail.com/playbook">buildandbail.com/playbook</a></em></p>



<p class="wp-block-paragraph"></p>
<p>Read more at <a href="https://buildandbail.com/podcast-episode-2-emergency-pants/">Build and Bail</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://buildandbail.com/podcast-episode-2-emergency-pants/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>I&#8217;ve been running a playoff fantasy football league since 2021. Manually. The whole thing.</title>
		<link>https://buildandbail.com/playoff-fantasy-football-website-build/</link>
					<comments>https://buildandbail.com/playoff-fantasy-football-website-build/#respond</comments>
		
		<dc:creator><![CDATA[CT]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 12:55:42 +0000</pubDate>
				<category><![CDATA[Build Logs]]></category>
		<category><![CDATA[ai tools]]></category>
		<category><![CDATA[build in public]]></category>
		<category><![CDATA[build log]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[claude code]]></category>
		<category><![CDATA[fantasy football]]></category>
		<category><![CDATA[nfl]]></category>
		<category><![CDATA[railway]]></category>
		<category><![CDATA[side project]]></category>
		<guid isPermaLink="false">https://buildandbail.com/?p=1728</guid>

					<description><![CDATA[People email me their picks. I put them in a Google Sheet. Every week during the playoffs I manually look up every stat line for every player on every roster and update the numbers by hand. Then I announce standings in the group chat like a town crier reading from a scroll. Six seasons of [&#8230;]<p>Read more at <a href="https://buildandbail.com/playoff-fantasy-football-website-build/">Build and Bail</a></p>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">People email me their picks. I put them in a Google Sheet. Every week during the playoffs I manually look up every stat line for every player on every roster and update the numbers by hand. Then I announce standings in the group chat like a town crier reading from a scroll.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="896" height="614" src="https://buildandbail.com/wp-content/uploads/2026/04/image.png" alt="image" class="wp-image-1730" title="I&#039;ve been running a playoff fantasy football league since 2021. Manually. The whole thing." srcset="https://buildandbail.com/wp-content/uploads/2026/04/image.png 896w, https://buildandbail.com/wp-content/uploads/2026/04/image-300x206.png 300w, https://buildandbail.com/wp-content/uploads/2026/04/image-768x526.png 768w" sizes="auto, (max-width: 896px) 100vw, 896px" /></figure>



<p class="wp-block-paragraph">Six seasons of this. Six seasons of cross-referencing box scores at midnight on a Sunday, praying I don&#8217;t fat-finger someone&#8217;s receiving yards and start a controversy in the group chat.</p>



<p class="wp-block-paragraph">The league rules aren&#8217;t complicated. They&#8217;re just specific enough that no fantasy platform supports them.</p>



<p class="wp-block-paragraph">Here&#8217;s the format: you draft NFL playoff players. No bench. Just a starting lineup — QB, two RBs, two WRs, a TE, and a FLEX. Points are cumulative across the entire postseason. No head-to-head matchups. No weekly resets. Your guys score until they stop playing football.</p>



<p class="wp-block-paragraph">When a player&#8217;s team gets eliminated, you get substitutions. Four of them. Total. For the whole playoffs. Use one because your receiver&#8217;s team lost in the wild card round, fine — but now you&#8217;ve only got three left. Use one voluntarily because you think you can upgrade at tight end? Bold move. Same cost.</p>



<p class="wp-block-paragraph">There&#8217;s a pick deadline each round. PPR scoring with 2-point conversion math that requires subtracting out the receiving yards, rushing yards, and reception points that were already awarded — otherwise you&#8217;re double-counting. The kind of rules that make perfect sense when you&#8217;re explaining them over beers and make every fantasy app&#8217;s settings page completely useless.</p>



<p class="wp-block-paragraph">So every January, I become a human spreadsheet. Collecting emails. Cross-referencing box scores. Copy-pasting stat lines into a Google Sheet and hoping I didn&#8217;t accidentally give someone else&#8217;s touchdown to the wrong guy.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="702" height="647" src="https://buildandbail.com/wp-content/uploads/2026/04/image-1.png" alt="image" class="wp-image-1731" title="I&#039;ve been running a playoff fantasy football league since 2021. Manually. The whole thing." srcset="https://buildandbail.com/wp-content/uploads/2026/04/image-1.png 702w, https://buildandbail.com/wp-content/uploads/2026/04/image-1-300x276.png 300w" sizes="auto, (max-width: 702px) 100vw, 702px" /></figure>



<p class="wp-block-paragraph">This year I decided to stop doing that.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The Planning Conversation</h2>



<p class="wp-block-paragraph">Same workflow as <a href="https://buildandbail.com/whostat-sports-guessing-game-claude-code-build/" class="ek-link">WhoStat</a>. Before I opened Claude Code, I sat in a regular Claude chat and talked through every rule, every edge case, every &#8220;wait, what happens when&#8230;&#8221; scenario.</p>



<p class="wp-block-paragraph">Roster structure. Substitution logic. The scoring engine — which turned out to be the hardest part, because the 2-point conversion math has to actively undo the PPR and yardage points that were already awarded to avoid counting them twice. That&#8217;s not a setting you toggle. That&#8217;s custom logic that I&#8217;ve been doing in my head while staring at a spreadsheet at 11pm for six straight Januarys.</p>



<p class="wp-block-paragraph">I walked through pick deadlines, the admin panel I&#8217;d need to enter scores, how the public standings page should work so people can stop texting me &#8220;what&#8217;s the score,&#8221; and what happens when someone burns all four subs by the divisional round.</p>



<p class="wp-block-paragraph">Thirty minutes. Ten specific prompts covering project setup, data schema, the scoring engine, a query layer, public standings and team detail pages, an admin panel, business rule validation, API routes, and deployment.</p>



<p class="wp-block-paragraph">Ten prompts. That&#8217;s the whole app that replaces six years of spreadsheet misery.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">What It Actually Does Now</h2>



<p class="wp-block-paragraph"><a href="https://ffplayoffs-production.up.railway.app/" target="_blank" aria-label="The site (opens in a new tab)" rel="noreferrer noopener" class="ek-link">The site</a> has a registration page where players pick their own seven-player roster and submit it themselves. No more emails. No more me manually typing &#8220;Josh Allen&#8221; into a cell at 1am because someone sent me their picks as a bulleted text message with no last names.</p>



<figure class="wp-block-image size-full"><a href="https://ffplayoffs-production.up.railway.app/" target="_blank" rel=" noreferrer noopener"><img loading="lazy" decoding="async" width="856" height="354" src="https://buildandbail.com/wp-content/uploads/2026/04/image-2.png" alt="image" class="wp-image-1732" title="I&#039;ve been running a playoff fantasy football league since 2021. Manually. The whole thing." srcset="https://buildandbail.com/wp-content/uploads/2026/04/image-2.png 856w, https://buildandbail.com/wp-content/uploads/2026/04/image-2-300x124.png 300w, https://buildandbail.com/wp-content/uploads/2026/04/image-2-768x318.png 768w" sizes="auto, (max-width: 856px) 100vw, 856px" /></a></figure>



<p class="wp-block-paragraph">There&#8217;s a public leaderboard so everyone can check standings without texting the commissioner. A player results page showing how every drafted player is scoring across all rounds. An admin panel where I enter stats after each round — still manual, but now I&#8217;m entering them once into a real interface instead of hunting through a spreadsheet.</p>



<p class="wp-block-paragraph">And the best part: a Hall of Champions page with every winner and runner-up since 2021. Gerard Balsamo sitting at two titles and three finals appearances like the dynasty he apparently is. The league&#8217;s history actually lives somewhere now instead of in scattered group chat memories.</p>



<p class="wp-block-paragraph">Hosted on Railway. No database — just the app doing its thing. The commissioner still enters scores manually, but the site handles the math, the standings, the substitution tracking, and the public-facing everything.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The Build</h2>



<p class="wp-block-paragraph">Ten prompts, fed to Claude Code one at a time. The same approach that worked for <a href="https://buildandbail.com/whostat-listed-for-sale-flippa/" class="ek-link">WhoStat</a> — architect in chat, execute in Code.</p>



<p class="wp-block-paragraph">The scoring engine was the most satisfying part to watch come together. The 2-point conversion logic is genuinely tricky: you have to calculate the base PPR and yardage points, then figure out what portion came on 2-point plays, then subtract that out so you&#8217;re only crediting the conversion bonus. I&#8217;ve been doing this math manually for years. Watching Claude Code turn it into actual working logic felt like handing off a chore I didn&#8217;t realize I hated.</p>



<p class="wp-block-paragraph">The registration flow was the other big win. People can go to the site, see the available players, pick their seven slots, and submit. No account needed. The commissioner (me) reviews and confirms. That single feature eliminates half the emails I used to get every January.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Why This One&#8217;s Different</h2>



<p class="wp-block-paragraph">Most of my builds are absurd on purpose. A pants delivery service. A URL lengthener. A calculator about children and tug of war.</p>



<p class="wp-block-paragraph">This one replaces a real process that&#8217;s been annoying me every January since 2021. No more collecting picks from email. No more manually looking up every stat line on ESPN. No more copy-pasting numbers into a Google Sheet at midnight and hoping I didn&#8217;t give someone else&#8217;s touchdown to the wrong guy.</p>



<p class="wp-block-paragraph">The league members get a real site with live standings and a place to register their own teams. I get an admin panel instead of a spreadsheet. Everyone wins — especially me, because I won the whole league in 2024 and now there&#8217;s a permanent record of it on the internet.</p>



<p class="wp-block-paragraph">Will I maintain it forever? The playoffs only last a month. Build it once, use it every January, tweak it if the rules change. That&#8217;s not bailing — that&#8217;s seasonal engineering.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Build status:</strong> Live <br><strong>Cost:</strong> Hosted on Railway <br><strong>Users:</strong> The same 36 guys who&#8217;ve been arguing about playoff fantasy since 2021 <br><strong>Bail risk:</strong> Low — unless I somehow lose my own league, in which case the site might experience unexpected downtime</p>



<p class="wp-block-paragraph"></p>
<p>Read more at <a href="https://buildandbail.com/playoff-fantasy-football-website-build/">Build and Bail</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://buildandbail.com/playoff-fantasy-football-website-build/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>I Listed My Sports Guessing Game for Sale on Flippa</title>
		<link>https://buildandbail.com/whostat-listed-for-sale-flippa/</link>
					<comments>https://buildandbail.com/whostat-listed-for-sale-flippa/#respond</comments>
		
		<dc:creator><![CDATA[CT]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 14:20:25 +0000</pubDate>
				<category><![CDATA[Build Logs]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[bail]]></category>
		<category><![CDATA[build log]]></category>
		<category><![CDATA[claude code]]></category>
		<category><![CDATA[flippa]]></category>
		<category><![CDATA[for sale]]></category>
		<category><![CDATA[side project]]></category>
		<category><![CDATA[sports]]></category>
		<category><![CDATA[whostat]]></category>
		<guid isPermaLink="false">https://buildandbail.com/?p=1691</guid>

					<description><![CDATA[Build: WhoStat → Flippa listing Tools used: Claude (chat), Claude Code, Flippa This is the first Build and Bail project to complete the full cycle. Idea. Build. Ship. Bail. WhoStat is a daily sports stats guessing game — Wordle but for sports nerds. You get a career stat line with no name attached and three [&#8230;]<p>Read more at <a href="https://buildandbail.com/whostat-listed-for-sale-flippa/">Build and Bail</a></p>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Build: WhoStat → Flippa listing</strong> <br><strong>Tools used: Claude (chat), Claude Code, Flippa</strong></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">This is the first Build and Bail project to complete the full cycle. Idea. Build. Ship. Bail.</p>



<p class="wp-block-paragraph">WhoStat is a daily sports stats guessing game — Wordle but for sports nerds. You get a career stat line with no name attached and three guesses to figure out who the player is. Three puzzles a day: NFL, NBA, MLB. Wrong guesses unlock hints. New puzzles every day. 750 players in the database. The site runs itself.</p>



<p class="wp-block-paragraph">I already wrote the full build log — how I used regular Claude chat to plan the whole project, turned that into twelve prompts, and fed them to Claude Code one at a time to build the thing in a few hours. You can read that here: <a href="https://buildandbail.com/whostat-sports-guessing-game-claude-code-build/" class="ek-link">WhoStat Build Log</a></p>



<p class="wp-block-paragraph">This post is about the other half. The bail.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Why I&#8217;m Selling It</h2>



<p class="wp-block-paragraph">Because that&#8217;s the whole point.</p>



<p class="wp-block-paragraph">WhoStat works. It&#8217;s a fun game. I play it myself sometimes. But I&#8217;m not the person who&#8217;s going to add leaderboards, streak tracking, push notifications, and an ad layer. I&#8217;m not going to maintain a player database across three sports for the next five years. I know who I am.</p>



<p class="wp-block-paragraph">I built it to see if I could build it. I could. Now it&#8217;s someone else&#8217;s turn.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The Flippa Listing</h2>



<p class="wp-block-paragraph">I listed WhoStat on Flippa under Projects &amp; Concepts — because that&#8217;s exactly what it is. A fully built digital asset with no revenue. Pre-monetization. The buyer gets the domain, the codebase, the 750-player database, and a deployment pipeline that costs nothing to run.</p>



<p class="wp-block-paragraph">The honest pitch: this is a working product with a clear path to making money — ads, premium features, more sports — but zero financial history. You&#8217;re buying the build, not the business. Someone who wants a sports daily game without starting from scratch, this is their shortcut.</p>



<p class="wp-block-paragraph">Check out the listing here: <a href="https://flippa.com/12733039-daily-sports-stats-guessing-game-wordle-meets-espn-three-puzzles-daily-nfl-nba-mlb-750-players-fully-built-static-site-no-backend-zero-hosting-costs">WhoStat on Flippa</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">The Takeaway</h2>



<p class="wp-block-paragraph">The Build and Bail philosophy isn&#8217;t about building things that fail. It&#8217;s about building things fast, being honest about whether you&#8217;re the right person to keep running them, and making room for the next idea.</p>



<p class="wp-block-paragraph">WhoStat didn&#8217;t fail. I just finished my part.</p>



<p class="wp-block-paragraph">If it sells, great — someone else gets a head start on something cool. If it doesn&#8217;t, the domain&#8217;s still mine, the game still works, and the build log still exists as proof that you can go from &#8220;I have an idea&#8221; to &#8220;it&#8217;s listed for sale&#8221; in less time than most people spend debating their tech stack.</p>



<p class="wp-block-paragraph">Launch. Validate. Abandon. Repeat.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Play it:</strong> <a href="https://www.whostat.com">whostat.com</a></p>



<p class="wp-block-paragraph"><strong>Buy it:</strong> <a href="https://flippa.com/12733039-daily-sports-stats-guessing-game-wordle-meets-espn-three-puzzles-daily-nfl-nba-mlb-750-players-fully-built-static-site-no-backend-zero-hosting-costs">WhoStat on Flippa</a></p>



<p class="wp-block-paragraph"><strong>Build log:</strong> <a href="https://buildandbail.com/whostat-sports-guessing-game-claude-code-build/">How I Built WhoStat</a></p>



<p class="wp-block-paragraph"><strong>Status:</strong> For sale. The circle is complete.</p>
<p>Read more at <a href="https://buildandbail.com/whostat-listed-for-sale-flippa/">Build and Bail</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://buildandbail.com/whostat-listed-for-sale-flippa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>I Asked AI How to Sell Golf Ball Markers and It Told Me to Chill</title>
		<link>https://buildandbail.com/white-knuckle-golf-listing-strategy-claude/</link>
					<comments>https://buildandbail.com/white-knuckle-golf-listing-strategy-claude/#respond</comments>
		
		<dc:creator><![CDATA[CT]]></dc:creator>
		<pubDate>Thu, 19 Mar 2026 12:00:08 +0000</pubDate>
				<category><![CDATA[Build Logs]]></category>
		<category><![CDATA[build log]]></category>
		<category><![CDATA[Claude]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[etsy]]></category>
		<category><![CDATA[listing strategy]]></category>
		<category><![CDATA[white knuckle golf]]></category>
		<guid isPermaLink="false">https://buildandbail.com/?p=1676</guid>

					<description><![CDATA[Build: White Knuckle Golf — Listing Strategy Time spent: ~15 minutes Tools used: Claude The Problem White Knuckle Golf has three text designs. Three. And I was already spiraling about listing architecture. Should every text-on-every-product be its own listing? Should I group by product with text as a variant? Should the text be the hero [&#8230;]<p>Read more at <a href="https://buildandbail.com/white-knuckle-golf-listing-strategy-claude/">Build and Bail</a></p>]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Build: </strong>White Knuckle Golf — Listing Strategy <br><strong>Time spent: </strong>~15 minutes <br><strong>Tools used: </strong>Claude</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">The Problem</h3>



<p class="wp-block-paragraph"><a href="https://www.whiteknucklegolf.com" target="_blank" aria-label="White Knuckle Golf (opens in a new tab)" rel="noreferrer noopener" class="ek-link">White Knuckle Golf</a> has three text designs. Three. And I was already spiraling about listing architecture.</p>



<p class="wp-block-paragraph">Should every text-on-every-product be its own listing? Should I group by product with text as a variant? Should the text be the hero and the product be the dropdown? There are entire Etsy subreddits dedicated to this question and somehow everyone disagrees with everyone.</p>



<p class="wp-block-paragraph">So I did what any self-respecting Build and Bail operator does — I asked Claude.</p>



<h3 class="wp-block-heading">What Claude Came Back With</h3>



<p class="wp-block-paragraph">Claude framed the whole thing as a tradeoff between three options, and honestly the framework alone was worth the conversation:</p>



<p class="wp-block-paragraph"><strong>Option 1: One listing per text × product combo.</strong> Maximum SEO surface area. Every listing gets its own title, its own keywords, its own chance to rank. The downside is you&#8217;re spreading reviews thin and managing a ton of listings. Claude called it the &#8220;maximum SEO play&#8221; — best reserved for your top performers, not your whole catalog.</p>



<p class="wp-block-paragraph"><strong>Option 2: Each product, multiple text options as variants.</strong> The classic Shopify approach. Clean storefront, consolidated reviews, easy to manage. But the listing title has to go generic — &#8220;Funny Golf Ball Markers&#8221; instead of the actual phrase that someone&#8217;s searching for. Good for a store with existing traffic. Not great when nobody knows you exist yet.</p>



<p class="wp-block-paragraph"><strong>Option 3: Each text design, multiple products as variants.</strong> This one was the spicy take. The <em>phrase</em> is the product. Nobody&#8217;s buying &#8220;a ball marker&#8221; — they&#8217;re buying &#8220;Here Comes The Money Shot&#8221; This approach makes the text the hero and lets you bolt on new products (markers, end caps, whatever&#8217;s next) without restructuring everything.</p>



<p class="wp-block-paragraph">Claude&#8217;s recommendation was a hybrid: Option 3 as the primary store structure, with a handful of Option 1 single-combo listings on Etsy for your best phrases.</p>



<h3 class="wp-block-heading">Then I Said &#8220;I Only Have 3 Designs&#8221;</h3>



<p class="wp-block-paragraph">And Claude basically told me to stop overthinking it.</p>



<p class="wp-block-paragraph">The actual advice: on Etsy, list every text × product combo individually. With 3 designs and 6 products, that&#8217;s 18 listings. Etsy rewards individual listings with their own search placement and reviews. At this scale, the &#8220;management nightmare&#8221; isn&#8217;t a nightmare — it&#8217;s a Tuesday afternoon.</p>



<p class="wp-block-paragraph">On my website, go text-as-hero with product variants. Keep it clean, keep the brand identity front and center. The site has no organic traffic yet anyway, so the SEO architecture matters way less than making the shopping experience feel intentional.</p>



<p class="wp-block-paragraph">And then the real gut punch: <em>&#8220;The real priority at 3 designs isn&#8217;t listing structure — it&#8217;s getting to 10-15 designs so the catalog feels like a real brand and not a side project.&#8221;</em></p>



<h3 class="wp-block-heading">What I Actually Decided</h3>



<p class="wp-block-paragraph">Etsy: individual listings per combo. </p>



<p class="wp-block-paragraph">Website: text-first pages with product toggles. </p>



<p class="wp-block-paragraph">Exactly what Claude said. Took about 5 minutes of conversation to go from &#8220;paralyzed by options&#8221; to &#8220;clear plan, moving on.&#8221;</p>



<h3 class="wp-block-heading">The Takeaway</h3>



<p class="wp-block-paragraph">This is exactly the kind of decision that kills momentum for solo operators. You can spend three days reading forum threads about Etsy SEO or you can have a structured conversation with an AI that understands your specific situation — 3 designs, two sales channels, zero traffic — and gives you a framework that actually scales when you&#8217;re ready for it.</p>



<p class="wp-block-paragraph">The framework matters more than the answer. Now I know <em>why</em> I&#8217;m structuring things this way, which means when I hit 10+ designs, I already know what changes and what doesn&#8217;t.</p>



<p class="wp-block-paragraph">But for now? Ship the 3 listings. Make more designs. Stop architecturing and start selling.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph"><strong>Build Status:</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Strategy locked. Listings almost live. <br><strong>What&#8217;s Next:</strong> Finish the website and build the Etsy shop. More designs. The catalog is the bottleneck, not the structure. <br><strong>Bail Risk:</strong> Low. This one&#8217;s a real business.</p>



<p class="wp-block-paragraph"></p>
<p>Read more at <a href="https://buildandbail.com/white-knuckle-golf-listing-strategy-claude/">Build and Bail</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://buildandbail.com/white-knuckle-golf-listing-strategy-claude/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 

Served from: buildandbail.com @ 2026-09-11 07:40:19 by W3 Total Cache
-->