<?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[Michael Colacino: Claude and Brokerage]]></title><description><![CDATA[Articles about using Claude as a real estate broker, with a focus on Claude Code for personal software development and analytics.]]></description><link>https://mcolacino.substack.com/s/claude-and-brokerage</link><image><url>https://substackcdn.com/image/fetch/$s_!quYl!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7da428d7-468a-49dd-93e6-40b926210b6e_167x167.png</url><title>Michael Colacino: Claude and Brokerage</title><link>https://mcolacino.substack.com/s/claude-and-brokerage</link></image><generator>Substack</generator><lastBuildDate>Sun, 26 Jul 2026 13:15:48 GMT</lastBuildDate><atom:link href="https://mcolacino.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Michael Colacino]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[mcolacino@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[mcolacino@substack.com]]></itunes:email><itunes:name><![CDATA[Michael Colacino]]></itunes:name></itunes:owner><itunes:author><![CDATA[Michael Colacino]]></itunes:author><googleplay:owner><![CDATA[mcolacino@substack.com]]></googleplay:owner><googleplay:email><![CDATA[mcolacino@substack.com]]></googleplay:email><googleplay:author><![CDATA[Michael Colacino]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Gen-AI and the Attacker's Advantage in Real Estate Brokerage ]]></title><description><![CDATA[The next office brokerage giant won't win by being cheaper. It will win by selling a product the incumbents can't yet imagine.]]></description><link>https://mcolacino.substack.com/p/gen-ai-and-the-attackers-advantage</link><guid isPermaLink="false">https://mcolacino.substack.com/p/gen-ai-and-the-attackers-advantage</guid><dc:creator><![CDATA[Michael Colacino]]></dc:creator><pubDate>Thu, 25 Jun 2026 16:08:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/cb6514e9-d762-45cf-a1f6-68582416ba27_2048x1152.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aTkd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aTkd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 424w, https://substackcdn.com/image/fetch/$s_!aTkd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 848w, https://substackcdn.com/image/fetch/$s_!aTkd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 1272w, https://substackcdn.com/image/fetch/$s_!aTkd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aTkd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png" width="1823" height="573" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:573,&quot;width&quot;:1823,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1460551,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mcolacino.substack.com/i/203570709?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22081146-83a7-4421-b7c0-23af0bf2a86b_2044x578.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_!aTkd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 424w, https://substackcdn.com/image/fetch/$s_!aTkd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 848w, https://substackcdn.com/image/fetch/$s_!aTkd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 1272w, https://substackcdn.com/image/fetch/$s_!aTkd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00b6a7b5-30e3-4f34-b9c7-da941730b0b9_1823x573.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><span>The cash register that shouldn&#8217;t have won</span></h2><p><span>In the 1970s, National Cash Register made the best electro-mechanical cash register in the world. The brand was a century old. The product was excellent. The sales force was everywhere. And then a much smaller company called Data Terminal Systems built a computerized register, and inside a few years NCR&#8217;s position collapsed.</span></p><p><span>Here is the part that matters. DTS did not win by selling a cheaper version of the same machine. It won by selling a different machine, one that did things the electro-mechanical register fundamentally could not do, and in doing so it created demand that had not existed before. The customer did not walk in asking for a computer at the checkout counter. DTS showed them they wanted one.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><p><span>This is the case McKinsey partner Richard Foster opens with in </span><em><span>Innovation: The Attacker&#8217;s Advantage</span></em><span> (1986), and even though the work is four decades old, it is the right place to start a conversation about generative AI and the brokerage business, because the lesson is almost always misread. Incumbents do not lose to a discount. They lose to a better product that serves a need the market had not yet learned to ask for.</span></p><p><span>I think that is exactly what is about to happen in commercial real estate brokerage. But to see why, you have to throw out the version of the AI story that everyone is telling.</span></p><h2><span>The S-curve, read correctly</span></h2><p><span>Foster&#8217;s framework is the S-curve. Plot cumulative investment in a technology against what it produces. Early on you spend a lot for almost nothing. Then the curve goes exponential: each incremental dollar buys a large incremental return. Finally you hit the plateau, where the technology approaches its limit and more investment buys less and less.</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_!pj8m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pj8m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png 424w, https://substackcdn.com/image/fetch/$s_!pj8m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png 848w, https://substackcdn.com/image/fetch/$s_!pj8m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!pj8m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pj8m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png" width="1456" height="1240" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1240,&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_!pj8m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png 424w, https://substackcdn.com/image/fetch/$s_!pj8m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png 848w, https://substackcdn.com/image/fetch/$s_!pj8m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.png 1272w, https://substackcdn.com/image/fetch/$s_!pj8m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05fb60ff-fd85-4440-9ed7-b2b8856cf331_1644x1400.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><strong><span>Foster&#8217;s thesis is that companies which stay on a maturing curve too long get displaced by an attacker who jumps to the successor curve, the one with a higher ceiling. </span></strong><span>By the time the incumbent recognizes the discontinuity, the attacker is already climbing the steep middle while the incumbent is grinding away at the flat top of an exhausted technology. The advantage is structural. It does not come from working harder.</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_!fT-a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fT-a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png 424w, https://substackcdn.com/image/fetch/$s_!fT-a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png 848w, https://substackcdn.com/image/fetch/$s_!fT-a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png 1272w, https://substackcdn.com/image/fetch/$s_!fT-a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fT-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png" width="1110" height="952" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:952,&quot;width&quot;:1110,&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_!fT-a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png 424w, https://substackcdn.com/image/fetch/$s_!fT-a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png 848w, https://substackcdn.com/image/fetch/$s_!fT-a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.png 1272w, https://substackcdn.com/image/fetch/$s_!fT-a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf3b30ea-34d7-4590-84d3-bfafb6a3278e_1110x952.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><span>And here is the line in Foster that everyone skips. </span><em><span>He argues that the CEO&#8217;s primary job should shift from efficiency-seeking to competitiveness-seeking.</span></em><span> The successor curve&#8217;s advantage is not that it does the old thing cheaper. It is that it does a new thing the old curve could never reach. The ceiling is higher because the product is different, not because the cost is lower.</span></p><h2><span>Why efficiency is the wrong perspective in brokerage</span></h2><p><span>Most of what gets written about AI in brokerage is a cost story. The pitch is that a small team with the right software stack can produce the same offering memorandum, the same broker&#8217;s opinion of value, the same market report, with a fraction of the analysts. Henry AI markets on collapsing twenty hours a week of deck production. VTS reports ninety-three percent time savings on proposals. Savills, pointing its data at an OpenAI partnership, claimed brokers hitting ten times their old output. The numbers are real and they are impressive.</span></p><p><span>They are also, by themselves, a competitive dead end.</span></p><p><span>Brokerage is not a business with a fat cost structure waiting to be arbitraged. &#8220;Back of house&#8221; labor is a relatively small share of the economics, and the part that matters most, the producing broker, is generally paid through commission. That means the largest cost is already variable and already matched to revenue: when a deal closes, the cost of the person who closed it scales with the fee. There is no heavy fixed-cost back office whose reduction hands you a significant competitive edge. Cut the analyst hours and you have saved something real, but you have saved it once.</span></p><p><span>Worse, you have saved something your competitor can save too. The majors are not standing still, and all have spun up some form of AI initiative, at least on paper. If the entire generative AI story in brokerage is &#8220;the same deliverable, produced cheaper,&#8221; then the incumbents win, because they have the brand, the balance sheet, the errors-and-omissions coverage, and the relationships, and they will absorb the tools and keep their seat. A cost advantage that the other side can copy is not a sustainable advantage.</span></p><p><span>So the right question is not how to produce the old product for less. It is what new product the technology now makes possible.</span></p><h2><span>A product that looks like the client&#8217;s business</span></h2><p><span>Think about what a brokerage actually sells the client today. Market surveys. Comparable transactions. A financial analysis of a lease or a sale. This is the stock-in-trade, and they have two important features. First, they reflect the broker&#8217;s view of the market, not the client&#8217;s view of its own business. Second, every major firm produces essentially the same thing. It is a commodity, and it sits squarely on the plateau of the old curve. CoStar can add dashboards for another decade and the deliverable does not change in kind. It gets marginally faster and marginally prettier and remains the same product.</span></p><p><span>Generative AI makes a genuinely different product possible, and the difference is not speed. It is integration across disciplines. The new deliverable stitches together things that used to live in separate silos and separate professions: the client&#8217;s financials, its hiring and headcount signals, its operational footprint, its capital plans, its portfolio, and the market around it, into a single piece of analysis that reflects the client&#8217;s own business back to it more clearly than the client&#8217;s internal teams can see it themselves. It does not wait for the client to articulate a need. It surfaces the need.</span></p><p><span>These are capabilities that live only on the successor curve. A traditional stack parses structured fields. The new tools read two hundred leases in free text and extract terms no parser was built to anticipate. They synthesize a company&#8217;s earnings calls, its filings, the news, and the market data into one narrative. They answer counterfactuals the old systems cannot touch: what does our occupancy cost look like if we consolidate three offices, what happens to our portfolio if we exit downtown, where does our own hiring plan say we will be short of space in eighteen months. No amount of additional investment in the legacy survey-and-financial-analysis product gets you there, because the problem requires a kind of reasoning the old curve does not possess.</span></p><p><span>That last point answers the obvious objection. You might assert that the legacy stack only *looks* exhausted because the industry stopped innovating and investing in it a long time ago. Then you could argue that these firms could still be in the exponential part of the curve, but have chosen not to invest further.</span></p><p><span>But the way you settle the argument is to name capabilities the old product cannot reach at any reasonable level of spend, and the cross-disciplinary, client-specific reasoning above is exactly that. This is structural displacement, not a self-fulfilling forecast. The new product does something the old one cannot, full stop.</span></p><h2><span>Why the incumbents won&#8217;t build it</span></h2><p><span>If this product is so obviously better, why won&#8217;t JLL or CBRE simply build it first? This is the question Clayton Christensen spent a career answering in </span><em><span>The Innovator&#8217;s Dilemma</span></em><span> (1997), and his answer is uncomfortable: they will not build it because they are well managed, not because they are badly managed.</span></p><p><span>A large firm allocates resources toward the articulated demand of its largest, most profitable clients. That is good management, and it works beautifully for what Christensen calls &#8220;sustaining&#8221; innovation. It is also precisely what blinds the firm to a latent need in a segment it does not value. The new product I described is, at first, most valuable to clients the majors find marginally profitable to serve, in deals below the economic floor where a full-service firm can justify a custom, cross-disciplinary effort. The rational manager inside the incumbent cannot build a case for it. The market looks too small, the margin too thin, the need too undefined. So the firm cedes the ground, every time, for reasons that look correct on the spreadsheet.</span></p><p><span>Christensen&#8217;s deeper point is that markets like this cannot be analyzed in advance because they do not yet exist. They have to be discovered through fast, cheap, and flexible attempts. The incumbent is built to predict and execute. The attacker is built to discover. Those are different organizations with different reflexes, and you cannot easily turn one into the other.</span></p><p><span>You can watch the dilemma operate in real time. JLL Spark, the firm&#8217;s venture arm, looks for companies and products that will be useful to JLL&#8217;s existing client base. That sounds prudent, and it is exactly the trap Christensen describes. It is an engine pointed at what current clients already want, which is the one place disruption never comes from. The disruptive opportunity sits in a different value network, serving a need today&#8217;s clients have not voiced, and the incumbent&#8217;s own logic steers it away from precisely that.</span></p><h2><span>The modern DTS</span></h2><p><span>So who is the attacker? Not a single firm, and not, despite the funding headlines, the proptech platforms themselves, CoStar, Henry AI, Dealpath, Sytes, qbiq, Crexi, CompStak: these are the picks and shovels. They are necessary, and they are available to everyone, which means owning a subscription is not a strategy.</span></p><p><span>The attacker is the experienced-broker startup, and the reason is a variable that both Foster and Christensen leave out, because it does not show up in their case studies. In brokerage, the client relationship moves with the senior broker, not the firm. Morgan Stanley is the client of a particular broker, not of the institution on the broker&#8217;s business card. When five or ten senior people leave a top-three firm together, the relationships leave with them.</span></p><p><span>That is the modern DTS. A small group of senior brokers who own their books, organized from day one around the AI stack, building the new cross-disciplinary product and aiming it at the clients and the deal sizes the majors will not economically serve. They establish density in that underserved segment, they refine the product where the stakes are lower, and then they climb up-market as the advantage compounds, which is Christensen&#8217;s new-market disruption run by the book. Foster would add that the cleanest path often runs through a hybrid: keep the traditional sourcing and relationship work that already works, and run the new product underneath it, the way ships carried both sail and steam before they trusted steam alone.</span></p><p><span>Is there a way for legacy brokerages to counter this threat? The answer is yes and it&#8217;s contained inside </span><em><span>The Innovator&#8217;s Dilemma</span></em><span>. Spin off teams within the firm with deep client relationships, engineering support, and the freedom to go after the smaller, early-adopter clients. This group will not meet margin goals, initially. The cost of developing a new product in an entrenched industry, for smaller more sophisticated clients, will make the exercise seem unattractive to current management. But that experiment will help find the future of brokerage.</span></p><p><span>Another reason that legacy management will be slow to make this change is a misunderstanding of the S-curve, and it is reinforced by the way the business press keeps score. The early data coming out of places like McKinsey and MIT shows that adoption of AI is already exponential, with surveys putting it north of ninety percent of businesses, while measured productivity is still nearly flat. Federal Reserve research in early 2026 put the economy-wide lift around 1.3 percent. The Penn Wharton Budget Model does not see the steep part of the curve until the early 2030s.</span></p><p><span>MIT&#8217;s Project NANDA turned that same gap into a headline: ninety-five percent of enterprise generative AI pilots, it reported, deliver no measurable impact on profit and loss. Interpreted in terms of Foster and Christensen, that is not a failure rate. It is a measurement mirage. The report judges a successor technology by a six-month-to-two-year return standard, the same standard that would have branded electricity a failure when it first entered factories, where productivity barely moved until managers reorganized the work around the electric motor. The return was always going to lag the adoption, because the return is the steep middle, and we are still on the early part of the curve.</span></p><p><span>Two things hiding inside that same gap are easy to miss and matter a lot. The first is the pile of small wins: a finance team that closes the month in days instead of weeks, an analyst who drafts from something instead of from nothing. None of it shows up on an earnings slide, and all of it compounds. The second is the shadow workforce. More than ninety percent of employees already use AI at work even though fewer than half of their employers pay for it. That is not a governance problem to be stamped out. It is the market telling you where the unarticulated demand already lives, which is exactly the signal Christensen says the incumbent&#8217;s formal processes are built to filter out and the attacker is built to find.</span></p><p><span>So the gap between exponential adoption and flat output is not evidence against the thesis. It supports it. The steep middle waits on the complementary work: redesigning the practice, building the new product, reorganizing around it. The incumbent will find it hard to prioritize that work, because it means dismantling the very deliverable it sells today, and because its own scorecard keeps insisting the technology has not paid off. The startup does it on day one, because it has nothing to dismantle and no scorecard telling it to stop.</span></p><p><span>This is the third leaf of a pattern worth naming. The end of software displaces the software vendors. The great data reckoning displaces the dashboard and BI vendors. And this displaces the full-service broker, by the same mechanism each time: a successor curve replaces a commodity product with a genuinely better one, and the incumbent&#8217;s own economics keep it from following.</span></p><p><span>NCR had the better brand and the better balance sheet, and none of it mattered, because DTS was not selling a cheaper register. It was selling a different one. The brokerage version of that machine is being built right now, and the window, by the Penn Wharton timing, is roughly five to seven years. It is open today.</span></p><p><span>A few things I am confident about, and one I am not:</span></p><p><span>1. The cost story is a trap. If your whole AI plan is to do the old work with fewer people, the majors will out-absorb you.</span></p><p><span>2. The product story is the opening. Integrate data across disciplines into something that reflects the client&#8217;s business better than the client can, and you are selling on the new curve.</span></p><p><span>3. The attacker is people, not platforms. The senior broker who owns the relationship and commits to the new product is the structural threat. The software is just the engine.</span></p><p><span>4. What I cannot yet tell you is the date. Nobody can. The honest position, straight out of Christensen, is to plan for learning rather than prediction, conserve enough runway to be wrong twice, and start before the curve makes it obvious.</span></p><p><span>---</span></p><h3><span>Bibliography</span></h3><p><span>Baek, David Sehyeon. &#8220;What MIT&#8217;s Project NANDA Got Wrong: The Real Story of Generative AI in Business Is More Complicated and More Promising.&#8221; </span><em><span>LinkedIn</span></em><span>, September 5, 2025. https://www.linkedin.com/pulse/what-mits-project-nanda-got-wrong-real-story-generative-baek-skeqc/</span></p><p><span>Christensen, Clayton M. &#8220;Exploring the Limits of the Technology S-Curve. Part I: Component Technologies.&#8221; </span><em><span>Production and Operations Management</span></em><span> 1, no. 4 (1992): 334&#8211;357.</span></p><p><span>Christensen, Clayton M. *The Innovator&#8217;s Dilemma: When New Technologies Cause Great Firms to Fail*. Boston: Harvard Business School Press, 1997.</span></p><p><span>Federal Reserve. Research on generative AI and labor productivity, April 2026.</span></p><p><span>Foster, Richard N. </span><em><span>Innovation: The Attacker&#8217;s Advantage</span></em><span>. New York: Summit Books, 1986.</span></p><p><span>McKinsey &amp; Company. &#8220;Where AI Creates Value (and Where It Doesn&#8217;t).&#8221; 2026.</span></p><p><span>MIT Project NANDA. *The GenAI Divide: State of AI in Business 2025*. Massachusetts Institute of Technology, July 2025.</span></p><p><span>Penn Wharton Budget Model. Projections on AI&#8217;s contribution to labor productivity growth. University of Pennsylvania, 2026.</span></p><p><span>Reis, Joe. &#8220;2028: The Great Data Reckoning.&#8221; *Substack*, February 24, 2026. https://joereis.substack.com/p/2028-the-great-data-reckoning</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><item><title><![CDATA[0. Where to Begin with Claude Code, For Real Estate Professionals: Start Here]]></title><description><![CDATA[If your curiosity outweighs your fear, this post will help you get started with the real thing: Claude Code]]></description><link>https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for-26c</link><guid isPermaLink="false">https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for-26c</guid><dc:creator><![CDATA[Michael Colacino]]></dc:creator><pubDate>Fri, 27 Mar 2026 02:46:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3-Gm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3-Gm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3-Gm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3-Gm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3-Gm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3-Gm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3-Gm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg" width="1101" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1101,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96640,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mcolacino.substack.com/i/192263640?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3-Gm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3-Gm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3-Gm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3-Gm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9ac544ae-b03c-4ef8-8a6f-4b411e189516_1101x628.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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>There are three posts in this series on beginning with Claude Code for real estate professionals, although the first two are really for anyone who wants to find a direct route the the most powerful way to interact with Claude.</p><p>The first  post is for people with <em>little or no programming experience</em> who want to get to work with Claude Code; the path to that lies through the <strong>Unix Terminal</strong>. The goal of the first article is to show that this path quickly gets one to interacting with Claude Code, which can then provide a path to scripting, skills, projects, and even application development.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><p>Here is the link:</p><p><a href="https://substack.com/@mcolacino/note/p-192235186?r=1dt7d&amp;utm_source=notes-share-action&amp;utm_medium=web">Where to Begin with Claude Code, For Real Estate Professionals (Part 1)</a></p><p>The second post is for those who have had <em>some experience with programming,</em> and who have either used or would like to use an <strong>integrated development environment</strong> (IDE) with Claude. As in the first post, this one provides the minimum set of skills and steps necessary to get up and running, and like the first the goal is to get far enough to be able to work together with Claude to learn and experiment. It&#8217;s a little more challenging.</p><p>The link:</p><p><a href="https://substack.com/@mcolacino/note/p-192237467?r=1dt7d&amp;utm_source=notes-share-action&amp;utm_medium=web">Where to Begin with Claude Code, For Real Estate Professionals (Part 2)</a></p><p>The final post in the series gives a sense of what could be accomplished by real estate analysts, consultants, brokers, investors--you name it--with these new and radically different tools.</p><p>The link:</p><p><a href="https://substack.com/@mcolacino/note/p-192242066?r=1dt7d&amp;utm_source=notes-share-action&amp;utm_medium=web">Where to Begin with Claude Code, For Real Estate Professionals (Part 3)</a></p><p>I hope you enjoy the tour!</p><p>I have built several of these myself, and you can read about them on my website: </p><p>https://haikupartners.com</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><item><title><![CDATA[1. Where to Begin with Claude Code, For Real Estate Professionals (Part 1)]]></title><description><![CDATA[If your curiosity outweighs your fear, this post and the next will help you get started with the real thing: Claude Code]]></description><link>https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for</link><guid isPermaLink="false">https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for</guid><dc:creator><![CDATA[Michael Colacino]]></dc:creator><pubDate>Wed, 25 Mar 2026 18:30:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iTsY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iTsY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iTsY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iTsY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iTsY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iTsY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iTsY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg" width="1101" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1101,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96640,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mcolacino.substack.com/i/192235186?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iTsY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iTsY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iTsY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iTsY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c4c3c6e-7867-4ff3-a216-fcd7272538ca_1101x628.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2><strong>I. Introduction</strong></h2><p>&#8220;When you come to a fork in the road, take it.&#8221; --Yogi Berra</p><p>A lot of what I&#8217;m going to say in these three posts (Parts 1-3)  has to do with something about which I feel strongly. If you want to use Claude, then you should find a way to use Claude Code. Everything else, in my opinionated opinion, is a distraction created to get the most people into the Claude tent as possible. Claude CoWork, for example, is a distraction. Claude projects and skills that are created through Claude Desktop are distractions. If you disagree with this based on experience or other bias, skip these posts.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><p>So how can one make the leap into Claude Code? There seem to me to be two ways.</p><p>The first question you need to ask yourself is, am I now or have I ever been a programmer? If the answer is yes, then the next question is: have I ever used an integrated development environment? If the answer to either of these is yes, then skip to Part 2;  If the answer is no, then this post would be the place to start.</p><p>If you choose either path (or even if you choose neither) you can take a look at Part 3 for thoughts about real estate and the what can be done with Claude Code.</p><h2><strong>II. Arriving at the Terminal</strong></h2><p>It is possible (and maybe even optimal) to use Claude Code directly from a terminal, and this section will provide as simple of an explanation as Claude and I could come up with for people who haven&#8217;t used a terminal interface before to learn how to use one with Claude. Since I am a Mac user, that will be what we explain; however I&#8217;m sure that there are direct analogs to everything in the Windows world. And if you are on Linux, you are almost certaiinly facile with the terminal already.</p><p>So how can you get started on using a terminal? First of all you need to conquer your fear. If you have used graphical user interfaces your entire time on a computer, the idea of jumping into Unix-land and its character-only terminal might seem like a giant leap backwards, or at least sideways. But since you have undoubtedly using ChatGPT or Claude or another chat interface (or you wouldn&#8217;t have read this far) then you are already halfway there. Terminal is just a chatbot that never graduated from middle school.</p><p>So in order to figure out how to use Claude Code and the Terminal, I asked Claude for a plan: here is what we came up with:</p><h3><strong>Phase 1: What You&#8217;re Building Toward</strong></h3><p>Claude Code is a CLI tool (Command Line Interface), meaning you interact with it by typing in a terminal window, not clicking in a GUI. Once launched, it opens a conversational dialog where you can ask it to write, edit, explain, or run code in plain English. That dialog is where you&#8217;re headed.</p><div><hr></div><h3><strong>Phase 2: Get a Better Terminal &#8212; iTerm2</strong></h3><p>macOS has a built-in terminal (which someone in marketing decided should be named &#8220;Terminal&#8221;) but <strong>iTerm2</strong> is vastly better: more readable, more configurable, and what most Mac power users run.</p><ul><li><p>Go to <strong>iterm2.com</strong> &#8594; Download &#8594; drag to Applications</p></li><li><p>That&#8217;s it. Open it like any app.</p></li></ul><div><hr></div><h3><strong>Phase 3: Install Homebrew (The Mac Package Manager)</strong></h3><p>Homebrew is the standard way to install developer tools on Mac. Think of it as an App Store for command-line software. You&#8217;ll use it once here, and it pays dividends forever.</p><p>Open Terminal (or iTerm2) and paste this single line:</p><pre><code>/bin/bash -c &#8220;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&#8221;</code></pre><p>The installer will walk you through the rest. Takes 2&#8211;5 minutes.</p><div><hr></div><h3><strong>Phase 4: What License/Plan Do You Need</strong></h3><p>(Author&#8217;s note: Claude insisted that I include this section).</p><p>You can&#8217;t use Claude Code for free &#8212; access is tied to Anthropic&#8217;s paid plans or the API. You have several paths:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w975!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w975!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png 424w, https://substackcdn.com/image/fetch/$s_!w975!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png 848w, https://substackcdn.com/image/fetch/$s_!w975!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png 1272w, https://substackcdn.com/image/fetch/$s_!w975!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w975!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png" width="1456" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103093,&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://mcolacino.substack.com/i/192235186?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.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_!w975!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png 424w, https://substackcdn.com/image/fetch/$s_!w975!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png 848w, https://substackcdn.com/image/fetch/$s_!w975!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.png 1272w, https://substackcdn.com/image/fetch/$s_!w975!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff3d8e-bccf-4468-8ffb-2e276b8a793c_1718x504.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><strong>Recommendation for a new player:</strong> Start with <strong>Claude Pro</strong> ($20/month). For regular Claude Code users, a Claude Max subscription is likely the more economical option long-term, but starting with ~$20 in API credits or a Pro plan to test your typical workflows first is sensible. You almost certainly have a Claude.ai account if you got this far. Pro is the upgrade from there.</p><div><hr></div><h3><strong>Phase 5: Install Claude Code (The Simple Way)</strong></h3><p>There is now a <strong>native installer </strong> &#8212; this is the easiest path for a newcomer. To install the native binary, run:</p><pre><code>curl -fsSL https://claude.ai/install.sh | bash</code></pre><p>Paste that into iTerm2 and press Enter. Done.</p><p>Verify it worked:</p><pre><code>claude --version</code></pre><p>You should see a version number.</p><div><hr></div><h3><strong>Phase 6: Authenticate</strong></h3><p>Navigate to any folder. Here is where there is both similarity to your Mac finder, and some differences. With any Terminal you need to &#8220;cd&#8221; or &#8220;change directory&#8221; to do what you would do with clicks in Finder. Let&#8217;s assume that you want to go to your Desktop; you would use cd to get there, and then fire up claude by typing--you guessed it--<em>claude</em>:</p><pre><code>cd ~/Desktop
claude</code></pre><p>The first time you run it, a browser window opens and you log in with your Anthropic account. If you have a Claude Pro/Max subscription, select that option. No API key is needed and your subscription covers usage.</p><p>After that, you&#8217;re in the Claude Code dialog. <strong>You&#8217;re there.</strong></p><div><hr></div><h3><strong>The Minimal Terminal Commands You Need to Know</strong></h3><p>You only need about five commands to get started:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_oKZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_oKZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png 424w, https://substackcdn.com/image/fetch/$s_!_oKZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png 848w, https://substackcdn.com/image/fetch/$s_!_oKZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png 1272w, https://substackcdn.com/image/fetch/$s_!_oKZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_oKZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png" width="1456" height="609" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:110931,&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://mcolacino.substack.com/i/192235186?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.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_!_oKZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png 424w, https://substackcdn.com/image/fetch/$s_!_oKZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png 848w, https://substackcdn.com/image/fetch/$s_!_oKZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.png 1272w, https://substackcdn.com/image/fetch/$s_!_oKZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79cd3926-49e3-4a5c-9d87-3b89efd64e43_1726x722.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>That&#8217;s genuinely the minimum. <strong>Once you&#8217;re in the Claude dialog, you&#8217;re talking to Claude in plain English and can ask it to explain anything you don&#8217;t understand or need to do.</strong></p><div><hr></div><h3><strong>Extremely Important!!!</strong></h3><p>Claude has something called &#8220;plan mode.&#8221; You invoke it by asking Claude politiely to enter plan mode. Then you tell it what you want to plan out, and it will coach you through all the steps interactively, asking good questions all along the way. This is an expert tip that is equally valuable for non-experts.</p><div><hr></div><p>Here are some additional resources if you like to read.</p><h3><strong>Resources for Learning</strong></h3><ul><li><p><strong>Official docs:</strong> <code>docs.anthropic.com/en/docs/claude-code/overview</code></p></li><li><p><strong>Terminal basics:</strong> Apple&#8217;s own &#8220;Terminal User Guide&#8221; (search in Safari) is surprisingly good for absolute beginners</p></li><li><p><strong>Practical shortcut:</strong> Once you&#8217;re in the Claude Code dialog, just ask <em>Claude itself</em> &#8212; &#8220;what terminal command do I use to navigate to my Documents folder?&#8221; It will tell you.</p></li></ul><div><hr></div><h3><strong>The Full Sequence, Compressed</strong></h3><ol><li><p>Install <strong>iTerm2</strong> via iterm2.com</p></li><li><p>Install <strong>Homebrew</strong> (one-line paste in terminal)</p></li><li><p>Upgrade to <strong>Claude Pro</strong> at claude.ai if you haven&#8217;t</p></li><li><p>Run <code>curl -fsSL https://claude.ai/install.sh | bash</code> to install Claude Code</p></li><li><p>Run <code>claude --version</code> to confirm</p></li><li><p>Run <code>cd ~/Desktop</code> then <code>claude</code> to launch</p></li><li><p>Authenticate via the browser window that opens</p></li><li><p>Start talking to it; be nice</p></li></ol><p>The whole thing from zero to first dialog is probably <strong>30&#8211;45 minutes</strong>, most of which is waiting for installs.</p><p>If you liked this post and are feeling ambitious, you can take a look at Part 2 coming soon. It&#8217;s more technical and not for everyone, so If you want to see how this might apply to you as a real estate professional, take a look at Part 3: &#8220;Claude Code and Real Estate--Some ideas.&#8221;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><item><title><![CDATA[2. Where to Begin with Claude Code, For Real Estate Professionals (Part 2)]]></title><description><![CDATA[If your curiosity outweighs your fear, this post will help you get started with the real thing: Claude Code]]></description><link>https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for-0fe</link><guid isPermaLink="false">https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for-0fe</guid><dc:creator><![CDATA[Michael Colacino]]></dc:creator><pubDate>Tue, 24 Mar 2026 19:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ju38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ju38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ju38!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ju38!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ju38!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ju38!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ju38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg" width="1101" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1101,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96640,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mcolacino.substack.com/i/192237467?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ju38!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ju38!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ju38!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ju38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5194b0d-0c20-4841-b50b-fc936d577869_1101x628.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2><strong>I. Introduction</strong></h2><p>If you read Part 1, you can skip this section since it repeats.</p><p>A lot of what I&#8217;m going to say in these three posts has to do with something about which I feel strongly: if you want to use Claude, then you should find a way to use Claude Code. Everything else, in my opinionated opinion, is a distraction to get the most people into the Claude tent as possible. Claude CoWork, for example, is a distraction. Claude projects and skills created through Claude Desktop are distractions. If you disagree with this based on experience or other bias, skip this article.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><p>If you arrived here, I assume that you have written code before, and if you have there is a good chance that you have used an integrated development environment, since they have been around for decades. If you have, then this will serve as a refresher. If not then it is a minimal introduction to something useful and cool.</p><p>When you make it to the end of this post, you can head to the third part of this trilogy.</p><h2><strong>II. IDE for Thee</strong></h2><p>Here&#8217;s the intermediate-level guide. As mentioned in the intro, this assumes that you have written some code at some point, and ideally have used an integrated development environment (IDE). These environments are highly recommended versus just using the terminal since they bundle together all the tools you need in one interface. This includes a text editor, a built in terminal, and lots of plugins to do things like create and maintain a GIT repository.</p><p>Note that this section also includes setting up Python. But don&#8217;t worry: no pythons will be harmed in using this section! In fact you don&#8217;t need to know any Python programming in order to create sophisticated Python programs. It is a language that many novices and hackers find easiest to learn and use, but it&#8217;s not necessary to understand it at all: Claude does. If anything goes wonky, just copy and paste the error or screenshot the screen, feed it back into Claude and say &#8220;WTF&#8221;. Actually it&#8217;s more polite to say &#8220;I received the following error; can you help?&#8221;</p><p>If you aren&#8217;t sure about how you feel about this idea, take my word for it that you are going to be using one of these IDE things sooner or later..unless you throw up your hands and slink back to Claude CoWork (no shame).</p><div><hr></div><h3><strong>Choosing Your IDE: VS Code vs. Cursor</strong></h3><p>Both are excellent and nearly identical to set up. The honest difference:</p><p><strong>VS Code</strong> is the industry standard, free, from Microsoft, with the largest extension ecosystem. Claude Code has an official extension for it with full support.</p><p><strong>Cursor</strong> is a VS Code fork built specifically around AI coding &#8212; it has its own AI features baked in (tab completions, inline edits) on top of Claude Code. It costs $20/month for the Pro tier but many developers find the combined experience worth it. Cursor is built on VS Code but thinks like an AI product first and an editor second.</p><p><strong>Recommendation:</strong> Start with <strong>VS Code</strong> since it&#8217;s free and officially supported. You can always migrate to Cursor later and your settings transfer automatically.</p><div><hr></div><h3><strong>Phase 1: Install Homebrew (If You Haven&#8217;t Already)</strong></h3><p>Everything else flows from this. Open your terminal (or iTerm2) and run:</p><pre><code>/bin/bash -c &#8220;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)&#8221;</code></pre><p><strong>Homebrew</strong> is a package manager for macOS--think of it as an unofficial App Store for developer tools and command-line software that Apple doesn&#8217;t ship with the operating system. When you need to install something like Python, Node.js, Git, or hundreds of other tools, Homebrew handles the downloading, installing, and updating for you with a single terminal command (<code>brew install python</code>, for example). Without it, you&#8217;d have to hunt down installers manually, manage them yourself, and handle updates one by one. Homebrew also manages dependencies. If the tool you&#8217;re installing requires other software to run, Homebrew installs those automatically too. It&#8217;s become the de facto standard for Mac developer setups, to the point that most installation guides simply assume you have it.</p><div><hr></div><h3><strong>Phase 2: Install VS Code</strong></h3><p><strong>Option A &#8212; Direct download (simplest):</strong> Go to <strong>code.visualstudio.com</strong> &#8594; Download for Mac &#8594; drag to Applications.</p><p><strong>Option B &#8212; Via Homebrew:</strong></p><pre><code>brew install --cask visual-studio-code</code></pre><p>After installing, do one critical step: open VS Code, press <strong>Cmd+Shift+P</strong>, type <code>Shell Command: Install 'code' command in PATH</code>, and run it. This lets you type <code>code .</code> in any terminal to open that folder in VS Code &#8212; essential for the workflow below.</p><div><hr></div><h3><strong>Phase 3: Get Familiar with the VS Code Layout</strong></h3><p>Before anything else, orient yourself:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tdSw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tdSw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png 424w, https://substackcdn.com/image/fetch/$s_!tdSw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png 848w, https://substackcdn.com/image/fetch/$s_!tdSw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png 1272w, https://substackcdn.com/image/fetch/$s_!tdSw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tdSw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png" width="1456" height="501" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:501,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:85584,&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://mcolacino.substack.com/i/192237467?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.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_!tdSw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png 424w, https://substackcdn.com/image/fetch/$s_!tdSw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png 848w, https://substackcdn.com/image/fetch/$s_!tdSw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.png 1272w, https://substackcdn.com/image/fetch/$s_!tdSw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc15c11cf-7108-4693-a9ac-6a095c33af38_1720x592.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>The most important keyboard shortcut to memorize immediately: <strong>Cmd+Shift+P</strong> opens the Command Palette &#8212; it&#8217;s VS Code&#8217;s universal search for every feature and command. When in doubt, open it and type what you want.</p><p><strong>Opening the integrated terminal</strong> is how you&#8217;ll run Claude Code without leaving the editor:</p><ul><li><p><strong>Cmd+`</strong> (backtick) toggles it open and closed</p></li><li><p>Or: View menu &#8594; Terminal</p></li><li><p>You&#8217;ll see a real terminal panel appear at the bottom of VS Code</p></li></ul><div><hr></div><h3><strong>Phase 4: Install Claude Code</strong></h3><p>Same as the beginner guide &#8212; this is done in the terminal (either iTerm2 or VS Code&#8217;s built-in terminal, both work):</p><pre><code>curl -fsSL https://claude.ai/install.sh | bash</code></pre><p>Verify:</p><pre><code>claude --version</code></pre><div><hr></div><h3><strong>Phase 5: Install the Claude Code VS Code Extension</strong></h3><p>This gives you a graphical panel inside VS Code so you&#8217;re not just using the terminal:</p><ol><li><p>Press <strong>Cmd+Shift+X</strong> to open the Extensions panel</p></li><li><p>Search for <strong>&#8220;Claude Code&#8221;</strong></p></li><li><p>Install the one from Anthropic (verified publisher)</p></li><li><p>Once installed, click the Spark icon in the left sidebar to open the Claude Code sessions list, or click the Spark icon in the editor toolbar (top-right corner of the editor) for quick access.</p></li></ol><p>The extension includes the CLI, which you can also access from VS Code&#8217;s integrated terminal for advanced features. The extension and CLI share the same conversation history.</p><p><strong>Note on Cursor:</strong> The extension also works with Cursor. However, automatic detection can be unreliable &#8212; if the extension doesn&#8217;t auto-connect in Cursor, you may need to install it manually via the VSIX file. VS Code is smoother for exactly this reason.</p><div><hr></div><h3><strong>Phase 6: License / Subscription</strong></h3><p>(Author&#8217;s Note: Claude strongly suggested that I include this here as well as above).</p><p>Same answer as the Terminal guide &#8212; <strong>Claude Pro ($20/month)</strong> is the right starting point. You authenticate via browser OAuth, no API key management needed.</p><div><hr></div><h3><strong>Phase 7: Install Python</strong></h3><p>macOS comes with a very old Python. You want a current version. Via Homebrew:</p><pre><code>brew install python</code></pre><p>Verify:</p><pre><code>python3 --version</code></pre><p>You should see Python 3.12 or 3.13 or later.</p><div><hr></div><h3><strong>Phase 8: Set Up Your First Python Project with Claude</strong></h3><p>This is where things get exciting. Here&#8217;s the complete workflow:</p><h4><strong>Step 1: Create a project folder</strong></h4><pre><code>mkdir ~/Projects/my-first-project
cd ~/Projects/my-first-project</code></pre><p><strong>Step 2: Open it in VS Code</strong></p><pre><code>code .</code></pre><p>VS Code opens with that folder as your workspace.</p><h4><strong>Step 3: Open the integrated terminal (Cmd+`)</strong></h4><h4><strong>Step 4: Launch Claude Code</strong></h4><pre><code>claude</code></pre><p>Authenticate via browser if prompted.</p><h4><strong>Step 5: Ask Claude to scaffold a Python project</strong></h4><p>Here&#8217;s a good first prompt &#8212; be specific about what you want:</p><pre><code>Set up a Python project for me from scratch. I want:
- A virtual environment using venv
- A clean folder structure with src/ and tests/ directories
- A requirements.txt file
- A simple &#8220;hello world&#8221; script to verify everything works
- A .gitignore appropriate for Python
&#8203;
Walk me through what you&#8217;re creating and why.</code></pre><p>Claude will create all of this, explain each piece, and you can watch it happen in real time in your file explorer sidebar. If you don&#8217;t know anything about .gitignore or venv, ask Claude.</p><h4><strong>Step 6: Activate the virtual environment Claude creates</strong></h4><p>Claude will tell you to run something like:</p><pre><code>source venv/bin/activate</code></pre><p>You&#8217;ll see <code>(venv)</code> appear in your terminal prompt, indicating you&#8217;re now inside the isolated Python environment.</p><div><hr></div><h3><strong>Key VS Code Features to Learn Alongside This</strong></h3><p><strong>Python extension:</strong> Install the <strong>Python</strong> extension from Microsoft (same Extensions panel, search &#8220;Python&#8221;). This gives you syntax highlighting, auto-complete, and the ability to run Python files with a play button.</p><p><strong>Inline diffs:</strong> When Claude edits files, you see real-time diffs (difference files) as highlighted changes showing what Claude wants to add. You maintain full control; accept or reject each change, although at the beginning you will mostly be just accepting everything and riding along with Claude.</p><p><strong>Plan Mode:</strong> This is extremely important and bears being said again: before asking Claude to do anything complex, type <code>/plan</code> in the Claude dialog first. In Plan Mode, Claude can only read and think; it cannot write, modify, or execute anything. It&#8217;s forced to think first. This is invaluable because you see exactly what Claude intends to do before it does it.</p><div><hr></div><h3><strong>Minimal Terminal Commands for This Workflow</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Qmof!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Qmof!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png 424w, https://substackcdn.com/image/fetch/$s_!Qmof!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png 848w, https://substackcdn.com/image/fetch/$s_!Qmof!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!Qmof!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Qmof!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png" width="1456" height="916" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:916,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173089,&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://mcolacino.substack.com/i/192237467?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.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_!Qmof!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png 424w, https://substackcdn.com/image/fetch/$s_!Qmof!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png 848w, https://substackcdn.com/image/fetch/$s_!Qmof!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.png 1272w, https://substackcdn.com/image/fetch/$s_!Qmof!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93c09645-c5bd-41b6-a9f9-c4051d24eddc_1710x1076.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><h3><strong>The Workflow in Practice</strong></h3><p>Once you&#8217;re set up, your daily loop looks like this:</p><ol><li><p>Open VS Code &#8594; your project folder</p></li><li><p>**Cmd+<code>** to open terminal &#8594; </code>source venv/bin/activate`</p></li><li><p>Click the Spark icon or **Cmd+<code>** &#8594; </code>claude` to open Claude Code</p></li><li><p>Type what you want in plain English &#8212; Claude reads your files, makes changes, and shows you diffs to accept or reject</p></li><li><p>Run your code in the terminal to test it</p></li></ol><p>You&#8217;re essentially pair-programming: Claude is doing the typing while you&#8217;re doing the thinking and reviewing. Ask it to explain anything it does that you don&#8217;t understand;  that&#8217;s more than half of the learning value right there.</p><div><hr></div><p>If you are on a long plane ride and need something to help you sleep, here are some resources to consult:</p><h3><strong>Resources</strong></h3><ul><li><p><strong>Official VS Code docs:</strong> code.visualstudio.com/docs &#8212; the &#8220;Get Started&#8221; section is genuinely excellent</p></li><li><p><strong>Claude Code in VS Code official docs:</strong> code.claude.com/docs/en/vs-code</p></li><li><p><strong>Python virtual environments:</strong> the official Python docs on <code>venv</code> are clear and short</p></li><li><p><strong>When stuck:</strong> ask Claude Code itself &#8212; &#8220;explain what a virtual environment is and why I need one&#8221; is a completely valid thing to ask mid-session</p></li></ul><div><hr></div><p>I hope that this has whetted your appetite to do some downloading and experimenting. Remember that about a year ago few people knew anything about what today would look like, and so your not behind! The key is trial an error and more trial and more errors; except now you have a partner to get you back on track and compliment you obsequiously, while never getting tired or irritable or bored.</p><p>If you want some ideas about using this for real estate, check out Part 3 &#8220;Claude Code aned Real Estate--Some Ideas.&#8221; It&#8217;s short and--I hope--motivating!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><item><title><![CDATA[3. Where to Begin with Claude Code, For Real Estate Professionals (Part 3)]]></title><description><![CDATA[If your curiosity outweighs your fear, this post will help you get started with the real thing: Claude Code]]></description><link>https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for-a69</link><guid isPermaLink="false">https://mcolacino.substack.com/p/where-to-begin-with-claude-code-for-a69</guid><dc:creator><![CDATA[Michael Colacino]]></dc:creator><pubDate>Mon, 23 Mar 2026 19:23:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!S36g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S36g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S36g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!S36g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!S36g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!S36g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S36g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg" width="1101" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1101,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96640,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mcolacino.substack.com/i/192242066?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!S36g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 424w, https://substackcdn.com/image/fetch/$s_!S36g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 848w, https://substackcdn.com/image/fetch/$s_!S36g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!S36g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb383e6d5-0ae1-43ec-9f6c-58b6f790aaef_1101x628.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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><h2><strong>Real Estate, Finally</strong></h2><p>What can you make with Claude Code and the tools described in Part 1 and Part 2? The answer, of course, is <strong>anything</strong>. There are probably projects that you are working on right now--from the mundane to the sophisticated--that you can apply these levers to.</p><p>However, that&#8217;s not that helpful for getting started. One thing you might try is looking at the haikupartners.com website, which has several articles about real estate projects that we worked on in Claude Code and Python. They won&#8217;t provide step-by-step guides like this, but they might trigger some ideas for things to try. For example, one piece discusses how to apply a type of math from bond finance that has application to real estate portfolios. Another maps out an agentic approach to extracting and analyzing data from a public data source (the Bureau of Labor Statistics). One describes (for the math-people) the relative merits of stable distributions versus the normal distribution for the forecasting of headcount growth.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><p>If these don&#8217;t whet your appetite, then here are some other ideas:</p><ol><li><p>Drive the creation of Excel spreadsheets for discounted cash flow analysis of lease economics through Claude. No more up-arrow-equals-sum-open-parenthesis nonsense. Use Python to drive the model and produce better graphics than Excel could imagine in Bellevue&#8217;s wildest imagination.</p></li><li><p>Create a business intelligence front end for your clients that&#8217;s completely flexible and interactive and that you can control as their needs evolve. Make it work in real time so that you can use it in pitches and client meetings; the future of data is &#8220;right now&#8221; not &#8220;let me work on that and get back to you.&#8221;</p></li><li><p>Build a RAG server (description of this coming soon; watch haikupartners.com) that allows you to query proposals, counter-proposals, commission agreements, exclusive agreements, and leases. Use it to get insight across deals your team or company have in the works to make you a better negotiator.</p></li><li><p>Build a market rent forecasting system that&#8217;s more sophisticated than running a linear regression through CoStar data.</p></li><li><p>Build a warehouse of lease or sales comparables on top of a &#8220;real&#8221; database (like Supabase) that you can refine and build on over your career.</p></li><li><p>Construct a personal CRM that does exactly what you want and doesn&#8217;t have the complexity and rigidity of commercial products or the one your company uses.</p></li></ol><p>And so on. Get together with your smartest peers and ask &#8220;if we could have anything in terms of data or process automation, what would it be?&#8221; Then go ask Claude and give it a try. Let&#8217;s finish with a recent interview with Sam Altman (sorry Anthropic) in which he mapped out the factors that will create success over the next few years:</p><ul><li><p>Master the meta skill of learning how to learn.</p></li><li><p>Be adaptable and resilient to change.</p></li><li><p>Figure out what people want, and create useful products and services for them.</p></li></ul><p>Here&#8217;s the link, hat tip to StockMarket_News: </p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/i/status/2035378045163376661&quot;,&quot;full_text&quot;:&quot;Sam Altman told the world exactly what skills will matter when AI takes over 30 to 40 percent of the global economy.\n\nHe was asked what his own kids should do to survive it.\n\nHis answer was surprisingly human.\n\nHe said the single most valuable thing anyone can build right now is&quot;,&quot;username&quot;:&quot;_Investinq&quot;,&quot;name&quot;:&quot;StockMarket.News&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1909776521474048000/IQRbiZ46_normal.jpg&quot;,&quot;date&quot;:&quot;2026-03-21T15:28:36.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/upload/w_1028,c_limit,q_auto:best/l_twitter_play_button_rvaygk,w_88/bzhr5bnqwezw6eklwxxo&quot;,&quot;link_url&quot;:&quot;https://t.co/xqmmXZoztJ&quot;}],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;Mark Cuban just delivered the most important career warning of the decade.\n\nThere are 33 million businesses in America right now.\n\nAlmost none of them have an AI strategy. \n\n@mcuban has been saying it out loud for months.\n\nThe companies that will dominate the next ten years are&quot;,&quot;username&quot;:&quot;_Investinq&quot;,&quot;name&quot;:&quot;StockMarket.News&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1909776521474048000/IQRbiZ46_normal.jpg&quot;},&quot;reply_count&quot;:84,&quot;retweet_count&quot;:202,&quot;like_count&quot;:738,&quot;impression_count&quot;:371251,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/amplify_video/2035377913428582400/vid/avc1/1280x720/aLBTloFyhnw1If5e.mp4&quot;,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><item><title><![CDATA[Don’t Worry About the Government: Agentic AI vs the Bureau of Labor Statistics]]></title><description><![CDATA[This article is about having fun with government-supplied data. Yes, you read that right.]]></description><link>https://mcolacino.substack.com/p/dont-worry-about-the-government-agentic</link><guid isPermaLink="false">https://mcolacino.substack.com/p/dont-worry-about-the-government-agentic</guid><dc:creator><![CDATA[Michael Colacino]]></dc:creator><pubDate>Tue, 17 Feb 2026 21:56:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CL-h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CL-h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CL-h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 424w, https://substackcdn.com/image/fetch/$s_!CL-h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 848w, https://substackcdn.com/image/fetch/$s_!CL-h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 1272w, https://substackcdn.com/image/fetch/$s_!CL-h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CL-h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png" width="1456" height="327" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:327,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CL-h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 424w, https://substackcdn.com/image/fetch/$s_!CL-h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 848w, https://substackcdn.com/image/fetch/$s_!CL-h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 1272w, https://substackcdn.com/image/fetch/$s_!CL-h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaff2f66-7a39-4efb-b4e6-87bb5749d169_2048x460.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h3><strong>The Data Is Out There</strong></h3><p>When you think of government data, what words cross your mind? Complex, boring, and useless might be three of them. And yet, the Bureau of Labor Statistics employs more than 2,000 people who assiduously gather information of great importance to real estate (among other professions), an undertaking that the private sector could never justify or execute.</p><p>The Bureau of Labor Statistics publishes employment data for every county in America, every quarter, broken down by industry, ownership type, and wage level. It&#8217;s called the Quarterly Census of Employment and Wages &#8212; the QCEW &#8212; and it is, without exaggeration, one of the richest publicly available datasets for anyone trying to understand local economies.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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><p>It&#8217;s also free. But it&#8217;s not fun. Or at least it wasn&#8217;t until the current incarnation of agentic AI, which can encapsulate the complexity of the BLS data structures and make it easy to do something unthinkable a few years ago: have a friendly and informative chat with data.</p><p>If you&#8217;re an office broker in Manhattan&#8211;or any major market&#8211;your business depends on understanding where employment is growing, which sectors are hiring, and whether the trajectory is up or down. The QCEW has all of this &#8212; roughly 2,000 records per quarter for Manhattan alone, organized by NAICS industry codes at multiple levels of granularity, broken out by federal, state, local government, and private sector ownership. Three and a half years of this data gives you about 28,000 records. Enough to see real trends. Enough to make real decisions.</p><p>How can agentic AI make something simple out of something that has previously been genuinely painful: getting this data into a form that is usable? And how could one <em>use</em> this information without having to understand schemas and queries and things like SQL. Hop on board and I will take you on a brief tour of the Agentic Pipeline Express&#8482;, a journey (I hope) that will interest the data nerds without boring the people just interested in better data decisions.</p><h3><strong>But first..</strong></h3><p>We need to get some background on the nature of the data. All non-data nerds can safely skip this next section (start reading again at Asking Questions of Your Data).</p><p>The BLS provides its data through an Open Data Access API that delivers CSV files with quirky field structures. Quarterly extracts have different field layouts from annual files. You need to know FIPS codes (Manhattan is 36061, if you&#8217;re wondering). You need to handle missing quarters, rate limits, connection timeouts, and the occasional data quality issue. And once you&#8217;ve downloaded the data, you need somewhere to put it and something to query it with.</p><p>This is the kind of problem that&#8217;s perfectly suited for an AI agent. Not because it&#8217;s intellectually difficult &#8212; it&#8217;s not &#8212; but because it involves a long chain of steps, each with its own potential failure modes, that need to be orchestrated intelligently. That&#8217;s exactly what I built.</p><h4><em>Why an Agent, Not a Script</em></h4><p>The traditional approach to this kind of data pipeline is an ETL script: Extract, Transform, Load. You write a Python program that downloads the CSV, parses it, cleans it, and inserts it into a database. This works fine until something goes wrong. And something always goes wrong.</p><p>The BLS API returns an unexpected response. A quarter is missing. The connection drops mid-download. A field that was populated last quarter is empty this quarter. In a traditional ETL pipeline, every one of these scenarios requires explicit handling. The code gets longer. The edge cases multiply. The whole thing becomes brittle in exactly the way that matters most &#8212; it breaks when you&#8217;re not watching and need the data for a meeting tomorrow.</p><p>The agentic approach is fundamentally different. Instead of writing code that handles every scenario, you give an AI agent a set of tools and a goal. The agent uses Claude, via the Anthropic API, to <em>reason</em> about what to do. It checks what data already exists in the database. It identifies which quarters are missing. It plans an extraction strategy. It handles errors not by following a predetermined script but by assessing the situation and deciding what to do next.</p><p>The comparison with the ETL pipeline is stark. ETL might be faster and cheaper. But the agent approach is adaptive, self-documenting, and dramatically easier to extend. When adding a new data source, one doesn&#8217;t rewrite the pipeline. One gives the agent a new tool.</p><h4><em>Building the Pipeline</em></h4><p>Let me walk through the major functional areas of the system, because the architecture tells a story about how to think about data extraction more generally. Here are the major steps in the process:</p><ul><li><p><strong>BLS API client and CSV parser:</strong> pull one quarter of Manhattan data per call, and extract employment levels, wage data, NAICS industry codes, and ownership breakdowns.</p></li><li><p><strong>Data models</strong>: type-safe validation on every record, so if the BLS changes a field name or format, the system catches it immediately.</p></li><li><p><strong>Error handling and retry logic</strong>: deal with the reality that the internet is unreliable, and frankly sometimes weird.</p></li><li><p><strong>Incremental updates</strong>: assess what&#8217;s already in the database and fetch only what&#8217;s missing.</p></li><li><p><strong>Data validation</strong>: flag anomalies and report in American English.</p></li></ul><h4><em>The Database Layer</em></h4><p>Once the data is extracted and validated, it lives in Supabase&#8211;a managed PostgreSQL database with a clean API layer. The choice of a relational database over flat files or spreadsheets isn&#8217;t arbitrary. It&#8217;s the difference between having data and being able to <em>think</em> with it. &#8220;What&#8217;s the largest private-sector industry in Manhattan?&#8221; is a join across two tables. &#8220;How has finance employment changed over the past three years?&#8221; is a GROUP BY with a date filter. &#8220;What percentage of Manhattan&#8217;s workforce is government?&#8221; is an aggregation with a WHERE clause. The database doesn&#8217;t just store the data&#8211;it makes the data <strong>answerable</strong>.</p><p>But to do this, you have to know SQL, which only data nerds understand, so that brings us to&#8230;</p><h3><strong>Asking Questions of Your Data</strong></h3><p>A single quarter of employment data is a snapshot. Fourteen quarters is a story&#8211;one that spans post-pandemic recovery, inflation, interest rate shocks, and the early AI boom.</p><p>Time series data is where this system goes from interesting to genuinely useful for real estate analysis. Employment isn&#8217;t static&#8211;it moves. Sectors grow and contract. Companies hire in waves. And every one of these movements has implications for office space demand.</p><p>The QCEW data, structured as quarterly observations across NAICS industry codes, gives you a granular view of Manhattan&#8217;s employment trajectory. You can track total employment quarter over quarter. You can isolate specific sectors &#8212; finance, technology, healthcare, professional services&#8211;and see which ones are growing and which are flat.</p><p>For a real estate professional, employment by industry is a leading indicator. When finance employment ticks up for three consecutive quarters, that&#8217;s not just a number&#8211;it&#8217;s a signal that financial firms are likely to need more space, and soon. When technology employment plateaus, it suggests the wave of tech-driven leasing that reshaped Midtown South may be stabilizing. With three and a half years of data, you can distinguish a genuine trend from a seasonal blip&#8211;and that&#8217;s the difference between a good bet and a bad one.</p><p>The database makes this kind of analysis trivial. The quarterly structure is already built into the schema. Trend analysis is a SQL query. And because the agent keeps the database current with incremental updates, the time series extends automatically as new quarters become available.</p><h4><em>The MCP Server: Let&#8217;s Have a Chat</em></h4><p>Here&#8217;s where the system gets genuinely interesting.</p><p>MCP stands for Model Context Protocol. It&#8217;s a standard&#8211;developed by Anthropic&#8211;that allows AI models to interact with external tools and data sources. Think of it as a way to give Claude hands: instead of just generating text, it can reach out, query a database, and bring back real answers. You add a configuration entry to Claude Desktop pointing to the MCP server script and your Supabase credentials, restart the app, and suddenly Claude can answer questions about Manhattan employment data by querying your database directly.</p><p>In practice, this means you can sit in Claude Desktop and ask:</p><p><em>&#8220;Show me employment trends from 2022 to 2025.&#8221;</em> Claude queries the database and returns a summary of how total employment moved quarter by quarter across the full three and a half years.</p><p><em>&#8220;What are the top 10 industries by employment in Q1 2025?&#8221;</em> Claude returns a ranked list with actual numbers.</p><p>The shift here is subtle but important. You&#8217;re not writing SQL. You&#8217;re not opening a spreadsheet. You&#8217;re asking questions in English and getting answers in English, and the answers go beyond just answering: Claude is always trying to go that extra step, to anticipate what else you might need. The MCP server handles the translation &#8212; it takes Claude&#8217;s natural language understanding, maps it to the appropriate query tool, executes the SQL against Supabase, and returns structured results that Claude can interpret and explain.</p><p>For someone in my business, this is the difference between <em>having</em> data and <em>using</em> data. I&#8217;ve had access to BLS statistics for years. What I haven&#8217;t had is a way to interrogate them conversationally, to follow up on an interesting number with &#8220;why?&#8221;</p><h4><em>An Example</em></h4><p>All of this might seem pretty abstract, so let&#8217;s take a toy example for illustration. We start out with a pretty straightforward question to the MCP server, and then go from there:</p><blockquote><p><strong>Me</strong>: &#8203;&#8203;Using the BLS data set, can you give me which industry has the highest growth during the total periods covered by the data and the one that has the lowest growth/greatest decline. Please give me a table with the name of the industry and its value in each time period.</p><p><strong>MCP</strong>: Transportation &amp; Warehousing has the highest growth and the greatest decline is in Manufacturing.</p><p><strong>Not very interesting so far, but then it adds something else that </strong><em><strong>it finds interesting.</strong></em></p><p><strong>MCP</strong>: Worth noting that <strong>Information</strong> <strong>(NAICS 51)</strong> also saw a meaningful decline of -6.1% (195,333 &#8594; 183,472), which represents the largest <em>absolute</em> job loss at nearly 12,000 positions&#8211;reflecting tech sector contraction in Manhattan during this period.</p><p><strong>Well that&#8217;s very strange; why would Information be declining. Somebody told me there was a tech boom out there!</strong></p><p><strong>Me</strong>: Why would information be declining but clearly there is a boom going on in AI?</p><p><strong>MCP</strong>: <strong>NAICS 51</strong> is actually broader than most people expect. It&#8217;s called &#8220;Information&#8221; but it bundles together some very different sub-industries, including 512&#8211; Motion Picture &amp; Sound Recording and 513&#8211;Publishing (excl. Internet).</p><p>Your intuition is right&#8211;the tech/AI-adjacent sub-industries (518 and 519) <strong>are</strong> growing, and growing fast. Together they added ~8,500 jobs. But they&#8217;re being completely swamped by losses in legacy media and publishing, which shed nearly 20,000 jobs over the same period. The film/TV industry (512) took a particularly big hit, likely reflecting the writers&#8217; and actors&#8217; strikes and broader industry contraction. Traditional publishing (513) continues its long secular decline.</p><p><strong>Me</strong>: Can you help me make an infographic that illustrates this?</p><p><strong>MCP</strong>: Sure, but you should probably speak with my AI friends at Figma if you want something that looks good.</p></blockquote><p>(I made up this last part..I had to figure out the Figma part on my own. So there is still room for us humans, at least for the moment)</p><p>Figma produced this, which tells both &#8220;Information&#8221; stories.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1U4g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1U4g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png 424w, https://substackcdn.com/image/fetch/$s_!1U4g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png 848w, https://substackcdn.com/image/fetch/$s_!1U4g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png 1272w, https://substackcdn.com/image/fetch/$s_!1U4g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1U4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png" width="1456" height="667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:667,&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_!1U4g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png 424w, https://substackcdn.com/image/fetch/$s_!1U4g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png 848w, https://substackcdn.com/image/fetch/$s_!1U4g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.png 1272w, https://substackcdn.com/image/fetch/$s_!1U4g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0ba53d9-e8b3-4eee-87e9-a41b04d8390b_1682x770.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>How about a line chart illustrating 518 and 519?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EquA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EquA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png 424w, https://substackcdn.com/image/fetch/$s_!EquA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png 848w, https://substackcdn.com/image/fetch/$s_!EquA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png 1272w, https://substackcdn.com/image/fetch/$s_!EquA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EquA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png" width="1456" height="869" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:869,&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_!EquA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png 424w, https://substackcdn.com/image/fetch/$s_!EquA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png 848w, https://substackcdn.com/image/fetch/$s_!EquA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.png 1272w, https://substackcdn.com/image/fetch/$s_!EquA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6f2ed26-b911-4714-bdde-9c97639c51a1_2004x1196.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></p><h3><strong>What Comes Next</strong></h3><p>The BLS QCEW is one dataset. The pattern&#8211;agent extraction, structured storage, conversational query&#8211;applies to dozens more.</p><p>Within the BLS alone, there&#8217;s the Current Employment Statistics survey (CES), which provides monthly employment estimates. There&#8217;s the Job Openings and Labor Turnover Survey (JOLTS), which tracks hiring and separation rates. There&#8217;s the Occupational Employment and Wage Statistics program (OEWS), which breaks down employment by specific occupations rather than industries. Each of these could be extracted by an agent, loaded into Supabase, and made queryable through an MCP tool.</p><p>Beyond the BLS, the landscape of public data relevant to real estate is enormous. Census Bureau data on population, income, and commuting patterns. SEC filings reveal corporate financial health and real estate commitments. Building permit data from municipal agencies that signals new construction and renovation activity. Transit ridership data that correlates with office occupancy patterns. Each of these is publicly available, each is painful to work with manually, and each is a natural candidate for the agentic extraction approach.</p><p>And then there&#8217;s private data. CoStar tracks commercial real estate transactions and availabilities. CBRE and JLL publish research on market trends. Proprietary lease databases track tenant movements and expirations. These sources require authentication and licensing, but the architectural pattern is identical: connect, extract, structure, query.</p><p>The vision&#8211;and I don&#8217;t think it&#8217;s a distant one&#8211;is an ecosystem of agents that continuously harvest and structure data from public and private sources, all feeding into a unified database layer, all queryable through a single conversational interface. You sit down with Claude and ask: &#8220;Which Manhattan submarkets have the strongest employment growth in finance and technology over the past four quarters, and which of those submarkets have rising vacancy?&#8221; The system queries BLS employment data, cross-references it with commercial real estate market data, and gives you an answer that would have taken a research analyst a day to assemble.</p><p>This is the real promise of the agentic approach to data. It&#8217;s not about automating one pipeline. It&#8217;s about creating a pattern that scales &#8212; where every new data source you connect makes the system smarter, and the cost of asking a new question approaches zero.</p><h4><strong>The Pattern</strong></h4><p>Let me bring this back to where we started. Did I make the case that this makes BLS data fun? Perhaps not for all but the most hard-core data nerds. But I hope that for everyone who made it this far, I made the case that chatting with your data is a lot more interesting, and I might even say, more human than downloading CSV files and trying to make sense of their arcana.</p><p>The government publishes boatloads of information that help understand Manhattan&#8217;s economy at a granular level. It has for decades. The problem was never the data. The problem was the work of getting it into a form where you could think with it&#8211;the downloading, the parsing, the cleaning, the loading, the querying.</p><p>An AI agent doesn&#8217;t just automate that work. It makes the system adaptive. When the BLS changes a field name, the agent figures it out. When a new quarter becomes available, the agent fetches it. When you want to add a new data source, you give the agent a new tool. The system doesn&#8217;t just run&#8211;it *learns* its way through the task.</p><p>And the MCP server closes the last mile. Once the data is structured, you don&#8217;t need to be a programmer to use it. You don&#8217;t need to write SQL. You ask a question and get an answer. The barrier between &#8220;data exists&#8221; and &#8220;data informs a decision&#8221; collapses.</p><p>The BLS QCEW agent is a proof-of-concept. The real project is much bigger: point intelligent agents at the internet&#8217;s vast trove of public data, structure what they find, and make it conversational. The data is out there. And with Claude and its siblings, now we can actually use it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mcolacino.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>