<?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[Worth Building]]></title><description><![CDATA[Capital, community, and technology — building lasting community and the structures that sustain it.  ]]></description><link>https://www.worthbuilding.net</link><image><url>https://substackcdn.com/image/fetch/$s_!mAAc!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d74ad6-8f66-43fb-b2e0-8212ae221f68_816x816.png</url><title>Worth Building</title><link>https://www.worthbuilding.net</link></image><generator>Substack</generator><lastBuildDate>Fri, 26 Jun 2026 15:05:31 GMT</lastBuildDate><atom:link href="https://www.worthbuilding.net/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Eric Cress]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[ericcress@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[ericcress@substack.com]]></itunes:email><itunes:name><![CDATA[Eric Cress]]></itunes:name></itunes:owner><itunes:author><![CDATA[Eric Cress]]></itunes:author><googleplay:owner><![CDATA[ericcress@substack.com]]></googleplay:owner><googleplay:email><![CDATA[ericcress@substack.com]]></googleplay:email><googleplay:author><![CDATA[Eric Cress]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Work Is in the Training, Not the Build]]></title><description><![CDATA[What several months of running three AI agents in production taught me about the work after deployment.]]></description><link>https://www.worthbuilding.net/p/the-work-is-in-the-training-not-the</link><guid isPermaLink="false">https://www.worthbuilding.net/p/the-work-is-in-the-training-not-the</guid><dc:creator><![CDATA[Eric Cress]]></dc:creator><pubDate>Thu, 21 May 2026 03:10:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ri9x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.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_!Ri9x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ri9x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Ri9x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Ri9x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Ri9x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ri9x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3864542,&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://www.worthbuilding.net/i/198649563?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.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_!Ri9x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Ri9x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Ri9x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Ri9x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad720e1b-0e33-45ad-a3c7-6ff3609a57ec_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>News flash: AI agents aren&#8217;t going to take over the world. (Yet, anyway.) Training them &#8212; &#8220;harnessing&#8221; them, in AI lingo &#8212; is a lot of work. But the productivity rewards are real. And we need real people to manage them &#8212; which, for me, ultimately meant more work <em>and</em> more productivity.</p><p>Here&#8217;s what that&#8217;s actually looked like inside our firm.</p><p>The first week after our underwriting agent was running, it miscategorized a line item. Payroll costs mapped to contract services. Not catastrophically wrong &#8212; both hit operating expenses &#8212; but wrong in a way that would skew NOI by category. We corrected it and noted why. The agent folded the correction in. That particular error hasn&#8217;t recurred.</p><p><strong>What automation promises</strong></p><p>Automation, in the traditional sense, promises a one-time effort in exchange for ongoing removal of work. You build the system, you turn it on, it runs. Rules apply consistently. Inputs produce predictable outputs. That&#8217;s valuable &#8212; and it&#8217;s exactly what breaks when inputs vary, which in real estate they always do. Every seller&#8217;s chart of accounts looks different, every operating statement is formatted its own way, and no two rent rolls tell the story the same.</p><p>Rule-based systems can&#8217;t handle that variation. They hit an edge case and a human takes over.</p><p>Agentic AI handles variation differently &#8212; through pattern recognition rather than rigid rules. It can do things traditional automation can&#8217;t, and it gets better through use rather than just through deployment. The work is in the training, not the build.</p><p><strong>What training actually looks like</strong></p><p>We have three coordinating agents running now. Each requires a different coaching discipline.</p><p>The underwriting agent processes deal documents and maps them to our model. It learns from category corrections &#8212; when it maps a line item incorrectly, we note why, and that mapping improves. After each deal, the agent understands our chart of accounts better than it did before.</p><p>The investor OS agent extracts intelligence from meeting notes and updates a structured record of each investor relationship. Its training is continuous in a different way &#8212; investor preferences change as fund cycles turn. A capital partner who was actively deploying three months ago may be in a quiet period now. The agent learns from those updates as they&#8217;re made. Preferences that used to degrade as they sat unrecorded in someone&#8217;s head now get captured and updated in real time.</p><p>The deal-matching component sits at the intersection of both. When our underwriting system analyzes a new opportunity, it queries our database to surface the most likely capital partners &#8212; by check size, geography, strategy, and the contextual signals captured from prior conversations. The quality of that match depends directly on the quality of both upstream systems. Better investor records produce better deal routing. Better deal analysis produces more relevant matches.</p><p>These aren&#8217;t independent tools. They&#8217;re a system. The value compounds in proportion to the consistency of training across all three. We built three narrow agents rather than one general one on purpose: each works within a context small enough to hold completely, and a specialist that fits its problem outperforms a generalist stretched thin across all the problems.</p><p><strong>The management discipline this requires</strong></p><p>Running these agents is closer to managing a fast-learning analyst than deploying software. The onboarding requires real effort &#8212; establishing the structure of your model clearly enough that the agent has something to learn from, coaching early mistakes carefully, building the habit of noting corrections rather than just overriding them.</p><p>The payoff is a team member who retains what it learns and applies it to every deal that follows. After three months of deal-by-deal correction cycles, the agent&#8217;s output is materially better than it was at launch. Not because the software updated. Because we coached it.</p><p>What an agent doesn&#8217;t have is a low tolerance for repetition. People get bored, and rightly so &#8212; boredom is what pushes us toward the creative, judgment-laden parts of the work where we can add the most value. The agent&#8217;s patience for the repetitive parts complements that; it doesn&#8217;t replace it.</p><p><strong>What doesn&#8217;t change</strong></p><p>The agent reflects the quality of its manager. What we correct, it learns from. What we overlook &#8212; a miscategorization we don&#8217;t catch, an LP preference we don&#8217;t update &#8212; it incorporates as fact. Judgment about what the system should optimize for still comes from the people running it. So does the decision about when the output is trustworthy enough to act on.</p><p>A firm that engages with these tools the way it would engage a new team member will find something that compounds. After a year of that, you have a colleague who knows your business &#8212; and a team whose attention is freed for the work only people can do.</p><p>That&#8217;s the trade I didn&#8217;t expect when we started. More work, not less. But the work is the kind worth doing.</p><p><em>Next: what the build process actually looked like &#8212; and what we&#8217;d say to a firm that hasn&#8217;t started yet.</em></p>]]></content:encoded></item><item><title><![CDATA[The CRM Problem Isn't the Software]]></title><description><![CDATA[We had a CRM. We paid for it monthly. It was frequently out of date. The problem wasn't the software &#8212; it was the input model. So we eliminated it.]]></description><link>https://www.worthbuilding.net/p/the-crm-problem-isnt-the-software</link><guid isPermaLink="false">https://www.worthbuilding.net/p/the-crm-problem-isnt-the-software</guid><dc:creator><![CDATA[Eric Cress]]></dc:creator><pubDate>Wed, 22 Apr 2026 17:02:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KY9I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.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_!KY9I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KY9I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 424w, https://substackcdn.com/image/fetch/$s_!KY9I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 848w, https://substackcdn.com/image/fetch/$s_!KY9I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 1272w, https://substackcdn.com/image/fetch/$s_!KY9I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KY9I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png" width="1456" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:654819,&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://www.worthbuilding.net/i/194983058?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.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_!KY9I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 424w, https://substackcdn.com/image/fetch/$s_!KY9I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 848w, https://substackcdn.com/image/fetch/$s_!KY9I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 1272w, https://substackcdn.com/image/fetch/$s_!KY9I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1eaa9c-bb50-465a-bb3c-63d07e15eed5_1735x906.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We had a CRM. We paid for it monthly. It was frequently out of date.</p><p>This isn&#8217;t a knock on the tool &#8212; we&#8217;ve used several over the years and the problem is consistent across all of them. CRMs require input. Someone has to log the call, update the stage, note that a capital partner mentioned they&#8217;re not deploying outside the Mountain West this cycle, or that their fund is in a quiet period, or that they&#8217;ve been watching a specific market for three years and would move quickly on the right deal. That input requires discipline. Discipline compounds into friction at the end of a busy day, after a call that ran long, before the next meeting. Six months later the database that was supposed to give you a clear picture of your investor relationships is a patchwork of stale entries and missing conversations.  With outdated data, we lose confidence in what it tells us.</p><p>The problem isn&#8217;t the software. It&#8217;s the input model.</p><h2>What we built</h2><p>We use Granola to automatically capture meeting notes. We built a layer on top of it &#8212; using Claude Code &#8212; that runs after every investor meeting without anyone doing anything.</p><p>It reads the notes, identifies which capital partners were present, extracts the relevant intelligence &#8212; investment preferences, check size ranges, geographies of interest, fund timing, anything substantive that came up &#8212; and updates a structured record automatically. By the time Preston gets to his desk the next morning, the log is current. No manual entry. No discipline required.   The database stays current because the input problem is eliminated, not managed.    </p><h2>What a CRM field can&#8217;t hold</h2><p>Our prior CRM did store information &#8212; contact records, deal history, and basic preferences. What it couldn&#8217;t store was the nuance of a conversation. And even when someone took the time to write a detailed note, you couldn&#8217;t query it. You could retrieve it if you already knew to look. You couldn&#8217;t ask: <em>which of our</em> <em>investors</em> <em>has mentioned an openness to development plays in markets they know well, and whose fund timing suggests they&#8217;re ready to deploy?</em> That kind of question requires language understanding across unstructured data &#8212; which is exactly what large language models are built for.</p><p>The agent captures conversational texture in narrative form. It&#8217;s searchable, it doesn&#8217;t deteriorate, and it doesn&#8217;t leave.</p><h2>Where it connects to deal execution</h2><p>When our underwriting system analyzes a new deal, it queries the investor database and surfaces the most likely capital partners for that specific opportunity &#8212; by equity check size, geography, strategy, and the contextual signals captured from prior conversations.</p><p>The result is a prioritized shortlist based on everything we know about each relationship.</p><h2>The same infrastructure, a different problem</h2><p>The same tools that enabled the underwriting agent enabled this one. Granola provides summarized meeting notes. The Model Context Protocol connects the agent to our contact database. Claude Code handled the build. Training this agent was faster &#8212; it already had a working model for what knowledge matters and how to apply it.  </p><p>What&#8217;s different about this agent is that the coaching is continuous. Investor preferences change. Fund cycles turn. The agent learns from corrections as relationships evolve, which is what keeps the database genuinely current rather than accurate at launch and stale six months later.</p><h2>What doesn&#8217;t change</h2><p>The agent only surfaces who to call. </p><p>We are the trusted partner in these relationships &#8212; and trusted partners are built through years of communication, transparency about outcomes, and ultimately delivery on execution. The intelligence the system provides is preparation. The relationship, and the obligation to perform, is ours. What changes is how prepared we are when we pick up the phone.  </p><p><em>Next: what the process of actually building all of this looked like &#8212; and what we&#8217;d tell a firm evaluating whether to start.</em></p>]]></content:encoded></item><item><title><![CDATA[The Intern Left. We Needed Another Way.]]></title><description><![CDATA[We lost our intern. Offshoring didn't work. So we built something else &#8212; an AI agent that now handles deal underwriting reconciliation in minutes instead of days. Here's exactly what we built a]]></description><link>https://www.worthbuilding.net/p/the-intern-left-we-needed-another</link><guid isPermaLink="false">https://www.worthbuilding.net/p/the-intern-left-we-needed-another</guid><dc:creator><![CDATA[Eric Cress]]></dc:creator><pubDate>Wed, 08 Apr 2026 16:12:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mAAc!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d74ad6-8f66-43fb-b2e0-8212ae221f68_816x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last year we were looking hard at ways to improve our deal turnaround. We had experimented with offshoring some of the analyst work for a while &#8212; it helped at the margins, but it wasn&#8217;t the answer. Over the summer we had an excellent intern who did genuinely strong work, producing models quickly and accurately. When that ended, we were back to the same question: hire another full-time analyst, or find a different way to close the gap.</p><p>Preston, our acquisitions lead, prompted me to look into AI. He knows my background &#8212; I spent a decade as a design engineer before moving into real estate &#8212; and he probably wondered why I wasn&#8217;t already pursuing these tools more proactively. Fair point.</p><h2>The problem</h2><p>The problem we were trying to solve was underwriting throughput. Specifically, every deal maps to our model a little differently. The seller&#8217;s chart of accounts is never the same twice. Their rent roll format, how they treat one-time items, whether payroll is one line or four &#8212; all of it varies. That variability is exactly what makes traditional automation fail. Macros and templates work when the input is consistent. Real estate deals aren&#8217;t. I had tried rule-based approaches before and hit the same wall every time: the moment a deal came in with an unfamiliar structure, the automation broke and a human had to take over.</p><p>What agentic AI changes is the ability to handle that variability through pattern recognition rather than rigid rules. More importantly, an agent can be trained on your specific workflow and learns from mistakes as you coach it. When it maps a category incorrectly, you correct it. It usually doesn&#8217;t make that mistake again.</p><p>The initial work was building that learning environment &#8212; establishing the structure of our model clearly enough that the agent had something to learn from. That setup takes real effort. But once it exists, training becomes iterative: run a deal through, review the output, correct what is wrong, run another. Each round the agent performs better. The improvement compounds in a way that is genuinely similar to onboarding a junior analyst &#8212; steady growth that accelerates once the foundational understanding is in place.</p><h2>What we built</h2><p>We built an agent &#8212; using Claude Code &#8212; that ingests the full document set for a deal: offering memorandum, operating statement, rent roll. It loads and reconciles the data across those sources, translates the seller&#8217;s chart of accounts to ours, and runs the same reconciliation process on the rent roll &#8212; normalizing unit types, flagging vacancy inconsistencies, identifying loss-to-lease. Each source is cross-checked against the others. Discrepancies get flagged before they reach the model.</p><p>That&#8217;s not simple work. It requires holding the full picture in context simultaneously &#8212; which is exactly what large context windows now make possible, and exactly what breaks under deadline pressure when done manually.</p><p>On a recent 150-unit value-add deal, the agent caught three material issues on the first pass: an occupancy history that didn&#8217;t reconcile with the rent roll, a one-time insurance recovery buried in operating income, and stabilized NOI overstated by approximately 18% in the seller&#8217;s underwriting. What would have taken the better part of two days took about 20 minutes.</p><h2>Why this wasn&#8217;t possible 18 months ago</h2><p>I looked at this problem in 2023. The tools weren&#8217;t there.</p><p>What changed: in March 2024, context windows expanded to 200,000 tokens &#8212; enough to hold an entire property package in a single pass. In November 2024, Anthropic released the Model Context Protocol, a standard that lets AI agents connect reliably to external files, databases, and systems without fragile custom code. In February 2025, Claude Code made it practical for a firm without a software development team to build and deploy working agent systems. We built ours over a handful of weekends. It&#8217;s in production, processing real deals.</p><p>More recently, advances in agentic capabilities &#8212; reliable tool use, skills orchestration, the ability to hand off between tasks without losing state &#8212; put the remaining pieces in place. The context window got us in the room. The agent architecture made it work.</p><h2>What doesn&#8217;t change</h2><p>The agent doesn&#8217;t replace an analyst. It changes what the analyst does.</p><p>Someone still needs to manage it &#8212; running deals through, reviewing outputs, catching errors, continuing to coach it when something is mapped incorrectly. That oversight isn&#8217;t optional. The agent&#8217;s reliability is a direct product of the attention given to training and quality control.</p><p>What it handles is the data work: loading, reconciling across sources, translating, flagging. What it doesn&#8217;t handle is what to do with what the numbers reveal. Market judgment, broker relationships, the read on a seller&#8217;s motivation &#8212; none of that changes. What changes is that the analyst who previously spent hours on data reconciliation now applies that time to the work that actually requires them.</p><p><em>Next: how the same infrastructure problem shows up on the investor relations side, and what we built to solve it there.</em></p>]]></content:encoded></item><item><title><![CDATA[What Is Worth Building?]]></title><description><![CDATA[A practitioner's introduction to the questions this newsletter will spend the next year working through.]]></description><link>https://www.worthbuilding.net/p/what-is-worth-building</link><guid isPermaLink="false">https://www.worthbuilding.net/p/what-is-worth-building</guid><dc:creator><![CDATA[Eric Cress]]></dc:creator><pubDate>Thu, 02 Apr 2026 23:51:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mAAc!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45d74ad6-8f66-43fb-b2e0-8212ae221f68_816x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Twenty years ago I left a career in engineering &#8212; semiconductor design, then optical networking &#8212; and moved into real estate development. The technical instincts didn&#8217;t disappear. The problems just changed.</p><p>What I found in real estate is that a project&#8217;s feasibility tells you what you can build. It doesn&#8217;t tell you what&#8217;s worth building. The decisions that shape neighborhoods are informed by context, community, and the history of the places in which our buildings are built &#8212; not just capital. Getting the numbers right is necessary. It isn&#8217;t the whole question.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.worthbuilding.net/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 Worth Building! 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>The question I&#8217;ve been asking since &#8212; in different forms, across different problems &#8212; is: what is actually worth building?</p><p>That question is the premise of this newsletter.</p><div><hr></div><p>I co-founded Urban Development + Partners in 2006. Since then we&#8217;ve developed and acquired urban mixed-use projects across Oregon and Northern California &#8212; multifamily, office, hospitality, adaptive reuse &#8212; and managed investments through the 2008 crisis, the 2020 dislocation, and the post-pandemic office collapse. We&#8217;ve made money, lost money once, and written about both with equal specificity in our investor letters.</p><p>We&#8217;ve also built intentional cohousing communities from the ground up &#8212; working with families and baby boomers who want to live differently than conventional housing allows, and with our friend and colleague Katie McCamant, whose work introduced this model to North America.</p><p>This year, I built AI agent systems that now run core workflows at our firm &#8212; using tools that didn&#8217;t exist 18 months prior. I hadn&#8217;t written production code in 20 years. That surprised me about as much as it surprised the people I work with.</p><div><hr></div><p><em>Worth Building</em> covers the terrain where all of this intersects.</p><p><strong>Housing and supply.</strong> Why the shortage persists despite broad consensus that it shouldn&#8217;t. What development economics look like from the inside. What policies move the needle and which ones just sound good.</p><p><strong>Community by design.</strong> What communities should we be creating, and how do we build them deliberately? Cohousing for families and for people planning the next chapter. What it takes to develop a neighborhood for people who don&#8217;t yet know each other. Why intentional community works, and why most Americans have never heard of it.</p><p><strong>Capital and conviction.</strong> The investor&#8217;s lens on real estate &#8212; acquisition strategy, market cycles, fund structure, the hold/sell decision under pressure. The same transparency I use in our investor letters, applied to questions that don&#8217;t require a fund subscription to find interesting.</p><p><strong>AI and the built environment.</strong> Not AI as concept or hype. What we actually built, how it works, what it changed, and what it didn&#8217;t. Practical and specific &#8212; written by someone still building.</p><div><hr></div><p>These aren&#8217;t unrelated topics. They&#8217;re different angles on the same question.</p><p>What housing is worth building? What communities should we be helping create? What investments are worth the conviction they require? What tools are worth the time it takes to build them?</p><p><em>Worth Building</em> comes out monthly. Each issue takes one question, one problem, or one idea and develops it fully &#8212; no listicles, no predictions, no five tips. A practitioner&#8217;s view from the middle of it.</p><p>If that&#8217;s useful to you, subscribe. If you know someone for whom it would be, forward this to them.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.worthbuilding.net/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 Worth Building! 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>