<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>robertkarl.net</title>
    <link>https://robertkarl.net/blog/</link>
    <description>Field notes from the AI trenches.</description>
    <atom:link href="https://robertkarl.net/blog/feed.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title>On-premises for legal is not a good business</title>
      <link>https://robertkarl.net/blog/2026/May/25/on-premises-for-legal-is-not-a-good-business.html</link>
      <guid isPermaLink="true">https://robertkarl.net/blog/2026/May/25/on-premises-for-legal-is-not-a-good-business.html</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[<p><em>AI disclaimer. The writing on this page is mine. The essay below, "Invalidating a business idea...." was originally written March 17, 2026. Opus gave me a few rounds of feedback on it. All the text emitted was from my keyboard though.</em></p>
<p>I tried to build a company called Curtilage.  It was intended to be offline AI for legal.</p>
<p>As I reflect, I'm most impressed by the generosity of folks I spoke to.</p>
<p>I called lawyers and startup folks within my circle, and also people I don't know, warm intros, and said <em>"Hey. I'm working on this idea. I don't have anything to sell. Will you talk to me about your AI tools? Will you talk to me about your process?"</em> I expected people to be mean. It's uncomfortable to reach out, as an engineer and introvert.</p>
<p>And you know what? In every. single. case, people were generous with their time and willing to speak with me. My uncle actually warned me not to use this approach with lawyers. "What are you going to do," he said, "call up a lawyer and ask for free advice?" It took me a few seconds to get the joke; but then I had perhaps my loudest laugh of 2026.</p>
<p>All-in-all I spoke to about 15 lawyers and got universally negative or indifferent attitudes towards the idea.</p>
<p>So if you're one of the kind folks who spoke to me about this idea, thank you!</p>
<p>Anyways I killed the idea. It felt bad. It felt like a failure. Maybe for a week or so. I even printed business cards shortly before killing it. I never picked them up. But now with two months of distance, I view Curtilage as a roaring success. I felt vindicated when Claude released <a href="https://github.com/anthropics/claude-for-legal">their legal package recently</a>.</p>
<p>The opportunity cost has never been higher with how powerful the AI tools have become for technical founders. I invalidated an idea really quick. I'll say it again: <em>killing Curtilage was a success!</em></p>
<p>I used AI heavily. I estimate it sped up my entire process 5-10x.</p>
<p>But the data points required for decision making were ultimately gathered in conversations with humans. I biased heavily towards spending my time talking to humans who could help me prove or disprove the idea. I used Claude for brainstorming, prototyping, market research, branding, outreach. I used it for idea generation, not delegating decision making. I will write more about my experience using AI in a startup context.</p>
<p>I'm not going to edit the following post much even though my opinions may have changed a bit in the intervening two months. What follows reflects my mid-March attitude, from being in the thick of it, working on this project all day every day for a month or so.</p>
<p>I think I missed two critical things: the moat aspect (Anthropic dropping Claude for legal nuked a lot of the value from orbit) and the team aspect. I'm not a lawyer; me as a solo founder in this space is preposterous.</p>
<p>The original piece post follows.</p>
<h1>Invalidating a business idea in three weeks of market research</h1>
<p><em>March 17, 2026</em></p>
<p>After using frontier models for coding, and setting up offline inference with open weights models at home, I decided to try to build a company around on-premises AI for regulated industries.</p>
<p>I wanted to start with a single use case that <em>required</em> offline inference, not just benefited from it. I started iterating on three things: 1) establishing some falsifiable criteria for the business. 2) doing deep market research on existing products and requirements and 3) building prototypes.</p>
<p>One court case, <em>US v. Heppner</em>, influenced me heavily. After reading it, I thought: lawyers must be itching to get some on-premises AI going.</p>
<h2><em>Heppner</em>, and <em>Warner v. Gilbarco</em>: two different takes on privilege</h2>
<p>These two cases conflict on attorney-client privilege and cloud AI tools.</p>
<p>In <em>Heppner</em>, Judge Rakoff rules that using Claude waives privilege. Rakoff's reasoning: there are three criteria for identifying privileged information, and one of them is confidentiality. If Heppner sent the data in question to Claude for processing (and training, and sending to third parties, per the EULA), it's no longer confidential!</p>
<p>A month later in <em>Warner v. Gilbarco</em>, under the work product doctrine, client chats with Claude or ChatGPT can be protected and privileged. The <a href="https://www.seedip.com/posts/federal-courts-differ-on-ai-use-and-waiver-of-work-product-protection----by-seed-ip-attorneys-jeffrey-danley-jessica-gritton-and-john-morgan">Seed IP law firm</a> has a good blog post about the issue. But basically, the law isn't solidified.</p>
<p>So what started as <em>positive</em> signal for the business idea became mixed at best, a few weeks later with Warner v. Gilbarco.</p>
<h2>Three falsifiable hypotheses</h2>
<p>1) Law firms care deeply about data privacy. They can't share it with third parties due to legal obligations. For particularly sensitive data, cloud API use is off the table.
2) There is wasteful, repetitive work that can be automated to save time and money for businesses.
3) Offline AI solutions are good enough to solve 1) and 2) -- that is, performing the useful tasks while the data remains entirely offline.</p>
<p>The first was the crux. But all three need to hold for a healthy business. (Note that encrypting data and storing it in Google Drive or Dropbox is not the same thing. People refer to this as "locked file cabinet" cloud use.)</p>
<h2>Lawyers don't care about on-prem</h2>
<p>Lawyers care deeply about preserving confidentiality of client data, and not getting sanctioned by a magistrate for using AI improperly. But law firms can and do share their sensitive, privileged data with third parties, like Anthropic, Spellbook, Harvey and OpenAI. They require a ZDR - Zero Data Retention agreement. (Note: "Zero data retention" is a misnomer; these chats are saved for the frontier model owner's own legal obligations.) I discovered a wide array of viewpoints. They were uniform in their ambivalence about on-premises.</p>
<ul>
<li>Inside the DOJ: <em>"We don't use AI at all".</em></li>
<li>Personal injury, defending corporations: <em>"I use AI as much as I can. ChatGPT is great at drafting, I just have to check all the references because it hallucinates so much."</em></li>
<li>Single-attorney firm in Seattle: <em>"Look, I have my documents. I do find and replace. I file documents for my clients. I don't need Harvey."</em></li>
<li>Legal tech founder: <em>"A zero data retention agreement is enough for lawyers to put privileged data into a startup's system, once you have earned their trust."</em></li>
<li>Data-privacy firm, plaintiff side: <em>"We found a large cloud provider had enabled an AI feature in some of our software. We asked them to turn it off."</em></li>
<li>Intellectual property law: <em>"In the jurisdiction I work in, I have to attest to using AI. My partner doesn't want me to do that. So I'm not technically allowed to use AI to draft documents."</em></li>
<li>A VC: "<em>The cloud-based incumbent startups (Harvey) are too good and growing too fast. It proves that cloud-based is good enough. Legal seems late for starting a company.</em>"</li>
</ul>
<p>These conversations were enough for me to invalidate hypothesis 1. All three need to hold for this to be a good business idea. There is no need to test the others.</p>
<h2>No moat</h2>
<p>Even if demand existed, there's no defensible position if the leading online, legal-first players put their special sauce on a local machine with a slightly less capable model.</p>
<h2>Conclusion</h2>
<p>Small sample size on conversations, but good enough for me. On-premises AI for lawyers is not a good business idea right now.</p>]]></description>
    </item>
    
    <item>
      <title>Hello world</title>
      <link>https://robertkarl.net/blog/2026/May/25/hello-world.html</link>
      <guid isPermaLink="true">https://robertkarl.net/blog/2026/May/25/hello-world.html</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[<p>This is the first blog post on my 2026 blog. Testing the ability to add screenshots with low friction:</p>
<p><img alt="Pasted image 20260525102705.png" src="Pasted image 20260525102705.png" /></p>
<p>Excellent. My name is Robert Karl, I'm a software engineer and serial founder in Seattle.</p>
<p>I studied CS at Caltech. I used to work at Facebook, Xnor.ai, and AWS.</p>
<p>The intent with this blog is to talk about AI and building products and startups with it. Egad! Not another AI blog.</p>]]></description>
    </item>
    
    <item>
      <title>Post the second.</title>
      <link>https://robertkarl.net/blog/2026/May/25/post-the-second.html</link>
      <guid isPermaLink="true">https://robertkarl.net/blog/2026/May/25/post-the-second.html</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[<p><a href="/blog/2026/May/25/hello-world.html">hello world</a></p>
<p>Testing links between posts. This is generated with a minimal SSG, written in Obsidian, and allows easy copy paste of screenshots (critical for me!)</p>
<p>It took a few prompts and maybe half an hour to set up.</p>
<p>We're serving on robertkarl.net which is a Digital Ocean droplet, with nginx.</p>
<p>Let's test our other blog features:</p>
<pre><code class="language-python">def a():
    &quot;&quot;&quot; Blocks of code. this one is python. Isn't whitespace awesome? &quot;&quot;&quot;
    b()
def b():
    a()
if __name__ == &quot;__main__&quot;:
    a()
</code></pre>
<blockquote>
<p>I'm not really a fan of whitespace.</p>
</blockquote>]]></description>
    </item>
    
  </channel>
</rss>