<script data-pm-proxy="intercept"></script><?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[The AI-Ready Localizer]]></title><description><![CDATA[The AI-Ready Localizer explores how multilingual ontologies, market intelligence, and data governance transform localization from translation into AI-powered, intent-driven global growth.]]></description><link>https://juliadiez.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Mutt!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d599ac1-bfb4-43ee-93dc-5d239bedb8a4_600x600.png</url><title>The AI-Ready Localizer</title><link>https://juliadiez.substack.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 03 Sep 2026 17:26:26 GMT</lastBuildDate><atom:link href="/__u/juliadiez.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Julia Diez]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[juliadiez@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[juliadiez@substack.com]]></itunes:email><itunes:name><![CDATA[Julia | Taking you global]]></itunes:name></itunes:owner><itunes:author><![CDATA[Julia | Taking you global]]></itunes:author><googleplay:owner><![CDATA[juliadiez@substack.com]]></googleplay:owner><googleplay:email><![CDATA[juliadiez@substack.com]]></googleplay:email><googleplay:author><![CDATA[Julia | Taking you global]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Best-of-N Localization]]></title><description><![CDATA[Why Egoless AI Changes Everything]]></description><link>https://juliadiez.substack.com/p/best-of-n-localization</link><guid isPermaLink="false">https://juliadiez.substack.com/p/best-of-n-localization</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sun, 30 Aug 2026 21:12:51 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/83496b01-d0eb-42b6-93a9-fc6764cb2ce9_978x668.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>The traditional translator&#8217;s fear: We get one shot. Better be perfect.</h1><p>The AI superpower: <em>We get five shots. Let&#8217;s see what the market actually needs.</em></p><p>For decades, localization lived inside a constraint that shaped everything: the translator makes a choice, then that choice gets baked into the TMS and shipped to 50 languages. Revising means rework. Changing your mind means cost. So you commit to one semantic framing and hope it was the right one.</p><p>AI changes this completely. When the cost of generating an alternative drops from &#8220;hire another translator&#8221; to &#8220;press Enter,&#8221; you can afford to do something revolutionary: generate multiple competing approaches, compare them openly, and <em>choose based on what your market actually needs</em> rather than what you guessed was right the first time.</p><p>This is the Best-of-N pattern. And it&#8217;s not just about speed. It&#8217;s about how localization should work at the semantic layer.</p><div><hr></div><h2>Part 1: Why Best-of-N Breaks the TMS Model</h2><h3>The Problem with &#8220;One True Translation&#8221;</h3><p>A Translation Management System was built on an assumption: <strong>one source string &#8594; one translation &#8594; managed in perpetuity.</strong></p><p>This made sense in 1999. A translator researched, committed, and the TMS enshrined that decision. Changing it later meant rework. So TMS culture became <strong>&#8220;get it right the first time.&#8221;</strong></p><p>But &#8220;right&#8221; was always a guess. You&#8217;re guessing which semantic framing will resonate in Japanese. You&#8217;re guessing whether the UI term should be formal or conversational in Spanish. You&#8217;re guessing whether the metaphor that works in English will land in German.</p><p>The TMS doesn&#8217;t help you resolve that guess, it just locks it in.</p><h3>The AI Advantage: Egoless, and Fast</h3><p>Here&#8217;s what changes with AI:</p><p><strong>Speed.</strong> Generating five versions of a 500-word marketing passage takes Claude about 30 seconds. </p><p><strong>Egolessness.</strong> An AI agent doesn&#8217;t care. Ask it to try again from scratch, and it generates something completely different without friction.</p><p><strong>Creativity under constraint.</strong> Each iteration can explore radically different approaches. Version 1 stays close to source structure (useful for brand consistency). Version 2 follows target-market semantics (useful for native fluency). Version 3 invents from first principles (useful for discovering what you didn&#8217;t know you wanted).</p><h3>The Semantic Governance Insight</h3><p>Best-of-N only works if you have <em>criteria for choosing.</em></p><p>Traditional localization chose by &#8220;gut feel&#8221; or &#8220;this sounds natural.&#8221; That works for small teams with aligned judgment. It breaks at scale: 50 markets, multiple LLM providers, different use cases, stakeholders who disagree about tone.</p><p><strong>Best-of-N localization is really semantic governance in action.</strong></p><p>You generate multiple versions. You evaluate them against your actual market context: the cryptotypes of your target audience, the vibe you&#8217;re trying to establish, the regulatory or brand constraints that matter. Then you choose&#8212;or combine&#8212;based on why that version is better, not just that it sounds better.</p><p>This is what a semantic governance platform does. It makes the choice criteria explicit instead of buried in someone&#8217;s intuition.</p><div><hr></div><h2>Part 2: Three Complete Claude Code Exercises</h2><p>Here&#8217;s how to practice this. We&#8217;re going to build three localization scenarios using Claude Code, Git branching, and the Best-of-N pattern.</p><h3>Prerequisites</h3><ul><li><p>Claude Code installed (<code>claude</code> in terminal)</p></li><li><p>Basic understanding of Git branches</p></li><li><p>A text editor or IDE you&#8217;re comfortable with</p></li><li><p>~45 minutes</p></li></ul><h3>Exercise 1: Brand Voice Translation (Simple &#8594; Semantic &#8594; Native)</h3><p><strong>The Scenario</strong></p><p>You&#8217;re localizing tagline copy for a SaaS product. The English version is:</p><blockquote><p><em>&#8220;Unclutter your mind. Keep what matters.&#8221;</em></p></blockquote><p>This works in English because it uses a visual metaphor (&#8221;unclutter&#8221;) + an emotional anchor (&#8221;what matters&#8221;). But these don&#8217;t translate word-for-word. Your job is to find three completely different semantic framings in Spanish that capture the same intent&#8212;and then decide which one your Madrid market actually needs.</p><p><strong>Setup</strong></p><pre><code><code>mkdir localization-best-of-n
cd localization-best-of-n

git config user.email "localizer@example.com"
git config user.name "Localizer"

# Create a basic project structure
touch README.md
echo "# Localization Best-of-N Exercises" &gt; README.md
git add .
git commit -m "Initial project setup"
</code></code></pre><p><strong>Version 1: Literal Semantic Translation</strong></p><p>Launch Claude Code:</p><pre><code><code>claude
</code></code></pre><p>Copy and paste this prompt:</p><pre><code><code>I'm running a localization exercise to practice the Best-of-N pattern. 
I have an English tagline for a note-taking/productivity SaaS:

ENGLISH SOURCE:
"Unclutter your mind. Keep what matters."

VERSION 1 REQUIREMENT:
Translate this into Spanish by staying close to the semantic structure 
and the visual metaphor. Don't try to be clever&#8212;translate the *meaning* 
literally. This is the baseline version.

Git workflow:
- Create a new branch called "tagline-v1-literal"
- Create a file called "localization-versions.md"
- Add the translation with a brief note (2-3 sentences) explaining 
  your approach and what trade-offs you made
- Commit when done

Format your entry like this:

## Version 1: Literal Semantic Translation
Spanish: [translation here]
Approach: [2-3 sentences explaining your strategy]
Trade-offs: [what you gave up to stay literal]
</code></code></pre><p>Claude will:</p><ol><li><p>Create the branch <code>tagline-v1-literal</code></p></li><li><p>Translate the tagline staying close to source structure</p></li><li><p>Add reasoning to <code>localization-versions.md</code></p></li><li><p>Commit the work</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Wjd_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png 424w, /__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png 848w, /__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Wjd_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png" width="672" height="420" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:420,&quot;width&quot;:672,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:57211,&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://juliadiez.substack.com/i/213450658?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png 424w, /__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png 848w, /__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Wjd_!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ffbc8b-0b89-4bcd-a371-2d7e5da7b3be_672x420.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>What to Observe</strong></p><p>As Claude works:</p><ul><li><p>Notice the metaphor choices (&#191;c&#243;mo traduce &#8220;unclutter&#8221;? &#191;Desorden &#8594; desorden visual o mental?)</p></li><li><p>Notice where literal translation starts to feel awkward in Spanish</p></li><li><p>This version should feel accurate but maybe slightly formal or English-like</p></li></ul><p><strong>Test It</strong></p><p>Once Claude finishes:</p><pre><code><code>git log --oneline
git show HEAD
cat localization-versions.md
</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!BvuS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png 424w, /__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png 848w, /__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!BvuS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png" width="681" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:681,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:113882,&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://juliadiez.substack.com/i/213450658?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png 424w, /__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png 848w, /__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.png 1272w, /__u/substackcdn.com/image/fetch/$s_!BvuS!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36ad2dd9-61e0-4381-bef9-cf95ca6886f3_681x519.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><p><strong>Version 2: Semantic Equivalent (Cryptotype-Aware)</strong></p><p>Now prompt Claude to create Version 2 from scratch:</p><pre><code><code>Great! Now create VERSION 2, which should be completely different.

VERSION 2 REQUIREMENT:
Translate the same tagline, but this time think like a native Spanish 
copywriter in Madrid. Ignore the English structure. Your goal is to 
capture the same emotional intent&#8212;clarity, focus, what matters&#8212;but using 
the semantic framings that actually resonate in Spanish.

Consider:
- Spanish has different metaphors for mental clarity than English
- Spanish copy culture tends toward different emotional anchors
- The vibe should feel native, not translated

Git workflow:
- Switch back to main branch first
- Create a new branch called "tagline-v2-native"
- Add your translation to localization-versions.md (same file)
- Commit when done

Format:

## Version 2: Native Semantic Equivalent
Spanish: [translation here]
Approach: [2-3 sentences on what Spanish copywriting instinct guided you]
Trade-offs: [where you diverged from source meaning, and why]
Vibe: [how this feels different from Version 1]
</code></code></pre><p><strong>What You&#8217;re Looking For</strong></p><p>Version 2 should feel <em>genuinely Spanish</em>, not just translated. It might:</p><ul><li><p>Use different metaphors (maybe about clarity/focus rather than clutter)</p></li><li><p>Have a different rhythm (Spanish copy often prefers parallelism)</p></li><li><p>Hit different emotional buttons (e.g., focus vs. simplification)</p></li></ul><p>This version should make you think: <em>&#8220;Oh, a Spanish copywriter would never phrase it the other way.&#8221;</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Td6W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png 424w, /__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png 848w, /__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Td6W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png" width="657" height="394" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:394,&quot;width&quot;:657,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:58515,&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://juliadiez.substack.com/i/213450658?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png 424w, /__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png 848w, /__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Td6W!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46bb49cf-c16e-4b36-80a6-b9ad0ac9bf75_657x394.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><p><strong>Version 3: Market-Specific Remix (Audience + Vibe)</strong></p><p>Final version. New approach:</p><pre><code><code>Excellent. Now VERSION 3&#8212;the most ambitious.

VERSION 3 REQUIREMENT:
You're not just translating this tagline. You're adapting it for a 
specific Madrid-based user who is: 
- A freelance designer, age 32, high creative standards
- Frustrated by tool clutter and distraction
- Wants to feel sophisticated and in control
- Responds to clean, confident language (not overly friendly)

This isn't translation anymore&#8212;it's *copywriting from first principles* 
using the same core idea. Generate something that would make *that specific 
person* in Madrid feel: "Yes, this is for me."

Git workflow:
- Switch back to main
- Create branch "tagline-v3-audience"
- Add to localization-versions.md
- Commit

Format:

## Version 3: Audience-Specific Remix
Spanish: [translation/adaptation here]
Approach: [2-3 sentences on the copywriting strategy for this audience]
Persona reasoning: [why this specific framing works for the Madrid designer]
Vibe: [tone, confidence level, sophistication]
</code></code></pre><p><strong>What You&#8217;re Looking For</strong></p><p>Version 3 might be quite different from the English. It&#8217;s not a translation&#8212;it&#8217;s a <em>localized rewrite</em>. It should:</p><ul><li><p>Feel like it was written <em>for</em> the Madrid market, not translated into it</p></li><li><p>Hit emotional notes that matter to that specific persona</p></li><li><p>Use language that audience actually uses</p></li><li><p>Potentially drop the English metaphor entirely if something else works better</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pzV2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png 424w, /__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png 848w, /__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pzV2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png" width="671" height="410" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:410,&quot;width&quot;:671,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:64253,&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://juliadiez.substack.com/i/213450658?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png 424w, /__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png 848w, /__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pzV2!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581087-3ac6-4ec4-9b2c-4f13d27a3dea_671x410.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><p><strong>Compare All Three</strong></p><p>Now switch between branches and compare:</p><pre><code><code>git checkout tagline-v1-literal
cat localization-versions.md

git checkout tagline-v2-native
cat localization-versions.md

git checkout tagline-v3-audience
cat localization-versions.md
</code></code></pre><p><strong>Reflection Questions</strong></p><p>Which version do you actually want to ship? Why?</p><ul><li><p>Does your market prefer Version 1 (trustworthy, accurate)?</p></li><li><p>Does it prefer Version 2 (native-sounding)?</p></li><li><p>Does it prefer Version 3 (audience-targeted)?</p></li></ul><p>The answer isn&#8217;t universal. It depends on your product positioning, your market maturity, and the specific use case. <strong>The Best-of-N pattern is how you make that decision visible and defensible.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QvC2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png 424w, /__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png 848w, /__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QvC2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png" width="1035" height="783" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:783,&quot;width&quot;:1035,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132630,&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://juliadiez.substack.com/i/213450658?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png 424w, /__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png 848w, /__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QvC2!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faac659d5-e4fe-4a93-b59d-37259df6c8c0_1035x783.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>Exercise 2: UI Microcopy (Technical &#8594; Conversational &#8594; Local Idiom)</h3><p><strong>The Scenario</strong></p><p>You&#8217;re localizing error messages and button labels for a financial app. The source is:</p><pre><code><code>Button: "Confirm Transaction"
Error: "Insufficient funds in account"
Success: "Transaction processed successfully"
</code></code></pre><p>These are clear and technical. But they need to work across three completely different contexts: a conservative Spanish bank user, a fintech-savvy millennial, and a casual mobile user.</p><p>Can the same strings work for all three? Should they? Let&#8217;s explore three versions.</p>
      <p>
          <a href="/__u/juliadiez.substack.com/p/best-of-n-localization">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Grammar of Power]]></title><description><![CDATA[How I Learned That Words Were Never Innocent]]></description><link>https://juliadiez.substack.com/p/the-grammar-of-power</link><guid isPermaLink="false">https://juliadiez.substack.com/p/the-grammar-of-power</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Fri, 28 Aug 2026 15:31:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!arsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Watching a machine produce paragraphs of impeccable authority about things it could not possibly know, I remembered the winter afternoon when Denmark taught me that language was the least important part of communication.</p><p>Let me back up.</p><p>I left Spain with a translation degree, and the growing realization that nobody was going to pay me decently for knowing how to carry meaning between languages. So I did what any sensible person does: I moved to the coldest, most socially encrypted country I could find. I learned Danish. Kind of. I made friends, real ones. And still, with my vocabulary growing week by week, I was lonelier than I had ever been in my life.</p><p>That&#8217;s when it hit me, and no dictionary had warned me: communication has almost nothing to do with language, and almost everything to do with an invisible architecture of social and cultural rules that nobody writes down, precisely because everyone already knows them. Everyone except you, the foreigner, standing at the party with perfect grammar and no idea what is actually going on.</p><p>So I did what lonely linguists do. I went back to school, a master&#8217;s in comparative linguistics and literature, and there, in a course with a name only academia could love, I found the thing that would quietly reorganize my brain: critical discourse analysis. The idea: every communicative act is shaping reality in a very concrete way. Not describing reality. Shaping it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!arsM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 424w, /__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 848w, /__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!arsM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp" width="1077" height="687" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:687,&quot;width&quot;:1077,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://juliadiez.substack.com/i/213155877?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 424w, /__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 848w, /__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!arsM!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3a730f9-230c-430c-8993-a27c24ebd30d_1077x687.webp 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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>A discipline born suspicious</h2><p>Critical discourse analysis &#8212; its practitioners now say Critical Discourse Studies, because academics can never leave a name alone &#8212; was never a neutral science, and to its credit, it never pretended to be. It emerged in the 1980s from three suspicious traditions: Halliday&#8217;s functional grammar, which insists that every grammatical choice is a meaning choice; Foucault&#8217;s conviction that discourse doesn&#8217;t reflect power, it builds it; and the Frankfurt School&#8217;s refusal to analyze injustice politely. Fairclough gave it its engine: discourse shapes society, society shapes discourse, round and round, no beginning. Van Dijk added the mind: the mental models through which repeated framings become &#8220;common sense.&#8221; Wodak added history, because no text arrives alone.</p><p>And what does the analyst actually do? Something almost embarrassingly concrete. She notices that &#8220;protesters clashed with police&#8221; and &#8220;police beat protesters&#8221; describe the same afternoon and build two different worlds. She notices the nominalization that makes agents evaporate &#8212; <em>the closure of the plant</em>, as if plants closed themselves out of personal conviction. She notices the presupposition that smuggles a claim past your defenses, the modality that dresses opinion up as inevitability, the small lexical decision between <em>migrant</em> and <em>expat</em> that assigns a person their place in the moral order before a single fact has been stated. None of these choices is innocent. Repeated a few million times across front pages and feeds, they harden into what a society is willing to call reality.</p><p>The field has its critics, and it&#8217;s better for them. Widdowson famously accused CDA of finding exactly what it went looking for, one conveniently outrageous headline at a time. Fair hit. The answer came from corpus linguistics: run the analysis across millions of words, and the ideology stops being a cherry-picked anecdote and becomes a slow statistical drumbeat you can no longer politely ignore.</p><h2>Then the machines arrived, speaking perfectly</h2><p>And then, the machines began to write.</p><p>Here is the thing about large language models: they don&#8217;t know things, they continue patterns. What they produce is discourse in its purest laboratory form, detached from any obligation to be true. They mimic the style of authority flawlessly. Which is exactly the trick CDA spent forty years teaching people to see through.</p><p>A model trained on the world&#8217;s text inherits the world&#8217;s framings, and then does something newspapers never could: it generates them on demand, personalized, fluent, at planetary scale. The research is starting to say plainly what discourse analysts suspected from the first paragraph: these systems don&#8217;t merely reflect entrenched ideologies, they participate in shaping them. They privilege the statistical mainstream and quietly sand away the minority framing, the dialect, the inconvenient register. The bias of a model is a discourse to be read.</p><p>Which is why the bookish little discipline from my Salamanca classroom has become, without changing a single method, urgently practical. In a world where anyone can generate fluent text, fluency is worthless as a signal. The scarce skill (maybe the scarcest) is knowing what fluent text is <em>doing</em>: who it grants agency and who it erases, what it presupposes, whom it legitimates, which world it is quietly building while pretending only to describe one. If you&#8217;re trained in CDA, you read a model&#8217;s output the way you read a front page: not asking is this well written? but what work is this writing performing, and for whom? Prompts, evals, system cards, AI policy documents&#8230; same instruments, new corpus. You become, in effect, an auditor of meaning in an economy that has just made meaning its main industrial product.</p><p>I think often of that winter in Denmark, when I spoke the language and understood nothing, and how the loneliness sent me looking for the rules beneath the words. I didn&#8217;t know I was training for this exact moment: a world full of machines that speak every language and inhabit none of them as culturally weightless, as I was at that Danish party. Someone has to notice what they&#8217;re building with all those innocent-looking words.</p><p>The words were never innocent. Neither, thankfully, are we.</p>]]></content:encoded></item><item><title><![CDATA[Nobody in Localization Wants to Talk About This]]></title><description><![CDATA[Should I build with you a TM Quality Checker?]]></description><link>https://juliadiez.substack.com/p/nobody-in-localization-wants-to-talk</link><guid isPermaLink="false">https://juliadiez.substack.com/p/nobody-in-localization-wants-to-talk</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Wed, 26 Aug 2026 17:54:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5ut3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Everyone sings the praises of translation memory. Fewer people want to talk about the part that gets left out: a TM can quietly become one of the biggest sources of quality defects in your localized product. Not because the technology is bad. Because the conditions most companies use it under are nothing like the conditions it was built for.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5ut3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png 424w, /__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png 848w, /__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5ut3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png" width="1060" height="717" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:717,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:17021,&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://juliadiez.substack.com/i/204099015?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png 424w, /__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png 848w, /__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5ut3!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f612b16-f59f-4b4b-b1f2-36d0099235f0_1060x717.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>Where translation memory actually earns its keep</h2><p>There are contexts where a well-maintained TM is genuinely valuable: legal contracts that follow a rigid structure, regulatory documentation that barely moves between releases, clients who send the same categories of content in the same format, release after release. In those worlds, high TM leverage is a real efficiency gain, and the maintenance overhead is manageable because the content universe is small and predictable.</p><p>That is not most software companies. It is not most product teams scaling into new markets. And it is definitely not any environment where content changes every sprint.</p><h2>What happens when content refuses to sit still</h2><p>A translation memory is, by design, a record of the past. Every segment carries the context, the product understanding, and the terminology decisions of the moment it was created &#8212; and all three of those drift. Products evolve. Tone shifts. Features get renamed. New concepts arrive and quietly change the meaning of language you thought was settled.</p><p>The TM doesn&#8217;t know any of this. It just keeps producing matches.</p><p>And here&#8217;s the trap: the more leverage a TM produces, the more invisible the drift becomes. A 100% match gets accepted. The linguist &#8212; often on a fast-turnaround job, often with zero visual context &#8212; sees a green checkmark and moves on. Nobody is wrong to do this. The entire economic logic of TM leverage rests on the assumption that a 100% match is correct. That assumption breaks the moment the content around a segment has changed, even slightly.</p><p>Context mismatches are one of the most common root causes of localization defects I&#8217;ve seen in production. A segment that was translated perfectly in a settings screen reappears as a 100% match in an onboarding flow, where it lands completely wrong. Same string. Different meaning. Full leverage credit.</p><h2>The scale problem nobody staffs for</h2><p>Run a TMS across five languages with a dedicated linguist team that has native-level oversight of every market, and you can probably keep the memory clean. Run it across thirty-plus languages &#8212; not unusual for a mid-size tech company &#8212; and the real question surfaces: who is actually maintaining these assets?</p><p>Terminology updates need to cascade across every language. Bad segments need to be found, retired, replaced. Outdated glossary entries need flagging. Duplicates with inconsistent translations need resolving. This isn&#8217;t a one-time cleanup project &#8212; it&#8217;s continuous, linguistically skilled work that also requires understanding the technical structure of the assets themselves.</p><p>Almost nobody has thirty native-speaker linguistic asset managers on staff. Most teams have one or two people juggling vendor relationships, running reviews, coordinating projects, and trying to keep the TM clean somewhere in the margins of all that.</p><p>So the maintenance doesn&#8217;t happen. Not fully, not consistently. The TM grows. The errors compound. The technical debt accumulates quietly, one accepted match at a time.</p><h2>The problem with pretending translation is sequential</h2><p>There&#8217;s a structural issue in how TMS workflows get discussed that matters enormously in any high-velocity environment.</p><p>The classic argument for TM leverage assumes a sequential process: translate file A, close it, commit it, leverage it for file B. In reality, when a release has a deadline and there are forty files to translate, they go out in parallel and come back in parallel, committed in whatever order finishes first. A TM cannot leverage across files being translated simultaneously &#8212; and if multiple translators are working the same project without real-time TM sharing, you get exactly the inconsistencies the TM was supposed to prevent.</p><p>Worse, concordance search doesn&#8217;t fix this &#8212; it launders it. Once an inconsistency lands in the memory, concordance makes it easier to find and reuse, propagating it into future projects until someone actively hunts it down and kills it.</p><p>The concordance argument &#8212; that TMs enforce consistency &#8212; assumes a model of translation work that high-velocity product localization almost never resembles.</p>
      <p>
          <a href="/__u/juliadiez.substack.com/p/nobody-in-localization-wants-to-talk">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Ontology vs. Taxonomy vs. Knowledge Graph vs. Semantic Layer vs. Context Graph]]></title><description><![CDATA[A clear breakdown for AI and localization teams]]></description><link>https://juliadiez.substack.com/p/ontology-vs-taxonomy-vs-knowledge</link><guid isPermaLink="false">https://juliadiez.substack.com/p/ontology-vs-taxonomy-vs-knowledge</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sat, 22 Aug 2026 22:10:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/cf1d0276-08fc-434d-96ae-60e8061f66a0_984x712.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you work anywhere near AI, localization, or data, you&#8217;ve heard all five terms used almost interchangeably. They&#8217;re not interchangeable. Each one answers a different question, and conflating them is how teams end up building a taxonomy when what they needed was a knowledge graph, or calling a spreadsheet of tags an &#8220;ontology&#8221; and wondering why it doesn&#8217;t scale.</p><p>Here&#8217;s the distinction that actually matters, in the order these structures tend to get built.</p><h2>Taxonomy: what&#8217;s a type of what</h2><p>A taxonomy is a hierarchy of categories. Parent, child, sibling. &#8220;Running shoes&#8221; is a type of &#8220;footwear&#8221; is a type of &#8220;apparel.&#8221; It answers exactly one question &#8212; <em>is this a subtype of that?</em>. Taxonomies are easy for humans to navigate, and they&#8217;re the backbone of most e-commerce nav menus and content tagging systems.</p><p>What they can&#8217;t do is tell you <em>why</em> two things are related if the relationship isn&#8217;t parent-child. A taxonomy has no vocabulary for &#8220;competes with,&#8221; &#8220;is a component of,&#8221; or &#8220;is regulated by.&#8221; Everything has to be forced into an is-a tree, and real domains are rarely that obedient.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7_ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png 424w, /__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png 848w, /__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7_ue!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png" width="1456" height="664" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:664,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:244378,&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://juliadiez.substack.com/i/212336688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png 424w, /__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png 848w, /__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7_ue!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff28d6df0-825f-4870-b45c-c8edbeacd512_2720x1240.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><div class="pullquote"><p>One tree, four branches, sixteen genres</p></div><h2>Ontology: what&#8217;s true about the concepts, and how they relate</h2><p>An ontology is what you get when you take a taxonomy and give it a richer set of relationship types, plus formal rules about what&#8217;s allowed. It doesn&#8217;t just say a running shoe is a type of footwear &#8212; it can say a running shoe <em>requires</em> a size attribute, <em>is compatible with</em> certain sock materials, <em>is manufactured by</em> a brand entity, and <em>cannot</em> simultaneously belong to two mutually exclusive categories.</p><p>The defining feature of an ontology is that it encodes meaning independent of any single dataset or language. It&#8217;s a model of the domain itself &#8212; the concepts, their properties, and the constraints between them &#8212; built so that both humans and machines can reason over it consistently. This is the layer where semantic governance actually lives: define the concept once, define what&#8217;s true about it, and every downstream system inherits that truth instead of reinventing it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!oITN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 424w, /__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 848w, /__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!oITN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:253945,&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://juliadiez.substack.com/i/212336688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 424w, /__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 848w, /__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!oITN!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbef166cb-aba1-45a8-b128-c1287c6a4b41_2720x1760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>Genre as a class: relationships and constraints defined once, before any real song fills them in.</p></div><h2>Knowledge Graph: the ontology, populated</h2><p>A knowledge graph is an ontology (or several) filled in with actual instances. The ontology says &#8220;a Product has a Manufacturer&#8221;; the knowledge graph says &#8220;<em>this</em> running shoe, SKU 4471, has manufacturer <em>Brooks</em>.&#8221; It&#8217;s the difference between a schema and a database &#8212; except the schema here is semantic, not just structural, so the graph preserves the relationships and constraints, not just the rows.</p><p>Knowledge graphs are what let a system answer questions no one explicitly programmed it to answer, by traversing relationships: everything manufactured by Brooks, compatible with trail conditions, currently unavailable in the EU. That traversal is only as good as the ontology underneath it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!n_eQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 424w, /__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 848w, /__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!n_eQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:268851,&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://juliadiez.substack.com/i/212336688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 424w, /__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 848w, /__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!n_eQ!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa46b8055-ca17-4e1c-ad03-b38e2cbdd3b5_2720x1760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>The schema, filled in: one track's genre, its required attributes, and the constraint holding at the instance level.</p></div><h2>Semantic Layer: the translation between the graph and the tools that use it</h2><p>A semantic layer sits between the knowledge graph (or any underlying data model) and the applications that consume it. Its job is to expose consistent business definitions (&#8221;revenue&#8221; always means the same calculation everywhere) so that different tools querying the same underlying data don&#8217;t quietly disagree with each other.</p><p>Where an ontology defines what&#8217;s true about the domain, a semantic layer defines how that truth gets surfaced to a specific consumer, in that consumer&#8217;s terms. It&#8217;s an interface, not a source of truth, but a bad one is exactly how two dashboards end up showing two different numbers for the same metric.</p><h2>Context Graph: what&#8217;s relevant right now</h2><p>A context graph is the newest and least standardized of the five, and it&#8217;s the one most specific to AI systems. It&#8217;s not a static model of the domain &#8212; it&#8217;s a dynamic, situational slice of relevant entities, relationships, and state assembled for a particular task, user, or moment. Think of it as what an agent actually holds in working memory to complete this action, for this user, in this session &#8212; pulled from the knowledge graph, the semantic layer, recent interactions, and live data, then discarded or rebuilt for the next task.</p><p>If the ontology and knowledge graph are the long-term memory, the context graph is closer to attention: a temporary, task-scoped assembly of exactly what&#8217;s relevant, nothing more.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!_uLV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png 424w, /__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png 848w, /__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!_uLV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:289338,&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://juliadiez.substack.com/i/212336688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png 424w, /__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png 848w, /__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!_uLV!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F393b96a7-d16c-43b9-8c56-2c2be5585965_2720x1760.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><h2>Putting them in order</h2><ul><li><p><strong>Taxonomy</strong> &#8212; categorize</p></li><li><p><strong>Ontology</strong> &#8212; define meaning and relationships</p></li><li><p><strong>Knowledge graph</strong> &#8212; populate the ontology with real instances</p></li><li><p><strong>Semantic layer</strong> &#8212; expose consistent definitions to consuming tools</p></li><li><p><strong>Context graph</strong> &#8212; assemble what&#8217;s relevant for a specific task, right now</p></li></ul><p>Each layer depends on the one before it being solid. A context graph built on a shaky ontology will confidently assemble the wrong thing, fast.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>The multi-market complication</h2><p>All of this gets harder (and more interesting) the moment you&#8217;re not operating in one market. In a multi-market ontology, a single concept doesn&#8217;t just need a term per language; it needs a term per <em>market</em>, because the same product can be legally unavailable, culturally repositioned, or attribute-different from one locale to the next. &#8220;Running shoe&#8221; in the US ontology might carry a widths attribute that doesn&#8217;t exist in the EU instance, because EU sizing doesn&#8217;t expose it the same way. A supplement that&#8217;s a wellness product in one market is a regulated pharmaceutical in another, which isn&#8217;t a translation problem at all &#8212; it&#8217;s a different node with different constraints, different availability, and a different compliance path, that happens to share a parent concept with its US counterpart. Get this layer wrong and no amount of downstream semantic layer or context graph sophistication will save you, because you&#8217;ll be serving confidently wrong answers in every market at once, just in the local language.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!nyRi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png 424w, /__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png 848w, /__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!nyRi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png" width="1200" height="884" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:884,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150647,&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://juliadiez.substack.com/i/212336688?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png 424w, /__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png 848w, /__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nyRi!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F040b0cc3-887f-4127-8a1b-4ea1c9f04716_1200x884.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>]]></content:encoded></item><item><title><![CDATA[The Part We Stopped Testing]]></title><description><![CDATA[Translation got fast. Nobody rebuilt QA to match.]]></description><link>https://juliadiez.substack.com/p/the-part-we-stopped-testing</link><guid isPermaLink="false">https://juliadiez.substack.com/p/the-part-we-stopped-testing</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sun, 16 Aug 2026 22:26:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C2bO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A few years ago, if you&#8217;d ask me where the risk lived in a localization pipeline, I&#8217;d have pointed at the strings. That&#8217;s where things broke, and that&#8217;s where we spent our time.</p><p>That risk is mostly gone now. Give a pipeline the right infrastructure: an i18n scanner, a real multilingual knowledge graph, market definitions that actually encode what&#8217;s shared and what isn&#8217;t, terminology governance instead of a spreadsheet, and translating a batch of new strings stops being a project. It&#8217;s minutes. It doesn&#8217;t need to leave the repo. I mean this literally, not as anything rethorical: the bottleneck I used to manage for a living has essentially disappeared.</p><p>Which is exactly the problem, because most companies haven&#8217;t noticed. They&#8217;re still pointing all their resources at the part that got solved, and none of it at the part that didn&#8217;t.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!C2bO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png 424w, /__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png 848w, /__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png 1272w, /__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!C2bO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png" width="1179" height="743" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:743,&quot;width&quot;:1179,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:22407,&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://juliadiez.substack.com/i/211476520?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png 424w, /__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png 848w, /__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.png 1272w, /__u/substackcdn.com/image/fetch/$s_!C2bO!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7de7fb98-010b-4a9d-a37e-2308bb36ddef_1179x743.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><h3>The part that didn&#8217;t get solved</h3><p>If I think about it, localization was never really about strings. It was about whether a Japanese user, a German user, a Brazilian user, opens the product and feels like it was made with them in mind, or feels like it was made for someone else and hastily relabeled. That feeling doesn&#8217;t come from correct grammar. It comes from an entire chain of small decisions holding together end to end. And that chain is exactly what QA is supposed to verify. It&#8217;s also what&#8217;s being undertested.</p><p>I keep seeing the same five gaps, across companies that are otherwise sophisticated about everything upstream of QA:</p><p><strong>Testing on a costume, not a market. </strong>An en-US account with the language switched in settings is not a German user. It doesn&#8217;t have German payment methods, German address formats, German regulatory prompts, German default expectations about what a checkout flow should ask for and in what order. The account is part of the locale. Testing without it is testing a costume.</p><p><strong>Automated visual QA without a native. </strong>Screenshot diffing will catch a truncated button and an overflowing modal. It will not catch a phrase that&#8217;s technically correct and reads as cold, or pushy, or slightly childish, in a way only a native living in the target market could understand. It&#8217;s a judgement only a native speaker can make, and not amount of pixel comparison substitutes for it.</p><p><strong>Testing the screen instead of the journey. </strong>Website, purchase, install, auth, first run. Every handoff between those touchpoints is a seam, and locale drops silently at seams: a payment processor that reverts to English mid-checkout, a confirmation email in the wrong date format, and install wizard that forgets what language you started in. One broken seam undoes everything that was done right upstream of it. And most test plans are built screen by screen, so the seams never get checked at all.</p><p><strong>No test cases tied to what actually changed.</strong> &#8220;We ran the regression suite&#8221; is not the same claim as &#8220;we covered the new strings.&#8221; Without a direct line from newly added or changed strings to specific test cases, coverage is a story someone tells to themselves, not a measurement.</p><p><strong>FAIL without a cause. </strong>Something fails, it gets logged, and it goes in a bucket labeled &#8216;localization is buggy&#8217;. But why it failed determined who fixes it and how: was it i18n (the code cannot properly support the locale?), L10N (the translation is wrong, and if it is wrong, why?), design (the string doesn&#8217;t fit the layout), or linguistic-cultural (the translation is correct and still wrong for the audience)? Skip that classification and you can&#8217;t route the fix, and you definitely can&#8217;t spot the pattern the third or fourth time it happens.<br></p><h3>I think this is an infrastructure problem</h3><p>None of this is an argument for going back to manual, everything by-hand testing. It&#8217;s an argument for pointing automation and human eyes to the right layers, instead of using automation as an excuse to remove human judgement from the layer that still needs it.</p><p>Automate the mechanical layer as hard as you can: visual regression, string coverage tracing, build verification across locales, the parts that are pattern-matching. That&#8217;s the same instinct that made the translation pipeline fast in the first place: don&#8217;t spend a human&#8217;s attention on something a system can check reliably.</p><p>But the experience layer: does this feel right, does this journey hold together, would a real person in this market trust what they are looking at? That&#8217;s not a coverage percentage. It&#8217;s a human call, and it requires eyes that actually belong to the market: someone who can feel when something&#8217;s off, not just confirm that nothing&#8217;s technically broken.</p><h3>So what&#8217;s my point</h3><p>Localization is solved. I&#8217;ll keep saying that, because I mean it structurally, not as a hot take: with the right language infrastructure in place, the translation step is no longer where the risk lives. What deserves the time and the budget, the headcount, the attention, is the international user experience. Whether the whole thing, watched end to end by someone who lives in that market, actually holds together.</p><p>That&#8217;s a much harder thing to build a dashboard for. It&#8217;s also the only thing left worth testing.</p>]]></content:encoded></item><item><title><![CDATA[Who, Exactly, Is Writing This?]]></title><description><![CDATA[100% AI-generated, and I don't care]]></description><link>https://juliadiez.substack.com/p/who-exactly-is-writing-this</link><guid isPermaLink="false">https://juliadiez.substack.com/p/who-exactly-is-writing-this</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sat, 15 Aug 2026 19:59:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VNNq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There's a small, frantic industry now devoted to catching people in the act of using AI, watermarks baked into text, Substack quietly running every post through Pangram, and on the other side, writers deliberately roughing up a clean AI draft, planting typos and awkward turns of phrase like camouflage, just to smell more human. It's an arms race nobody asked for, fought over a question I find almost comically beside the point. I don't care, even slightly, how something was made. I care whether it's good.</p><p>We ask, &#8220;did a person write this, or a machine?&#8221;, as though writing were a single act, done by a single agent, that could be assigned to one side of a line or the other. But writing was never one act. It only felt that way because, until recently, one skull happened to contain all the agents involved.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!VNNq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png 424w, /__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png 848w, /__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!VNNq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png" width="1164" height="734" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:734,&quot;width&quot;:1164,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23658,&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://juliadiez.substack.com/i/211342459?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png 424w, /__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png 848w, /__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.png 1272w, /__u/substackcdn.com/image/fetch/$s_!VNNq!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27345b07-31bb-4f13-b096-59818798a2e0_1164x734.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><p>Consider what actually has to happen for a post like this to exist:</p><p>Something has to <em>know</em> things: has read the papers, built the pipeline, argued in a meeting, noticed a pattern nobody named yet.</p><p>Something has to <em>want</em> to say them: has decided this particular knowledge, out of everything known, is worth someone else&#8217;s ten minutes.</p><p>Something has to <em>organize</em> them: decide what comes first, what can wait, what&#8217;s a detour.</p><p>Something has to <em>phrase</em> them: choose this word over that one, this rhythm over that one.</p><p>Something has to <em>judge the result</em>: read it back and decide whether it&#8217;s actually any good.</p><p>For most of history these five agents lived in the same head, so we never had to ask which one deserved the credit. We just said &#8220;the writer wrote it&#8221; and moved on. But the agents were always separable in principle &#8212; a ghostwriter has always split <em>knowing/wanting</em> from <em>phrasing</em>; an editor has always been an outsourced version of <em>judging</em>. Nothing about a mind requires that all its parts live in the same body. That was always an accident of biology, not a law of thought.</p><p>In my own case, the split is simply more visible than usual. I supply the first two agents entirely: the knowing and the wanting. Claude and I share the third &#8212; organizing &#8212; in a long conversation where I offer sources and it offers others, where we sometimes build the very thing the post will later describe: a script, a pipeline, a terminology system, some small object that didn&#8217;t exist an hour before. The fourth agent, phrasing, I hand over almost completely: I don&#8217;t experience much loss in this, because for me the phrasing was never where the meaning lived. And the fifth, judging, comes back to me: I read what it wrote, and I keep only what survives the reading.</p><p>Fiction is different, and worth noting exactly why: there, the phrasing agent and the knowing agent are the same agent, doing the same job at the same moment &#8212; you can&#8217;t know what a sentence means, in fiction, until you&#8217;ve found its exact words. That&#8217;s not true of an explanation. An explanation can survive a thousand different phrasings and still be the same explanation. So I keep fiction&#8217;s phrasing agent as myself, and I subcontract this one&#8217;s, freely, without feeling that anything essential has left the building.</p><p>None of this should be surprising to anyone who has thought carefully about what a mind even is: a mind was never a single thing to begin with. It was always a society of smaller processes, cooperating, sometimes badly, to produce something that only looks unified from the outside. I&#8217;ve simply let one member of that society live outside my skull. The society still works. The ideas are still mine: mine in the sense that matters, which is that I chose them, wanted them said, and would stand behind every one. Whether the sentence that carries an idea was assembled by a neuron or a network was never, on reflection, the interesting question.</p><p>The interesting question was always just: is the idea any good?</p>]]></content:encoded></item><item><title><![CDATA[We Don’t Need a Better TMS. ]]></title><description><![CDATA[We Need a Different Question.]]></description><link>https://juliadiez.substack.com/p/we-dont-need-a-better-tms</link><guid isPermaLink="false">https://juliadiez.substack.com/p/we-dont-need-a-better-tms</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Thu, 13 Aug 2026 13:03:58 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/f4e320be-c05d-42e0-80fb-dd4cdd111aaa_1192x751.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For twenty years, localization has optimized the same loop: extract strings, send them to a TMS, match against a translation memory, route to a linguist, QA against a style guide, reimport. Every improvement we&#8217;ve made &#8212; better fuzzy matching, better CAT tool integrations, better vendor management dashboards &#8212; has been an improvement <em>inside</em> that loop. Nobody was asking whether the loop itself still made sense.</p><p>I think it stopped making sense a while ago, and most of us kept using it anyway because replacing infrastructure is expensive and the old infrastructure still technically works. But &#8220;technically works&#8221; is a low bar when the unit of localization work has changed. A translation memory answers the question &#8220;have we translated something like this before?&#8221; It has nothing to say about <em>why</em> a term is approved, what a market&#8217;s tone should be, or whether a placeholder needs to move to a different position in the sentence because Spanish resolves it differently than English does. That knowledge has always lived in people&#8217;s heads, in style guides nobody reads end to end, in Slack threads that get lost. A TMS was never built to hold it, because when TMS architecture was designed, it didn&#8217;t need to &#8212; a human translator was always in the loop to supply it from memory.</p><p>Take that human out of the loop &#8212; which is what&#8217;s actually happening, whether we&#8217;ve formally decided it should or not &#8212; and you notice the gap immediately. An LLM can produce fluent Spanish in about a second. Fluent isn&#8217;t the problem anymore. <em>Correct, on-brand, and governed</em> is the problem. And that&#8217;s not a translation problem, it&#8217;s an infrastructure problem: you need somewhere for the terminology decisions, the market definitions, and the governance rules to live as structured, queryable knowledge &#8212; not as a PDF style guide that an LLM half-remembers from training data.</p><p>That&#8217;s the rebuild I&#8217;ve been working on. Not a better translation step. A different pipeline entirely: </p>
      <p>
          <a href="/__u/juliadiez.substack.com/p/we-dont-need-a-better-tms">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[You Don’t Need to “Know Terminal” to Start ]]></title><description><![CDATA[You Just Need a Dozen Commands]]></description><link>https://juliadiez.substack.com/p/you-dont-need-to-know-terminal-to</link><guid isPermaLink="false">https://juliadiez.substack.com/p/you-dont-need-to-know-terminal-to</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sat, 08 Aug 2026 20:43:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!R_rb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A lot of people who&#8217;d otherwise love using Claude Code never open it. Just because right before it, there&#8217;s a black window with a blinking cursor and no menus, no icons, no &#8220;Undo&#8221; button in sight, and that&#8217;s enough to make most people quietly close the app and go back to what they know.</p><p>Terminal looks like it was built for people who already know what they&#8217;re doing. But the truth is almost the opposite: the terminal only feels like the deep end because nobody showed you where the shallow end is. You don&#8217;t need to memorize hundreds of commands. You need a small, fixed set, and you can learn all of it in one sitting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!R_rb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png 424w, /__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png 848w, /__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png 1272w, /__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!R_rb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png" width="1278" height="729" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:729,&quot;width&quot;:1278,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27516,&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://juliadiez.substack.com/i/210391361?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png 424w, /__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png 848w, /__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.png 1272w, /__u/substackcdn.com/image/fetch/$s_!R_rb!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4f0cec6-b6a3-4628-9799-0561b9d581fd_1278x729.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><h3>Part 1: Finding out where you are</h3><p>pwd &#8212; &#8220;print working directory.&#8221; Every terminal session drops you somewhere on your computer, and you can&#8217;t always tell where just by looking. Typing pwd prints your exact location, e.g. /Users/yourname. That&#8217;s your home folder &#8212; where nearly every session begins.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!HS-0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 424w, /__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 848w, /__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!HS-0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png" width="661" height="176" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:176,&quot;width&quot;:661,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24630,&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;:false,&quot;internalRedirect&quot;:&quot;https://juliadiez.substack.com/i/210391361?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 424w, /__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 848w, /__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 1272w, /__u/substackcdn.com/image/fetch/$s_!HS-0!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2e3f9030-ffaa-4803-8350-ce3fd74147fd_661x176.png 1456w" sizes="100vw"></picture><div></div></div></a></figure></div><p>ls &#8212; lists everything in your current folder, files and subfolders together. Add the -F flag (ls -F) and it labels folders with a trailing /, so you can tell at a glance what you can move into versus what&#8217;s just a file. This one flag &#8212; a modifier tacked onto a command with a dash &#8212; is your first taste of a pattern you&#8217;ll see everywhere: command -flag.</p><h3>Part 2: Moving around</h3><p>cd foldername &#8212; &#8220;change directory.&#8221; cd Documents moves you into Documents; run pwd again and you&#8217;ll see your location updated. Notice your prompt itself changes too &#8212; most terminals show your current folder right there, so you rarely even need to ask pwd twice.</p><p>cd .. &#8212; two dots mean &#8220;the folder that contains this one.&#8221; It&#8217;s your reverse gear.</p><p>cd alone, or cd ~ &#8212; teleports you straight back home from anywhere, no matter how deep you&#8217;ve wandered.</p><p>One thing worth naming explicitly here: Documents in cd Documents is a relative path &#8212; relative to wherever you currently are. /Users/yourname/Documents is an absolute path &#8212; it works no matter where you&#8217;re standing, because it starts from the very top (/). Both work with cd; absolute paths are just more reliable when you&#8217;re not sure where you currently are.</p><h3>Part 3: Making and organizing things</h3><p>mkdir foldername &#8212; creates a new, empty folder. This is the first moment the terminal stops being read-only for you &#8212; you&#8217;re not just looking around anymore, you&#8217;re changing things.</p><p>touch filename.txt &#8212; creates a new, empty file. Handy for quickly making a file to edit later, or for testing that a command worked.</p><p>cp source destination &#8212; copies a file. cp notes.txt notes_backup.txt makes a duplicate in the same folder; cp notes.txt Documents/ copies it into another folder.</p><p>mv source destination &#8212; moves a file, and it&#8217;s also how you rename things, since &#8220;move it to a new name in the same place&#8221; and &#8220;rename it&#8221; are the same operation to a computer. mv notes.txt Documents/notes.txt moves it; mv notes.txt final_notes.txt renames it.</p><p>rm filename &#8212; deletes a file. This is the one command on this whole list that deserves real caution: there&#8217;s no Trash, no &#8220;Are you sure?&#8221;, no Undo. Deleted from the terminal means gone. Never run rm on something you haven&#8217;t double-checked with ls first, and be especially careful with rm -rf (which deletes folders and everything inside them, forcefully) &#8212; that combination is infamous for a reason. If you&#8217;re ever unsure, don&#8217;t run it.</p><h3>Part 4: Looking inside things</h3><p>cat filename &#8212; prints a file&#8217;s entire contents straight into your terminal. Great for quickly checking what&#8217;s inside a small file (like a .json or .txt) without opening an app.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!XQOw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png 424w, /__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png 848w, /__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png 1272w, /__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!XQOw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png" width="594" height="412" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:412,&quot;width&quot;:594,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:72436,&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://juliadiez.substack.com/i/210391361?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png 424w, /__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png 848w, /__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.png 1272w, /__u/substackcdn.com/image/fetch/$s_!XQOw!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c08c8-b4f5-4e74-b25f-01f63c857e7e_594x412.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>clear &#8212; wipes your terminal screen so you&#8217;re looking at a clean slate. Doesn&#8217;t undo anything you&#8217;ve done &#8212; just clears the visual clutter.</p><h3>Part 5: The habits that make everything faster</h3><p>Tab completion. Start typing a file or folder name and hit the Tab key &#8212; the terminal will try to finish it for you. This alone eliminates most typos and is the single biggest quality-of-life habit to build early.</p><p>The up arrow. Pressing &#8593; c</p><p>man commandname (or commandname --help) &#8212; pulls up the manual for any command, listing every flag it accepts. When you forget what ls -F does, or want to know what other flags exist, this is where you ask the terminal instead of the internet.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!lVTy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png 424w, /__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png 848w, /__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!lVTy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png" width="686" height="707" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:707,&quot;width&quot;:686,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:108699,&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://juliadiez.substack.com/i/210391361?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png 424w, /__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png 848w, /__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lVTy!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7c1a23-6135-41c1-b41e-54a9183d67dc_686x707.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>open filename or open . (Mac-specific) &#8212; opens a file or folder in its normal graphical app, or opens the current folder in Finder with open .. This is a nice bridge command: it lets you jump from the terminal back into the visual world you already know.</p><h2>Why any of this matters for Claude Code</h2><p>Claude Code lives in this exact window. When it talks about &#8220;your current directory,&#8221; references a file by path, or asks you to run something, it&#8217;s speaking in the vocabulary above &#8212; pwd, ls, cd, cp, mv, rm, absolute vs. relative paths. None of that is Claude-specific knowledge; it&#8217;s just how every terminal on every computer has worked for decades. Once these dozen or so commands are reflexes instead of a foreign language, the fear of the blank prompt disappears &#8212; and what&#8217;s left is just a fast, precise way of telling your computer exactly what you want.</p><p>The secret is that professional developers don&#8217;t have some vastly bigger toolkit running in their heads at all times either. They&#8217;ve built up this same small set of reflexes over years, one command at a time &#8212; the exact way you just did in one sitting. The blinking cursor isn&#8217;t hiding complexity from you. It&#8217;s just waiting for you to type the next thing you already know.</p><p>More on Claude Code:</p><p>[<a href="/__u/juliadiez.substack.com/p/claude-code-a-super-simple-guide?utm_source=publication-search">Claude Code: A super simple guide</a>] </p><p>[<a href="/__u/juliadiez.substack.com/p/practice-makes-claude-perfect-a-non?utm_source=publication-search">Practice Makes Claude Perfect</a>] </p><p>[<a href="/__u/juliadiez.substack.com/p/claude-code-for-the-pros?utm_source=publication-search">Claude Code, for the pros</a>]</p>]]></content:encoded></item><item><title><![CDATA[The Localization Industry Was Built for a World That’s Already Over]]></title><description><![CDATA[Let&#8217;s say it out loud]]></description><link>https://juliadiez.substack.com/p/the-localization-industry-was-built</link><guid isPermaLink="false">https://juliadiez.substack.com/p/the-localization-industry-was-built</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Thu, 06 Aug 2026 09:06:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5C3x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every process you&#8217;ve ever fought with &#8212; the vendor chain, the export queue, the QA checklist, the six-week release cycle for nine languages &#8212; none of it was stupid. It was armor. Built plate by plate, for thirty years, against one enemy: translation was slow, translation was expensive, and humans could only do so much of it.</p><p>That enemy is dead. Most of the industry hasn&#8217;t noticed yet.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5C3x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png 424w, /__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png 848w, /__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5C3x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png" width="1342" height="779" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:779,&quot;width&quot;:1342,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30025,&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://juliadiez.substack.com/i/210045855?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png 424w, /__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png 848w, /__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5C3x!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F489a5480-5999-47cf-b3d6-618e125f67ea_1342x779.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>Origin story</h2><p>Xerox PARC. A linguist named Martin Kay writes a paper nobody outside computational linguistics reads at the time, arguing translators shouldn&#8217;t waste their genius on the mechanical parts of the job &#8212; let the machine hold the boring half, let the human keep the art. Ahead of its time by about forty years.</p><p>The 1980s try to build it and mostly fail. Too early. The hardware isn&#8217;t there.</p><p>Early &#8216;90s: it works. IBM, Star, Eurolang, Trados &#8212; four systems land almost simultaneously, and suddenly a translator&#8217;s past decisions live in a database instead of a filing cabinet. Translation memory is born, and it is genuinely brilliant, because it solves the actual bottleneck of its era: human translation is the scarce resource, so stop burning it on a sentence you&#8217;ve already paid to translate once.</p><p>Everything after that is armor stacking on armor.</p><p>LISA. GALA. TMS platforms. The 2005 shockwave &#8212; SDL swallows Trados, Lionbridge swallows Bowne &#8212; and an entire generation of language service providers gets built on the logic of the vendor chain: client, LSP, subcontractor, freelancer, each layer adding coordination because the actual translation work upstream was too precious to risk. String-key extraction, so content could leave the product and land in a spreadsheet or a workbench a translator could actually work. QA gates built to catch placeholder bugs and broken variables &#8212; not because &#8220;does this feel natural&#8221; didn&#8217;t matter, but because nobody building the QA process had the AI-era luxury of asking that question at scale.</p><p>Every piece of it was the correct answer to: translation is slow and expensive, protect it.</p><h2>The enemy is gone</h2><p>LLMs didn&#8217;t improve translation. They deleted the bottleneck the entire industry was built around.</p><p>And once that bottleneck is gone, the whole cathedral of process stops making sense. Because it was built to defend a resource that isn&#8217;t scarce anymore.</p><p>Here&#8217;s the part I actually believe:</p><p>The moment English content lands in the repo, it should already exist in every target locale. Not &#8220;queued for translation.&#8221; Not &#8220;scheduled for the next localization sprint.&#8221; Exists. Same commit. Same CI run. English merges, and German, Japanese, Brazilian Portuguese, Spanish are already sitting there, correct, on merge.</p><p>That is not science fiction. The pieces exist right now:</p><ul><li><p>An LLM that can read the string, the surrounding UI (hello Figma MCP), the screenshot, the design tokens &#8212; and generate a first-pass translation that&#8217;s already context-aware, because it isn&#8217;t working from an isolated string in a spreadsheet the way a human translator was forced to for thirty years.</p></li><li><p>A semantic governance layer sitting above generation &#8212; not a QA gate that catches mistakes after the fact, but a constraint the AI has to satisfy while it&#8217;s writing. This is the part the old model never had a mechanism for, because TM only ever knew how to enforce &#8220;same source string, same target string.&#8221; It had no concept of market.</p></li><li><p>Market definitions &#8212; real, structured, computable market definitions &#8212; that tell the system: in this locale, this concept takes this term, this tone, this register, and this is the one that&#8217;s explicitly forbidden. Not a style guide a human reads once and half-remembers. A layer the AI is generating inside of, every single time.</p></li></ul><p>Put those three things together and you don&#8217;t have &#8220;faster localization.&#8221; You have localization that isn&#8217;t a separate process anymore. It&#8217;s a property of the build.</p><h2>What actually dies</h2><p>Let&#8217;s be precise about what&#8217;s getting killed here, because it isn&#8217;t the linguist.</p><p>It&#8217;s the process. And this industry has one very reliable move: every time it hits a problem, it doesn&#8217;t remove a step, it adds one. A CMS to hold the content. A QA check to police the CMS. A vendor to manage the QA check. A product manager to manage the vendor. Extract, export, assign, translate, review, import &#8212; and now a Slack channel and a spreadsheet and a status meeting to manage all of it. Thirty years of that instinct, stacked on itself, is the &#8220;ecosystem&#8221; this industry calls normal. That&#8217;s what&#8217;s getting killed. Not the linguist. The tower of process built on top of them.</p><h2>The linguist&#8217;s eyes move. The linguist doesn&#8217;t disappear.</h2><p>What doesn&#8217;t survive: a linguist spending their day converting English sentences into Spanish sentences, one string at a time, in a tool that shows them a segment and nothing else.</p><p>Here&#8217;s what does: a linguist who curates the knowledge graph the model actually grounds itself in. That&#8217;s the real job now &#8212; not translating, <em>teaching</em>. Feeding the semantic layer the concepts, the distinctions, the &#8220;this word, not that word, in this market&#8221; judgment calls that no amount of scraped web text hands a model on its own. The linguist becomes the person who builds and maintains the thing the AI is constrained by, instead of being the thing the process grinds through.</p><p>And past that &#8212; this is the endpoint I actually want &#8212; translation as an act mostly disappears from a linguist&#8217;s day entirely. What&#8217;s left is better work: sitting with the real product, in the real market, checking whether the actual artifact &#8212; not a string in a spreadsheet, the actual screen a real user in Tokyo or S&#227;o Paulo is going to tap &#8212; genuinely lands. Writing and refining the market definitions themselves, the guidelines the whole system runs on, so the semantic layer gets sharper every cycle instead of sitting there static.</p><p>That&#8217;s not de-skilling the linguist. That&#8217;s finally letting them do the part of the job that was always the real expertise, instead of the part a database lookup could do faster.</p><p>The industry didn&#8217;t get it wrong for thirty years. It got it exactly right, for thirty years, for a world where fluent translation was the scarce, expensive thing.</p><p>That world ended. The content should know it the second it hits the repo.</p>]]></content:encoded></item><item><title><![CDATA[Stop Collecting Words. Start Curating Concepts.]]></title><description><![CDATA[Why the best termbases are small, and how to decide what earns a place in yours]]></description><link>https://juliadiez.substack.com/p/stop-collecting-words-start-curating</link><guid isPermaLink="false">https://juliadiez.substack.com/p/stop-collecting-words-start-curating</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Tue, 21 Jul 2026 16:56:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!-5hg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most terminology projects fail the same way: someone opens a spreadsheet, starts dumping in every word that looks vaguely technical, and six months later has a 4,000-row database nobody trusts and nobody uses. The problem is orientation.</p><p>Good terminology work is <em>concept-oriented</em>, not word-oriented. You&#8217;re not building a glossary of vocabulary. You&#8217;re building a map of the ideas your organization needs to name consistently, and then attaching the right labels to them. That shift, from words to concepts, is the whole game.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!-5hg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png 424w, /__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png 848w, /__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!-5hg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png" width="1330" height="778" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:778,&quot;width&quot;:1330,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28977,&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://juliadiez.substack.com/i/207921412?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png 424w, /__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png 848w, /__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.png 1272w, /__u/substackcdn.com/image/fetch/$s_!-5hg!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc2da2dc-1e90-4d78-a573-3af31a48d44f_1330x778.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>The concept comes first</h2><p>Here&#8217;s the discipline that separates a termbase from a word list: <strong>define the idea before you name it.</strong></p><p>A concept is a unit of knowledge &#8212; an abstract thing your field or company cares about &#8212; that exists independently of whatever word you happen to use for it. &#8220;The rotating component that transfers torque from the motor&#8221; is a concept. <em>Shaft</em>, <em>spindle</em>, <em>drive rod</em> are terms that might point to it. When you lead with the concept, you can see immediately whether three words are three ideas or one idea with a naming problem. Lead with the words and you&#8217;ll never notice the difference.</p><p>This is also why quality beats quantity every time. A tight set of well-researched concepts, each clearly defined and validated, does more work than a bloated database padded with generic, redundant, or self-evident entries. Nobody needs &#8220;computer&#8221; in the termbase. They need the twelve concepts your industry argues about.</p><h2>What actually belongs in a termbase</h2><p>Not every word earns a spot. Target the units of knowledge where precision is mandatory and ambiguity is expensive:</p><ul><li><p><strong>Technical terms</strong> specific to your domain, where a wrong synonym causes real errors.</p></li><li><p><strong>Core product names</strong> and feature names that must stay identical everywhere.</p></li><li><p><strong>Brand identifiers</strong> &#8212; trademarked phrases, taglines, names with legal or stylistic weight.</p></li><li><p><strong>Industry jargon</strong> where your usage differs from a competitor&#8217;s or the general meaning.</p></li></ul><p>If a word is everyday language used in the everyday way, leave it out. It&#8217;s noise.</p><h2>Selecting concepts, step by step</h2><p><strong>1. Audit existing content.</strong> Go through manuals, string files, product guides, help docs, and marketing assets and hunt for the places where terms drift &#8212; where the same thing gets three names, or one name covers three things. Those friction points are your candidate list. You&#8217;re not inventing concepts; you&#8217;re catching the ones already causing confusion.</p><p><strong>2. Isolate high-value targets.</strong> From that list, prioritize ruthlessly: trademarked phrases, interface labels, and the recurring technical pain points that generate support tickets and translation queries. High risk plus high frequency equals high value.</p><p><strong>3. Map relationships.</strong> A concept doesn&#8217;t live alone. Place it in a structure &#8212; what&#8217;s the broader category above it, the narrower types below it, the concepts it&#8217;s often confused with? This is what makes a termbase a knowledge system instead of a flat list, and it&#8217;s how you catch gaps and overlaps you&#8217;d otherwise miss.</p><p><strong>4. Consult your experts.</strong> Bring in the internal subject-matter experts to confirm each concept is genuinely distinct, actually necessary, and accurately defined. They&#8217;ll tell you when two of your &#8220;concepts&#8221; are the same thing, or when the definition you wrote is subtly wrong. This validation is what earns the termbase its authority.</p><h2>Does this concept actually deserve an entry?</h2><p>Auditing and prioritizing hands you a pile of candidates. The next job is the one people skip: deciding which of them are real. Most candidates fail at least one of these tests, and that&#8217;s fine &#8212; <strong>the goal is a termbase you can trust, not a big one.</strong> Run each candidate through the following filters, roughly in order.</p><p><strong>Uniqueness &#8212; is this a distinct concept, or a duplicate wearing a different coat?</strong> This is the first and most important gate. Before anything enters, check whether the concept already exists under another label. If two candidate terms point at the same unit of knowledge, you don&#8217;t have two entries &#8212; you have one concept with a synonym problem, and the fix is to record both terms <em>under the single concept</em>, not to create a second entry. The failure mode here is subtle: near-synonyms that feel different but denote the same idea. If you can&#8217;t articulate a real difference in meaning, there isn&#8217;t one.</p><p><strong>Distinctiveness &#8212; can it be told apart from its neighbors?</strong> Uniqueness asks &#8220;is this a duplicate?&#8221;; distinctiveness asks &#8220;does it have a clean boundary?&#8221; A concept earns its place only if you can draw a line between it and the adjacent concepts it&#8217;s easily confused with. If every attempt to define it bleeds into the concept next door, either the boundary is real and you haven&#8217;t found it yet, or the two aren&#8217;t actually separate. This is exactly what mapping relationships surfaces &#8212; the confusable pairs jump out once concepts sit next to each other.</p><p><strong>Necessity &#8212; does getting this wrong cost anything?</strong> A concept can be perfectly unique and still not worth an entry. Ask what breaks if it&#8217;s absent: does a translator guess, a support ticket get filed, a legal risk appear, a product string mismatch the UI? If nothing breaks, it&#8217;s a definition in search of a problem. Consistency only matters where inconsistency has a price.</p><p><strong>Stability &#8212; is the meaning settled enough to pin down?</strong> If a concept is still being actively argued over internally, an entry freezes a fight rather than resolving it. Either wait for the meaning to settle, or record it explicitly as provisional so nobody treats a moving target as fixed.</p><p><strong>Reusability &#8212; will this come up again?</strong> Terminology work pays off through repetition. A concept that appears once, in one document, rarely justifies a permanent entry. Recurrence across content, products, or languages is what turns a word into an asset worth governing.</p><p>A quick way to hold all of this together: a candidate belongs in the termbase when it is <strong>unique</strong> (not already there under another name), <strong>distinct</strong> (cleanly bounded against its neighbors), <strong>necessary</strong> (costly to get wrong), <strong>stable</strong> (settled enough to define), and <strong>recurring</strong> (worth the upkeep). Miss uniqueness or necessity and the entry is usually noise. Everything else can often be fixed with better definition work rather than rejection.</p><h2>Writing a definition people will actually trust</h2><p>A definition isn&#8217;t a dictionary gloss. Its job is to pin down exactly this concept and distinguish it from every neighbor. A few rules that hold up:</p><ul><li><p><strong>Define the concept, not the word.</strong> Describe the idea, not the grammar of the label.</p></li><li><p><strong>Use the genus-and-difference shape:</strong> state the broader category it belongs to, then the feature that sets it apart from siblings in that category. &#8220;A [broader thing] that [distinguishing feature].&#8221; This single pattern prevents most bad definitions.</p></li><li><p><strong>Don&#8217;t be circular.</strong> A definition that reuses the term to define the term explains nothing.</p></li><li><p><strong>One concept, one definition.</strong> If you need &#8220;or&#8221; to hold your definition together, you probably have two concepts.</p></li><li><p><strong>Match the scope to your domain.</strong> Define the concept as your field uses it, not in the fullest possible abstract sense.</p></li></ul><p>A good test: hand the definition to someone and see if they can tell your concept apart from the one next to it. If they can&#8217;t, tighten it.</p><h2>A term approval workflow that won&#8217;t collapse</h2><p>A termbase is only as trustworthy as the process that lets entries in. Keep the workflow light enough that people follow it and strict enough that it means something. A workable path from proposal to production:</p><ol><li><p><strong>Propose.</strong> Anyone can nominate a concept &#8212; flagging where confusion showed up and offering a draft term and definition. Low friction here keeps the pipeline fed.</p></li><li><p><strong>Research.</strong> A terminologist checks whether the concept already exists under another label, gathers real usage from your content, and drafts or refines the definition and any relationships.</p></li><li><p><strong>Validate.</strong> A subject-matter expert confirms the concept is distinct, necessary, and correctly defined. This is the technical gate.</p></li><li><p><strong>Approve.</strong> A designated owner gives the entry its status. Until this step it&#8217;s a <em>candidate</em>, not a term to be used.</p></li><li><p><strong>Publish.</strong> The approved entry goes live to writers, translators, and tools &#8212; with its status clearly marked so everyone knows it&#8217;s binding.</p></li><li><p><strong>Review.</strong> Set a cadence to revisit entries. Products change, meanings drift, and a term that was right last year can quietly go stale.</p></li></ol><p>The key idea is <strong>status, not just presence.</strong> Every entry should carry a state &#8212; proposed, under review, approved, deprecated &#8212; so people know what they&#8217;re looking at. A term in the database isn&#8217;t automatically a term you should use; only an approved one is. That single distinction is what keeps a growing termbase from rotting back into the word-dump you were trying to avoid.</p><div><hr></div><p>Terminology management, done right, is the deliberate curation of the concepts your organization can&#8217;t afford to get wrong, defined once, agreed on by the people who know, and governed by a process everyone trusts. Start with the idea. The words follow.</p>]]></content:encoded></item><item><title><![CDATA[Volver]]></title><description><![CDATA[Every summer I go home and file bugs against myself]]></description><link>https://juliadiez.substack.com/p/volver</link><guid isPermaLink="false">https://juliadiez.substack.com/p/volver</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Tue, 07 Jul 2026 22:53:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2YMe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Every summer I fly back to Spain and perform the same small miracle: I become fluent again.</p><p>I never stopped being fluent in Spanish. Fluent in everything else. The timing of dinner. The volume of a normal conversation. The correct number of kisses. The knowledge that when someone says <em>ahora</em> they mean sometime before nightfall, probably. For eleven months of the year I run all of this through a translation layer. Then I land, and the layer switches off, and for about forty-eight hours the relief is physical. Nobody here asks me to repeat myself. My jokes land at native latency.</p><p>This is the part of the expat return that everyone writes about, so I&#8217;ll keep it short: yes, it feels like taking off shoes that were half a size too small. You didn&#8217;t even know they were too small. That&#8217;s the trick of living abroad, the discomfort is so constant it stops registering as discomfort and starts registering as personality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!2YMe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!2YMe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg" width="992" height="558" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:558,&quot;width&quot;:992,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96904,&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://juliadiez.substack.com/i/205965270?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!2YMe!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4cc6cf1-3d60-412f-affa-3944c59f1f58_992x558.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>The part people write about less is day three.</p><p>Day three is when I catch myself getting annoyed at things I grew up inside of. The bureaucratic phone call that requires three transfers and ends with &#8220;you have to come in person.&#8221; The dinner that starts at ten and the opinions about my life that arrive unrequested. The noise &#8212; my God, the noise. I used to <em>be</em> this noise. Now some Nordic firmware I didn&#8217;t consent to installing flags it as a violation.</p><p>The annoyance isn&#8217;t really at Spain. It&#8217;s at the discovery that I&#8217;ve changed without signing off on the change. Somewhere between Copenhaguen and Cork, a committee I was never invited to rewrote parts of my defaults. I only find out which parts when I come home and they throw errors.</p><h2>The verb gives it away</h2><p><em>Volver</em> doesn&#8217;t actually mean &#8220;to return.&#8221; Or rather, it does, but that&#8217;s not what the verb is doing underneath. <em>Volver</em> comes from the Latin <em>volvere</em> &#8212; to turn, to roll, to revolve. It&#8217;s the same root as <em>revolver</em> and <em>vuelta</em>. The English &#8220;return&#8221; pretends you can go back along the same line you left on. The Spanish verb is more honest: you come back <em>turned</em>. Rotated some number of degrees. Same coordinates, different orientation.</p><p>Gardel&#8217;s tango insists that twenty years is nothing. Twenty years is not nothing. Neither is eleven. The tango is beautiful precisely because it&#8217;s wrong.</p><p>So every summer <em>vuelvo</em> and I am slightly rotated, and Spain has rotated too, new slang I have to reverse-engineer from context, prices I gasp at like a tourist, a political conversation whose reference points I&#8217;ve half lost. We are two systems that keep drifting apart between syncs, and once a year we attempt to merge, and there are always conflicts, and some of them can&#8217;t be resolved automatically.</p><h2>Where are we supposed to belong?</h2><p>The standard answers to this question are all cope, and I&#8217;ve tried them all.</p><p><strong>&#8220;You belong in both places.&#8221;</strong> No. Belonging isn&#8217;t additive. In Ireland I&#8217;m the Spanish one; in Spain I&#8217;m the one who left. Both labels are affectionate and both are a door held politely ajar rather than open.</p><p><strong>&#8220;You belong nowhere, and that&#8217;s freedom.&#8221;</strong> This one is popular with people who&#8217;ve been abroad for two years and still find it romantic. Ask again at year ten, in February.</p><p><strong>&#8220;Home is a feeling, not a place.&#8221;</strong> Home is very much a place. That&#8217;s the whole problem. If it were only a feeling, I could carry it through customs.</p><p>The answer, I think, is that &#8220;belonging&#8221; is not a location property at all. It&#8217;s a compatibility question, and compatibility degrades. Every year abroad, you patch yourself against a different environment. Every patch makes you run better <em>there</em> and slightly worse <em>here</em>. There&#8217;s no version of you that runs natively on both systems anymore. There hasn&#8217;t been for years. The summer visit is just the annual test that confirms it.</p><p>This sounds bleak and I don&#8217;t experience it as bleak. What I&#8217;ve stopped doing is treating the incompatibility as a bug to fix, as if with enough visits, enough effort, enough <em>authentic reconnection with my roots</em>, I could reconcile the branches. I can&#8217;t. The fork happened the day I left. Everything since is divergent history.</p>]]></content:encoded></item><item><title><![CDATA[The AI Fluency Tell]]></title><description><![CDATA[Why your job title stopped being a useful predictor of anything]]></description><link>https://juliadiez.substack.com/p/the-ai-fluency-tell</link><guid isPermaLink="false">https://juliadiez.substack.com/p/the-ai-fluency-tell</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Fri, 19 Jun 2026 19:05:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4hZ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In every project kickoff there is a moment where the truth comes out.</p><p>It comes out about eleven minutes in, when someone has to actually do something with the tools in front of them.</p><p>Suddenly the &#8220;Head of Global Innovation Strategy&#8221; is squinting at a prompt box like it just insulted their family. Meanwhile the person whose title is just &#8220;Localization QA, Tuesdays&#8221; is quietly shipping three iterations before lunch and has already caught two hallucinated product names.</p><p>This is the tell. Not the title.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4hZ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png 424w, /__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png 848w, /__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4hZ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png" width="1234" height="705" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:705,&quot;width&quot;:1234,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:21205,&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://juliadiez.substack.com/i/202758890?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png 424w, /__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png 848w, /__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4hZ2!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55353a00-fcef-4d58-8b06-d1be32f2adaa_1234x705.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><p><strong>Titles describe where you sat. Fluency describes what you can move.</strong></p><p>A title is a snapshot of a negotiation that happened in the past, what HR could approve that quarter, what budget existed, what sounded impressive in a board deck next to a stock photo of a handshake. It tells you almost nothing about whether someone can take a messy, ambiguous problem and actually push it forward today, with the tools that exist today.</p><p>AI fluency is brutally current. It can&#8217;t be inherited from a past role. It can&#8217;t be implied by seniority. You either know how to decompose a problem into something a model can chew on, or you don&#8217;t. You either understand <em>why</em> your output is mediocre and can fix it, or you blame the model and move on to complaining about it in a meeting.</p><p><strong>Let&#8217;s name names. Job-shaped names, anyway.</strong></p><p><em>The Senior Program Manager</em> whose entire value proposition was translating between teams who couldn&#8217;t otherwise talk to each other. Except now the engineer can just ask the model to explain the API in plain English, and the designer can ask it to explain the constraint in design terms, and suddenly the translation layer that justified the title isn&#8217;t load-bearing anymore. The PM who survives this is the one who became a translator of <em>judgment</em>, not just vocabulary.</p><p><em>The &#8220;10 Years of Experience&#8221; Localization Manager</em> who still reviews machine translation output the same way they reviewed it in 2014 &#8212; string by string, with the same checklist, completely unaware that the failure modes have changed entirely. Ten years of experience doing the wrong review process is not experience. It&#8217;s repetition with a tenure bonus.</p><p><em>The Marketing Director</em> who insists every piece of AI-assisted copy gets &#8220;a human touch&#8221; pass, but can&#8217;t actually articulate what that means beyond &#8220;make it sound less robotic&#8221; &#8212; because they&#8217;ve never sat down and learned <em>why</em> AI copy sounds the way it does, what specifically to fix, or how to prompt their way around it in the first place. The human touch becomes a vague tax on the workflow instead of an actual skill.</p><p><em>The Engineering Lead</em> who bans AI tools company-wide after one bad experience with a hallucinated dependency, instead of doing the much harder, much less title-flattering work of teaching the team <em>how</em> to verify output. Banning the tool protects the lead from ever having to admit they don&#8217;t know how to use it well themselves.</p><p>None of these are bad people. Most of them are smart, capable, hardworking. But the title was never the thing keeping the work moving, and now that the tools have changed, the gap between &#8220;what the title implies&#8221; and &#8220;what the person can actually produce, today, in front of you&#8221; has never been more visible, or more uncomfortable.</p><p><strong>The fluency tell shows up in specific, almost embarrassing ways.</strong></p><p>None of this shows up on a resume. All of it shows up in the first real working session, which is exactly why so many people are quietly terrified of working sessions becoming the new interview.</p><p><strong>Smart companies have started noticing this. </strong></p><p>A &#8220;Director&#8221; who needs forty-five minutes and three Slack messages to get a usable first draft is not actually more valuable than the person two levels below them who gets there in four minutes flat, and knows <em>exactly</em> why it&#8217;s good, and can explain the one part that still needs a human eye.</p><p>Impact doesn&#8217;t scale with title. It scales with how fast someone can move from &#8220;I have a vague, annoying problem&#8221; to &#8220;I have a real, working answer,&#8221; and how much judgment they apply in between. The title was supposed to be a proxy for that. It increasingly isn&#8217;t. The grandiloquence stayed; the correlation didn&#8217;t.</p><p><strong>So what&#8217;s the actual signal?</strong></p><p>Not &#8220;have they used AI.&#8221; Everyone&#8217;s used AI. Even your uncle who still calls it &#8220;the chatbot&#8221; and asks it to write his out-of-office message has used AI.</p><p>The signal is whether they&#8217;ve developed <em>taste</em>, whether they can tell good output from confident-sounding garbage, whether they&#8217;ve built an actual mental model of where these tools are strong and where they quietly fall apart, and whether they&#8217;re getting <em>faster and better</em> over time, or just running the same shallow prompt pattern on repeat since last March because it worked once and nobody made them improve.</p><p>That&#8217;s not a credential. It&#8217;s a practiced skill, accumulating in real time, completely indifferent to what your business card says, or how many words are on it.</p><p>The companies that figure this out first get an unfair advantage: they start promoting and hiring on demonstrated movement instead of declared seniority. The ones that don&#8217;t will keep being quietly baffled about why their &#8220;leadership&#8221; can&#8217;t move at the speed their juniors already do, and will keep mistaking the confusion for a tooling problem, instead of the org-chart problem it actually is.</p>]]></content:encoded></item><item><title><![CDATA[I’ve been staring at a Databricks dashboard for three hours and I think we’ve all been lying to ourselves]]></title><description><![CDATA[The locale your product is serving is probably wrong.]]></description><link>https://juliadiez.substack.com/p/ive-been-staring-at-a-databricks</link><guid isPermaLink="false">https://juliadiez.substack.com/p/ive-been-staring-at-a-databricks</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Thu, 11 Jun 2026 09:09:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JnZl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It started with a query. Three fields. <code>device_os_locale</code>. <code>device_country_code</code>. <code>product_culture_id</code>. A join, a group by, a count. The kind of thing you run to check a box, to confirm what you already know, to move on to the next task.</p><p>I didn&#8217;t move on.</p><p>There&#8217;s a particular feeling &#8212; I don&#8217;t have a word for it in English, though Spanish gets closer with <em>desasosiego</em> &#8212; when data shows you something that retroactively makes every decision of the past five years look slightly absurd. Not wrong, exactly. Just built on a ground that turned out to be thinner than anyone thought.</p><p>That&#8217;s where I&#8217;ve been sitting tonight.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!JnZl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png 424w, /__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png 848w, /__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!JnZl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png" width="1148" height="746" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:746,&quot;width&quot;:1148,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:26357,&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://juliadiez.substack.com/i/201569650?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png 424w, /__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png 848w, /__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.png 1272w, /__u/substackcdn.com/image/fetch/$s_!JnZl!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc3f34128-2060-4ef5-aa73-d4c8560ba02a_1148x746.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/p/ive-been-staring-at-a-databricks?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/p/ive-been-staring-at-a-databricks?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><div><hr></div><p>The OS locale of a device is, in a very literal sense, the language a person chose for themselves. Not the country their IP resolves to. Not the market their purchase was attributed to. Not the region their billing address sits in. The language they picked, deliberately, when they set up their device. The language in which they read system notifications and error messages and the little tooltip that appears when they hover over a button.</p><p>It is the closest thing software has to a person saying: <em>this is how I move through the world.</em></p><p>And most localization strategies have never looked at it.</p><div><hr></div><p>So let me tell you what I found when I did.</p><p><strong>Nearly half of devices in Latin America are running es-ES. Spain Spanish. Not es-MX, not es-419, not any of the regional variants that localization programs spend considerable energy debating. The Spain locale. Set on a device in Mexico City or Bogot&#225; or Lima.</strong></p><p>Sit with that for a moment.</p><p>We&#8217;ve been having very sophisticated conversations about the linguistic differences between es-ES and es-MX &#8212; the <em>vosotros</em> that nobody uses in Latin America, the vocabulary gaps, the register differences, the eternal debate about whether <em>ordenador</em> or <em>computadora</em> is the right call for a given market. And meanwhile, a substantial portion of the users we&#8217;re serving in those markets have a device that told our product: Spain.</p><p>The causes are not mysterious once you look for them. They&#8217;re just invisible until you do.</p><p>Android, for most of its history, shipped with a single Spanish variant in its OS settings. One Spanish. If you were a user in Colombia setting up an Android device five years ago, you didn&#8217;t choose es-ES because you felt an affinity for Castilian Spanish. You chose it because it was the only Spanish on the list. The granularity that localization teams take for granted &#8212; the careful distinction between variants &#8212; simply didn&#8217;t exist at the OS level for a large share of the Android install base.</p><p>Then there are the devices that travelled. Europe has been exporting second-hand hardware to Latin America for years &#8212; refurbished phones, repurposed corporate laptops, hand-me-down tablets sent to family. Those devices arrive pre-configured. The locale is already set. The user inherits it, and often never changes it, because changing system language settings is not an obvious action, and there is no moment in most software onboarding flows that invites them to reconsider.</p><p>And then there is simply inertia. A device set up once, in whatever locale was available or defaulted to, persists. Users don&#8217;t audit their OS settings. They live in them.</p><div><hr></div><p>The pattern doesn&#8217;t stop at Spanish.</p><p>India is running en-US at a scale that should make every English-language localization decision uncomfortable. India has hundreds of millions of English-speaking users &#8212; English is a language of education, professional life, upward mobility &#8212; and a significant share of those devices are configured with the American locale. Not en-GB, not en-IN if it exists in their device settings at all. en-US. Because that was the default, or the most available option, or the inherited configuration of a device that passed through someone else&#8217;s hands first.</p><p>The same phenomenon appears across non-native English-speaking markets globally. Devices in Southeast Asia, in the Gulf, in parts of Africa &#8212; running en-US not because the user is American or even particularly oriented toward American cultural norms, but because the OS options were limited, the default was set, and nobody ever asked them to revisit it.</p><div><hr></div><p>Which brings me to the mismatch that actually keeps me up at night.</p><p>When a product ships a culture ID to a device &#8212; the locale it uses to format dates, currencies, sort orders, measurement units &#8212; it typically makes that decision based on either the OS locale signal or an internal market mapping. And when those two things don&#8217;t agree, the product is making a silent choice on behalf of the user. A user whose device says es-ES but who is sitting in Guadalajara is receiving either the Spain configuration or whatever the product&#8217;s fallback logic produces. Either way, something is slightly wrong. And slightly wrong, at 8.6 million devices, is not a small problem.</p><p>So what should the fallback hierarchy actually be?</p><p>The honest answer is that there is no clean one-size answer, and the fact that most products have never interrogated this is part of the problem.</p><p><strong>Device OS locale</strong> is the most intentional signal &#8212; the user chose it, however imperfectly that choice was constructed. It deserves weight. But it is corrupted, at scale, by the structural issues above: limited OS options, inherited device configurations, the Android single-Spanish legacy.</p><p><strong>Product culture ID</strong> based on market/country mapping is a reasonable proxy but it assumes country of deployment equals linguistic context, which the data flatly contradicts.</p><p><strong>IP or country code</strong> is the least reliable of the three for linguistic decisions. It tells you where the device is. It does not tell you what language that person thinks in.</p><p>The most honest solution &#8212; the one that actually respects user agency &#8212; is something most products avoid because it introduces friction: <strong>ask</strong>. An onboarding screen. A language preference step. Not buried in settings, not inferred from a signal the user never knowingly produced, but an explicit moment where the product says: <em>you are in Mexico, your device is set to Spain Spanish &#8212; is that what you want?</em></p><p>That screen would surface something real. It would give users a chance to correct a configuration they may not have known was wrong. It would produce a consent-based locale signal that is worth infinitely more, as a localization input, than any downstream inference.</p><p>The reason it doesn&#8217;t happen more often is that product teams treat language preference as a known variable. The data says it isn&#8217;t. It&#8217;s an assumption that has been compounding, quietly, for years.</p><div><hr></div><p>I&#8217;m a linguist by training. I came to engineering sideways, through localization, through a growing suspicion that the interesting problems were in the infrastructure and not just the strings. And there is something particularly strange about sitting here, at nearly midnight, reading numbers off a screen and feeling the ground shift under five years of accumulated professional certainty.</p><p>Borges wrote about maps that became so detailed they were the same size as the territory they described. We have the opposite problem. Our maps are far too small &#8212; they flatten entire linguistic realities into a single country code, treat a language as if it were a place, confuse the accident of where someone bought a product with the much more intimate fact of what language they think in.</p><p>The data was always there. The query was not complicated. We just never ran it.</p><div><hr></div><p>If you work in localization &#8212; if you make decisions about which locales to support, which variants to maintain, which markets to prioritise &#8212; and you have never had access to OS locale data at the device level, broken down by geography: you are working without your most important instrument.</p><p>Ask for it. Demand it, if you have to. Learn enough SQL to go get it yourself if nobody will give it to you.</p><p>What you find might not be comfortable. That discomfort is information.</p><p>It is, in fact, the most important information you have.</p><div><hr></div><p><em>The AI-Ready Localizer is written by a localization engineer who spends too much time in data pipelines and not enough time sleeping. If any of this resonates, the subscribe button is right there.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Meeting That Decides Everything Before Engineering Writes a Line]]></title><description><![CDATA[And Why Localization Needs a Chair There]]></description><link>https://juliadiez.substack.com/p/the-meeting-that-decides-everything</link><guid isPermaLink="false">https://juliadiez.substack.com/p/the-meeting-that-decides-everything</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sat, 06 Jun 2026 18:45:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xb9b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There is a moment in most product development cycles that is structurally decisive: the design-to-engineering handoff.</p><p>It happens after design has finished mocking something up in Figma, and before an engineer has written a single line of implementation code. It is typically a 60-to-90-minute meeting. It involves a designer, one or two frontend engineers, maybe a product manager. It is not on most people&#8217;s radar. It is, from a localization standpoint, the most important meeting in the entire product lifecycle.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Xb9b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png 424w, /__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png 848w, /__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Xb9b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png" width="1346" height="774" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:774,&quot;width&quot;:1346,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28674,&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://juliadiez.substack.com/i/200922770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png 424w, /__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png 848w, /__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Xb9b!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f44ef1-b160-40b1-941d-d7d7386a97d3_1346x774.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><p>This post is about why that is true, what is changing as AI reshapes the handoff itself, and why any localization leader who is not fighting for a seat in that room is leaving the hardest problems to be discovered too late, at the worst possible cost.</p><div><hr></div><h2>What the handoff actually is</h2><p>To understand why the handoff matters so much for localization, you need to understand what it is trying to accomplish.</p><p>When a designer completes a screen or a component, the artefact they produce &#8212; a Figma frame, a prototype, a spec &#8212; contains decisions that are partially encoded and partially implicit. The layout is explicit. The typography is explicit. What is <em>not</em> explicit is the reasoning behind every constraint: why that button label is two words, why that text container is that width, why that notification string is phrased as a statement rather than a fragment.</p><p>The handoff meeting is where the designer explains the implicit decisions to the engineer. The engineer pushes back on what is technically difficult. Compromises are negotiated. The spec gets annotated. Implementation begins with shared understanding, or at least, with less misunderstanding than would otherwise exist.</p><p>The designer is encoding meaning into a format that the engineer must decode and re-encode in a different medium. Every step in that chain introduces opportunities for something to be lost.</p><div><hr></div><h2>Why the handoff is where localization debt is born</h2><p>Most localization issues that surface in QA, in linguistic sign-off, or worse &#8212; post-launch &#8212; were not created at translation time. They were created at design time and survived through the handoff undetected.</p><p>Here is a non-exhaustive list of what gets hardcoded, inherited, or overlooked in the handoff that later becomes a localization problem:</p><p><strong>String concatenation.</strong> An engineer sees a label like <em>&#8220;Sort by: Relevance&#8221;</em> and builds it as two variables joined at runtime. The colon and the space feel like formatting, not syntax. In many languages, they are syntax &#8212; the word order inverts, the particle changes, the connector is language-specific. Concatenation breaks translation because it assumes the grammar is in the middle.</p><p><strong>Fixed-width containers.</strong> German is 30&#8211;40% longer than English on average. Finnish can be 50&#8211;60% longer. A button that fits <em>&#8220;Continue&#8221;</em> perfectly in an 80px container will truncate <em>&#8220;Weiter&#8221;</em> and fail to render <em>&#8220;Jatka&#8221;</em> entirely. When an engineer builds a fixed-width container because the design shows a fixed-width container, they are not making a mistake &#8212; they are faithfully implementing what was handed to them. The mistake was made when no one in the handoff asked: what happens when this string is twice as long?</p><p><strong>Hardcoded dates, currencies, and units.</strong> Date formats are the most well-known localization failure mode, but they are far from the only one. Number formatting (period vs. comma as decimal separator), currency placement (symbol before or after the amount, with or without space), measurement units &#8212; all of these are frequently left as implementation details, resolved by engineers using whatever defaults their framework provides, which is usually the locale of the developer writing the code.</p><p><strong>Directional assumptions.</strong> RTL is obvious, but it is the visible tip of a much larger iceberg. Directionality affects not just text rendering but icon semantics (a back arrow in Hebrew points right), layout mirroring logic, and animation direction. Designs that are built without RTL consideration pass through handoffs that don&#8217;t flag it because the designer assumed LTR and the engineer implemented what they saw.</p><p><strong>Invisible string decisions.</strong> Truncation behaviour. Placeholder text. Error messages. Toast notifications. Empty states. These are often not fully specified in design. Engineers fill the gaps using whatever seems reasonable. <em>&#8220;No results found&#8221;</em> versus <em>&#8220;No results&#8221;</em> versus <em>&#8220;Nothing here yet&#8221;</em> is not just a copy decision &#8212; it is a translatability decision, because those three strings carry different syntactic structures that do not behave the same way across languages.</p><p><strong>Context starvation.</strong> A string exported as <em>&#8220;Done&#8221;</em> could be a button label, a success state, a column header, or a tooltip. Without context, a translator working in a TMS with no rendering preview is making a probabilistic guess. Engineers and designers both know what <em>&#8220;Done&#8221;</em> refers to. Neither of them thinks to record it, because to them it is obvious. It stops being obvious the moment it crosses a language boundary.</p><p>These are the structural consequence of a handoff process that was designed to transfer knowledge between two disciplines &#8212; design and engineering &#8212; without any representation from the third discipline that will eventually inherit everything they decide.</p><div><hr></div><h2>The cost structure of late discovery</h2><p>There is a reason the phrase <em>&#8220;shift left&#8221;</em> became a clich&#233; in localization. The underlying logic is not complicated: defects are cheaper to fix the earlier they are caught.</p><p>A string that is caught as untranslatable at the handoff stage costs a conversation and a design revision. The same string caught at linguistic QA costs a re-translation, a re-export, a re-import, a re-QA cycle, and potentially a re-build if the fix requires a string key change. The same string caught post-launch costs all of that plus a patch release, plus the reputational cost of shipping broken text to a market you were supposed to be serving.</p><p>The earlier the intervention, the cheaper the remediation, by an order of magnitude at each step.</p><p>The handoff meeting is the last structural moment before a design decision becomes a code decision. Once code exists, inertia sets in. Refactoring is not free. Engineers have moved on to the next ticket. Product has signed off. The cost of changing it escalates immediately upon implementation.</p><p>The localization leader who is not in the handoff is, by definition, operating downstream of the point where most of their future problems are created.</p><div><hr></div><h2>How AI is changing the handoff</h2><p>The design-to-engineering handoff was already evolving before AI entered the picture. Figma&#8217;s introduction of developer mode, auto-layout, and design tokens had already begun to blur the boundary between design artefact and implementation spec. The handoff was shifting from a meeting-centric event to a continuous, tooling-mediated process.</p><p>AI has accelerated this in ways that are simultaneously exciting and alarming from a localization standpoint.</p><p><strong>AI-assisted design generation</strong> means that more screens are being produced, faster, with less human deliberation behind each decision. The output looks polished. The underlying assumptions are invisible. A screen generated from <em>&#8220;create a settings page with notification preferences&#8221;</em> will produce English-length labels, LTR layout, pixel-precise containers, and concatenated strings &#8212; because that is what the training data looks like. The designer who reviews it may not catch what was never flagged.</p><p><strong>Vibe coding</strong> &#8212; the practice of generating frontend implementation directly from design descriptions, often bypassing the traditional handoff entirely &#8212; removes the meeting from the loop altogether. There is no room where someone could have asked the question. The question never gets asked.</p><p><strong>AI code generation tools</strong> like GitHub Copilot and Cursor produce syntactically correct code that implements what the prompt asks for. If the prompt describes a fixed-width container, the code will have a fixed-width container. If the prompt includes a concatenated string, the code will concatenate the string. The AI has no frame of reference for what will happen when that component is handed to a translator in Oslo.</p><p><strong>Design token automation</strong> is one of the more promising developments. When design decisions are encoded as tokens &#8212; including text container sizing, typographic scale, and spacing &#8212; there is at least a structured artefact that a localization system could, in principle, interrogate. But this potential goes mostly unrealised because the tooling that connects design tokens to localization constraints does not yet exist at scale.</p><p><strong>LLM-generated copy</strong> introduces a new category of problem. When an LLM writes UI copy at the design stage, it produces strings that are optimised for English readability. Strings like <em>&#8220;You&#8217;re all caught up!&#8221;</em> or <em>&#8220;Let&#8217;s get you started&#8221;</em> are colloquial, idiomatic, and aggressively untranslatable. They look great in an English mockup. They are a nightmare to localise without losing either the meaning or the tone. And because they were generated quickly and approved quickly, no one stops to assess their downstream cost.</p><p>The net effect of these trends is that the handoff is becoming faster, more automated, more continuous, and more opaque. The window for intervention is narrowing. The volume of decisions passing through that window is increasing.</p><div><hr></div><h2>The localization leader&#8217;s seat at the table</h2><p>In most organisations, the design-to-engineering handoff is attended by: the designer who owns the spec, the frontend engineer who will implement it, and a product manager who is there to maintain coherence with the roadmap. Sometimes a tech lead. Sometimes a QA engineer.</p><p>Localization is not in the room.</p><p>The reason is organisational gravity. Localization is downstream. It is a later-phase function. The assumption is that what happens in the handoff is a design-and-engineering conversation, and localization will deal with the output when it arrives.</p><p>This assumption is wrong, and the cost of it is borne entirely by the localization team.</p><p>For a localization leader with a strategic role, the handoff meeting is where product decisions intersect with linguistic and cultural constraints at the earliest possible moment. It is the only moment in the process where a localization perspective can influence implementation before implementation creates its own inertia.</p><p>What a localization leader brings to the handoff that no one else in the room has:</p><p><strong>Mental model of the translation unit.</strong> A designer thinks in components. An engineer thinks in functions. A localization leader thinks in translation units &#8212; context-bearing strings that must survive extraction, delivery to a translator or AI, translation, re-import, and rendering in a different language at a different length. That mental model produces a completely different set of questions when looking at a spec.</p><p><strong>Pattern recognition for failure modes.</strong> Having seen hundreds of localization bugs, a localization leader can look at a design spec and identify, in minutes, the places where localization will break. Concatenated strings, fixed containers, hardcoded punctuation, culturally-loaded metaphors, directional icons &#8212; these are visible, once you know how to look. No one else in the room has been trained to look.</p><p><strong>Cross-linguistic intuition about length and structure.</strong> When a designer sees a label that reads <em>&#8220;Save changes&#8221;</em>, they see a label. A localization leader sees a label that will become <em>&#8220;&#196;nderungen speichern&#8221;</em> in German, <em>&#8220;Guardar cambios&#8221;</em> in Spanish, and <em>&#8220;&#22793;&#26356;&#12434;&#20445;&#23384;&#12377;&#12427;&#8221;</em> in Japanese, and immediately considers what each of those does to the container, the button, the layout.</p><p><strong>Awareness of cultural and regulatory variation.</strong> Some UI decisions are not just translation problems but localisation problems in the deeper sense: date formats that must match regional legal requirements, content hierarchies that reflect different cultural assumptions about information priority, address form structures that do not generalise across postal systems.</p><p><strong>Fluency with the downstream pipeline.</strong> A localization leader understands that what looks like a string to an engineer is actually a node in a pipeline that runs through a TMS, through a translator&#8217;s workspace, through a QA tool, and back. Decisions made at the handoff have consequences at every node. The localization leader is the only person in the room who has ever stood at each of those nodes and watched things break.</p><div><hr></div><h2>Why this seat is typically inaccessible</h2><p>The handoff meeting is a small, functional meeting. It is not a steering committee. It is not a roadmap review. It operates on a different axis of organisational power than the meetings where localization leaders typically have access.</p><p>Access to it requires either a formal mandate (a role that includes localisation review as a stage-gate in the product process) or informal credibility (a track record of catching things early that saves engineers time later). The second path is harder to build but more durable: when you have sat in three handoffs and flagged five issues that would have become QA bugs, you start getting invited without having to ask.</p><p>The argument for formalising it is straightforward. If localisation is a strategic priority &#8212; and for any product operating across more than two markets, it should be &#8212; then localization review belongs at the point where decisions are still changeable. A localization leader who is only engaged at string extraction has been handed a fait accompli.</p><p>The organisations that do this well, and they are not common, treat localisation review as part of design review, not as a separate downstream phase. The localization leader, or a designated localization engineer, reviews specs before they are handed off. Flags are raised before implementation. The spec is updated. The pipeline is cleaner from the start.</p><p>This is not an exotic practice. It is just a discipline that requires a localization team with enough standing, and enough technical credibility, to participate in conversations that were not originally designed for them.</p><div><hr></div><h2>What to ask for, specifically</h2><p>If you are a localization leader who has never been in a handoff meeting and wants to be: the ask is not a standing invitation to every handoff in the company. That is operationally unrealistic and would not be a good use of your time.</p><p>The ask is a seat in handoffs for new feature work and new surface areas &#8212; the moments where architectural decisions are being made for the first time, rather than incremental updates to existing patterns. These are the handoffs where localization debt is most likely to be created at scale.</p><p>Secondarily: a lightweight localization checklist as part of the designer&#8217;s pre-handoff process. Not a bureaucratic gate. A five-point reference that prompts designers to ask themselves: are there concatenated strings in this spec? Are containers flexible? Have I provided context annotations for short or ambiguous strings? This does not require your presence in every meeting. It requires that your institutional knowledge be embedded in the process.</p><p>Third: a direct line between the localization function and the design system. If your organisation uses a design system &#8212; and any organisation of meaningful scale does &#8212; that design system contains decisions about text components, container sizing, and typographic scale that directly affect localization. Localization&#8217;s input into the design system is not a nice-to-have. It is the highest-leverage intervention available, because it propagates through every product surface automatically.</p><div><hr></div><h2>The AI inflection point</h2><p>The reason this argument has more urgency now than it did five years ago is not that the handoff problem is new. It is that AI is making the handoff faster, more automated, and further from human deliberation, precisely at the moment when the volume of localised product surfaces is expanding.</p><p>More markets. More languages. More AI-generated copy. More vibe-coded frontends. More design tokens automating decisions that used to be made by a person. All of it passing through a process that was designed for a world where a human designer handed off a human-reviewed spec to a human engineer in a meeting where, in principle, someone could have raised a question.</p><p>That window is closing. The localization leader who understands this and positions accordingly, who builds the relationships, the checklists, the design system integrations, and the institutional credibility to be in the room before the room disappears, is not just managing a pipeline. They are shaping what gets built.</p><p>That is the job. It always was. The handoff meeting just happens to be where you can see it most clearly.</p><div><hr></div><p><em>If this saved you from a future concatenation argument at 11pm before a release, share it with someone who needs it. And if it didn't, you're probably already in the room.</em></p>]]></content:encoded></item><item><title><![CDATA[Vibe-Coding an i18n Scanner ]]></title><description><![CDATA[Start With the Defects You Already Have]]></description><link>https://juliadiez.substack.com/p/vibe-coding-an-i18n-scanner</link><guid isPermaLink="false">https://juliadiez.substack.com/p/vibe-coding-an-i18n-scanner</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sun, 31 May 2026 16:12:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/999c4d58-2fb2-4cd5-9e1f-918497663c1a_1238x762.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In a recent post, <a href="/__u/juliadiez.substack.com/p/the-inspection-asymmetry?utm_source=publication-search">I made an argument about inspection asymmetry</a>: AI has collapsed the cost of discovering latent quality debt, but organizational structures haven&#8217;t caught up. Today I&#8217;m going to make that concrete.</p><p>We&#8217;re going to vibe-code an i18n scanner. Not a polished product. The version one person with domain knowledge can build in a weekend, and that will immediately find real problems in a real codebase.</p><p>But first, I need to make the case for something that gets skipped constantly: <strong><a href="/__u/juliadiez.substack.com/p/the-bottleneck-for-ai-adoption-isnt?utm_source=publication-search">you cannot build this right without domain knowledge</a>.</strong> Not the AI. You.</p><div><hr></div><h2>What is an i18n issue, actually?</h2><p>Before you write a single prompt, ask yourself: do you have a dashboard at work where defects are filed under an &#8220;i18n&#8221; label? A tag in Jira, a column in your QA tracker, a category in your defect classification system?</p><p>If you do, that data is gold. That is your training set. Not some generic list from a blog post. Your organization&#8217;s own history of what breaks, how it breaks, and what it was called when someone filed it.</p><p>If you don&#8217;t have that yet, you&#8217;re about to understand why i18n logging discipline matters. But you can still build a useful scanner with what I&#8217;m about to give you.</p><p>So: <a href="/__u/juliadiez.substack.com/p/building-globally-a-practical-i18n?utm_source=publication-search">what are i18n issues, and what are they called?</a></p><p>The field has reasonably settled terminology. These are the categories you&#8217;ll want your scanner to know about:</p><div><hr></div><h3>Issue taxonomy with real examples</h3><p><strong>Hardcoded strings</strong> User-facing text that lives in source code instead of a resource file. The classic. Surprisingly common even in mature codebases.</p><pre><code><code># Bad
button_label = "Submit Order"

# Should be
button_label = t("checkout.submit_button")
</code></code></pre><p><strong>String concatenation</strong> Building sentences by joining fragments. Works in English. Fails in German (verb-final), Japanese (topic-comment), Arabic (VSO word order), and anywhere the grammar doesn&#8217;t match the assumption baked into the join.</p><pre><code><code>// Bad &#8212; assumes "Welcome, " + name + "!" order works everywhere
const greeting = "Welcome, " + userName + "!";

// Should be
const greeting = t("welcome_message", { name: userName });
</code></code></pre><p><strong>Plural handling</strong> Hardcoding &#8220;1 item&#8221; / &#8220;X items&#8221; as a binary. Russian has three plural forms. Arabic has six. Welsh has five. CLDR defines plural categories: <code>zero</code>, <code>one</code>, <code>two</code>, <code>few</code>, <code>many</code>, <code>other</code>. If your pluralization logic is <code>if (n === 1)</code>, it&#8217;s wrong for most languages.</p><pre><code><code># Bad
message = f"You have {count} item" if count == 1 else f"You have {count} items"

# Should use ICU MessageFormat or equivalent
message = t("item_count", { count: count })
</code></code></pre><p><strong>Date, time, and number formatting</strong> Dates hardcoded as <code>MM/DD/YYYY</code>. Decimal separators assumed as <code>.</code>. Thousands separators assumed as <code>,</code>. None of these hold globally.</p><pre><code><code>// Bad
const display = `${month}/${day}/${year}`;

// Should use Intl.DateTimeFormat or a locale-aware library
const display = new Intl.DateTimeFormat(locale).format(date);
</code></code></pre><p><strong>Currency and measurement units</strong> Hardcoded currency symbols (<code>$</code>, <code>&#8364;</code>) without locale context. Imperial units without conversion paths. Temperatures in Fahrenheit without localization awareness.</p><p><strong>Missing or incomplete locale configuration</strong> Language/locale codes that aren&#8217;t BCP 47 compliant. <code>es</code> where <code>es-419</code> (Latin American Spanish) was needed. <code>zh</code> where <code>zh-Hant</code> (Traditional) or <code>zh-Hans</code> (Simplified) was required.</p><pre><code><code>// Bad &#8212; ambiguous
{ "locale": "zh" }

// Good
{ "locale": "zh-Hant-TW" }
</code></code></pre><p><strong>Untranslatable or translation-blocking patterns</strong> Content that&#8217;s genuinely impossible to translate accurately: strings with embedded HTML that will break in RTL languages, strings baked into images, strings that are keys masquerading as human-readable text.</p><pre><code><code>// Bad &#8212; HTML in the middle of a translatable string
const label = `&lt;b&gt;Warning:&lt;/b&gt; Your session expires in ${minutes} minutes`;
</code></code></pre><p><strong>Missing translation fallback</strong> No fallback locale defined, so if a key is missing in <code>fr-CA</code>, the system doesn&#8217;t fall back to <code>fr</code>, it surfaces the key string or crashes.</p><p><strong>Character encoding issues</strong> Files saved without UTF-8 encoding. Characters outside ASCII range hardcoded as literals rather than escaped properly.</p><p><strong>Locale-sensitive sorting</strong> Using default sort on strings in a multilingual context. <code>&#228;</code> doesn&#8217;t sort near <code>a</code> in Swedish. Locale-aware collation is a separate concern from translation.</p><p>That&#8217;s your taxonomy. Not every scanner needs to catch all of these. But you need to know which ones matter for your codebase before you start building.</p><div><hr></div><h2>Step two: understand what your scanner will be reading</h2><p>Before you write any prompts or code, answer these questions:</p>
      <p>
          <a href="/__u/juliadiez.substack.com/p/vibe-coding-an-i18n-scanner">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code, for the pros]]></title><description><![CDATA[Why context engineering is the actual skill, and what the new primitives look like when you sit down with someone from Anthropic for an afternoon.]]></description><link>https://juliadiez.substack.com/p/claude-code-for-the-pros</link><guid isPermaLink="false">https://juliadiez.substack.com/p/claude-code-for-the-pros</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Mon, 18 May 2026 16:41:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!riEe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I spent an afternoon in a Claude Code session with someone from Anthropic. Twenty slides in I realised I wasn&#8217;t watching a tooling demo, I was watching a quiet redefinition of what &#8220;using an LLM well&#8221; even means.</p><p>The headline isn&#8217;t a new model. It&#8217;s a stack of primitives &#8212; Skills, CLAUDE.md hierarchies, MCP, Hooks, Plugins, subagents, agent teams, parallel Claude, verification loops &#8212; that collectively answer one question:</p><p><strong>Once the model is good enough, what&#8217;s actually left for the human to do?</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Rg7L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png 424w, /__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png 848w, /__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Rg7L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png" width="570" height="372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:372,&quot;width&quot;:570,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47209,&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://juliadiez.substack.com/i/198158876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png 424w, /__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png 848w, /__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Rg7L!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80be778f-19ba-40ec-bdc7-5302534226b0_570x372.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><p>The answer, as far as I can tell after this session, is <strong>context engineering</strong>. Not prompting. Not &#8220;knowing the magic words.&#8221; Engineering the information environment the model operates in &#8212; what it sees, what it doesn&#8217;t, when it sees it, who else is looking, and what gets to count as &#8220;done.&#8221;</p><p>That&#8217;s the thread I want to pull on. Here&#8217;s what I took away, organised the way I now actually think about it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!riEe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 424w, /__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 848w, /__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 1272w, /__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!riEe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png" width="1213" height="678" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:678,&quot;width&quot;:1213,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23876,&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;:false,&quot;internalRedirect&quot;:&quot;https://juliadiez.substack.com/i/198158876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 424w, /__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 848w, /__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 1272w, /__u/substackcdn.com/image/fetch/$s_!riEe!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6442285-55f8-4bc8-b31e-a1857d506646_1213x678.png 1456w" sizes="100vw"></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 class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2>1. The shift: from prompting to context engineering</h2><p>The old mental model was: write a clever prompt, get a clever answer. Iterate.</p><p>The new model is closer to: <strong>design the context window</strong>. The prompt is a small part of it. The much bigger part is what Anthropic frames as four context management strategies:</p><ul><li><p><strong>Actively manage your context</strong> &#8212; visualize it (<code>/context</code>), prune it (<code>/compact</code>), don&#8217;t let it accrete junk.</p></li><li><p><strong>Isolate distinct tasks by session</strong> &#8212; <code>/clear</code> aggressively, or spin up parallel Claudes for separate concerns.</p></li><li><p><strong>Shrink your search space</strong> &#8212; point Claude at exactly the files it needs (<code>CLAUDE.md</code>, <code>@-mentions</code>) instead of letting it grep the whole repo.</p></li><li><p><strong>Progressively disclose context</strong> &#8212; load capabilities only when needed (this is the whole Skills design philosophy).</p></li></ul><p>If you internalise nothing else from this post, internalise that list. Every other primitive below is in service of one of those four moves.</p><p>For anyone working in multilingual AI, this maps onto territory I think about constantly with <a href="https://black-ice.ai/">Black Ice</a>: the unit of correctness isn&#8217;t the string the model produces, it&#8217;s the structured context the model was operating inside. Context engineering for code is the same discipline, with different vocabulary.</p><div><hr></div><h2>2. CLAUDE.md: instructions as a hierarchy, not a prompt</h2><p><code>CLAUDE.md</code> is a markdown file that lives in your repo (and <code>~/.claude/CLAUDE.md</code> lives at user level). Claude reads it on startup. That&#8217;s it. That&#8217;s the feature.</p><p>What makes it interesting is the <strong>hierarchy</strong>:</p><ul><li><p><code>~/.claude/CLAUDE.md</code> &#8212; your personal preferences, your global thinking instructions</p></li><li><p><code>Monorepo/CLAUDE.md</code> &#8212; system overview, modernization strategy, team structure</p></li><li><p><code>Repo/CLAUDE.md</code> &#8212; component architecture, technical debt, migration plans</p></li><li><p><code>Submodule/frontend/CLAUDE.md</code>, <code>Submodule/backend/CLAUDE.md</code>, <code>Submodule/test-cases/CLAUDE.md</code> &#8212; local specifics</p></li></ul><p>Claude assembles the right slice based on where you&#8217;re working. You stop repeating &#8220;use pnpm, not npm. Run tests with pytest. Follow PEP8&#8221; in every session, because it&#8217;s already loaded.</p><p>The mental shift: <strong>persistent instructions belong in version control, not in your prompt history.</strong> Your prompts get shorter. Your repo gets smarter.</p><div><hr></div><h2>3. Skills: progressive disclosure as a design principle</h2><p>This was the moment I sat up.</p><p>A <strong>Skill</strong> is an organised folder containing a <code>SKILL.md</code> plus whatever else the skill needs &#8212; reference docs, executable scripts, templates, examples.</p><p>The trick is <em>progressive disclosure</em>:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!TjNE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 424w, /__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 848w, /__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 1272w, /__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!TjNE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png" width="596" height="161" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:161,&quot;width&quot;:596,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:21146,&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://juliadiez.substack.com/i/198158876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 424w, /__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 848w, /__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 1272w, /__u/substackcdn.com/image/fetch/$s_!TjNE!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F063b51aa-3d33-45b5-91a0-8b0f88619583_596x161.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>In plain English: Claude has hundreds of latent capabilities sitting on disk. It pays a tiny token cost (~100 tokens of metadata) per Skill to <em>know they exist</em>. It only pays the full cost of reading the body when the skill is actually relevant to the current task. It only pays the cost of bundled assets when it specifically needs them.</p><p>This is the architecture you&#8217;d design if you took context windows seriously as a constraint <em>and</em> you wanted the agent&#8217;s effective competence to be unbounded. Two types of Skills they highlighted:</p><ul><li><p><strong>General capabilities Claude isn&#8217;t good at out of the box (yet)</strong> &#8212; e.g. creating PDFs, Excel, PowerPoint files.</p></li><li><p><strong>Knowledge of an organisation&#8217;s workflows and best practices</strong> &#8212; e.g. Anthropic&#8217;s own brand styling, internal coding standards.</p></li></ul><p>The second category is where this gets genuinely interesting for anyone working on enterprise AI. A Skill is essentially a <strong>portable unit of organisational expertise</strong> &#8212; versioned, testable, distributable. The localisation parallel is obvious: a Skill that encodes how your company handles dates, currencies, honorifics, and ICU message format across 30 locales is doing exactly the kind of work an ontology does in a knowledge-graph pipeline. Different mechanism, same job: keep the model from improvising on things it shouldn&#8217;t improvise on.</p><p>One tip, worth pinning above your monitor: <strong>be very explicit in the description of your skill.</strong> That YAML frontmatter is what Claude reads to decide whether to load the rest. Vague descriptions = skills that never fire.</p><div><hr></div><h2>4. MCP and Hooks: where Claude reaches outside its box</h2><p><strong>MCP</strong> (Model Context Protocol) is how Claude talks to external systems &#8212; Atlassian, Asana, Linear, Canva, Sentry, Cloudflare, your own internal services. You add a server with <code>mcp add &lt;server-name&gt;</code> and <code>/mcp</code> to manage them. Configurations live in <code>.mcp.json</code>.</p><p><strong>Hooks</strong> are shell commands that fire on lifecycle events: <code>PreToolUse</code>, <code>PostToolUse</code>, <code>Notification</code>, <code>UserPromptSubmit</code>, <code>SessionStart</code>. Use cases the session covered:</p><ul><li><p>Auto-format on save (prettier on <code>.ts</code>, gofmt on <code>.go</code>)</p></li><li><p>Run tests after edits</p></li><li><p>Send notifications on completion (Slack, text, &#8220;carrier pigeon as long as there&#8217;s an API&#8221;)</p></li><li><p>Logging</p></li><li><p>Correcting Claude behaviour deterministically</p></li></ul><p>The mental model they offered for choosing between features is actually the clearest part of the whole deck:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!RhIG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png 424w, /__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png 848w, /__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png 1272w, /__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!RhIG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png" width="569" height="264" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:264,&quot;width&quot;:569,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45126,&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://juliadiez.substack.com/i/198158876?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png 424w, /__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png 848w, /__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.png 1272w, /__u/substackcdn.com/image/fetch/$s_!RhIG!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ddb6395-074e-46ce-b6a6-9f7d3ac8af0d_569x264.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>Read that table twice. It&#8217;s the cheat sheet.</p><div><hr></div><h2>5. Plugins: distribution, finally</h2><p>The newest piece. A <strong>plugin</strong> is a single distributable that bundles MCP servers, Skills, subagents, custom slash commands, and hooks under one manifest. Installed via terminal commands.</p><p>Two things matter here:</p><ol><li><p><strong>Unified distribution</strong> &#8212; you ship one thing instead of asking colleagues to configure five.</p></li><li><p><strong>Enterprise marketplaces</strong> &#8212; organisations can run internal <em>and</em> external marketplaces to distribute plugins across teams.</p></li></ol><p>This is the piece that turns Claude Code from &#8220;a tool a senior engineer configures heroically&#8221; into something that scales across an org. It&#8217;s also, frankly, what makes &#8220;AI workflow design&#8221; a discipline you can actually hire for.</p><div><hr></div><h2>6. The three parallelism primitives</h2><p>Here&#8217;s where the mental model expands. Anthropic distinguishes three ways of running Claude in parallel, and they are <em>not</em> interchangeable.</p><h3>Subagents &#8212; same session, separate context windows</h3><p>One Claude session spawns multiple subagents. Hub-and-spoke. Workers report summaries back. They live as markdown files in <code>agents/</code> &#8212; <code>code-reviewer.md</code>, <code>researcher.md</code>, <code>writer.md</code>.</p><p>When to use:</p><ul><li><p>Quick, focused workers that return summaries</p></li><li><p>Isolating noisy operations (test runs, large greps)</p></li><li><p>When you need the cheapest token footprint</p></li></ul><p>The three conditions where subagents work well, from the deck:</p><ol><li><p><strong>Well-defined roles</strong> &#8212; clear, specialised role with defined tool access levels and success criteria.</p></li><li><p><strong>Hands-off delegation</strong> &#8212; you don&#8217;t need to inspect or interact with the subagent&#8217;s work.</p></li><li><p><strong>Enhance context management</strong> &#8212; subagents are a context-management strategy in disguise.</p></li></ol><h3>Agent Teams &#8212; separate processes, shared task list</h3><p>Multiple Claudes with a shared task list and peer messaging. Best for debate and cross-layer coordination. Higher token cost, but you can have agents <em>disagree productively</em>.</p><p>Patterns that work:</p><ul><li><p><strong>Fan-out research</strong> &#8212; spawn N subagents to research modules in parallel.</p></li><li><p><strong>Isolate noisy ops</strong> &#8212; route verbose test/grep output to a subagent; only the summary returns.</p></li><li><p><strong>Chain sequential hand-off</strong> &#8212; reviewer subagent finds issues &#8594; optimiser subagent fixes them. Separation of concerns without nesting.</p></li><li><p><strong>Competing hypotheses</strong> &#8212; spawn 5 teammates on a hard bug; they debate to disprove each other. The surviving theory is the real root cause.</p></li></ul><p>That last one &#8212; competing hypotheses &#8212; is the most genuinely new pattern I picked up. It&#8217;s the model arguing with itself on purpose, and the disagreement is the signal.</p><h3>Parallel Claude (Worktrees) &#8212; true filesystem isolation</h3><p><code>claude --worktree</code>. Multiple Claude Code instances running simultaneously, each in its own git worktree, each on its own branch, each with its own context. True parallel implementation without file conflicts.</p><p>When to use:</p><ul><li><p>Implementing on separate branches you actually intend to merge.</p></li><li><p>Risky refactors you want isolated.</p></li><li><p>Auto-cleanup if no changes get made.</p></li></ul><p>For cross-session awareness, they recommend TMUX.</p><p>The honest summary: <strong>subagents for context isolation, agent teams for coordination and debate, worktrees for filesystem-level parallelism.</strong> Most people reach for one when they want another. Pick deliberately.</p><div><hr></div><h2>7. Verification: the line that stuck with me</h2><blockquote><p><em>Claude is only as good as the thing that checks its work.</em></p></blockquote><p>This is the part of the talk that has the most to say to anyone working in localisation, governance, or any domain where &#8220;sounds right&#8221; isn&#8217;t good enough.</p><p>Three verification modalities:</p><ul><li><p><strong>Rules-based</strong> &#8212; define pass/fail rules. Claude runs the checker and reads the output.</p></li><li><p><strong>Visual</strong> &#8212; screenshot the output, feed it back to Claude. Best for UI work via Playwright MCP.</p></li><li><p><strong>LLM-as-judge</strong> &#8212; a second model evaluates output against fuzzy criteria.</p></li></ul><p>And five verification patterns worth memorising:</p><ol><li><p><strong>Isolate test noise</strong> &#8212; &#8220;run the test suite and report only failing tests with errors.&#8221; Verbose output stays in the subagent&#8217;s context; your main session stays clean.</p></li><li><p><strong>Post-implementation review</strong> &#8212; &#8220;review this diff for edge cases I missed.&#8221; Fresh context = no author bias on the code it just wrote.</p></li><li><p><strong>Find &#8594; Fix chain</strong> &#8212; reviewer subagent finds perf issues, optimiser subagent fixes them.</p></li><li><p><strong>Write-new-tests challenge</strong> &#8212; &#8220;write three new tests not in the existing suite. Verify they pass.&#8221; Catches what the happy-path suite won&#8217;t.</p></li><li><p><strong>Autonomous loop (&#8221;Ralph&#8221;)</strong> &#8212; define pass criteria upfront &#8594; let Claude iterate write-test-fix unattended until green. Works for overnight runs.</p></li></ol><p>And then the framing they put a red box around: </p><p><strong>Test Driven Development. Write tests first &#8594; have Claude implement until they pass. Claude can&#8217;t rationalise away a failing test &#8212; the spec is the contract.</strong></p><p>This is the move. If you&#8217;ve ever watched an LLM gaslight itself into thinking broken code is fine, you know exactly why a hard spec it cannot edit is the whole game.</p><p>The localisation parallel here is something I&#8217;ve been arguing for years: linguistic QA needs to move upstream into the spec, not get bolted on after generation. &#8220;Sounds fluent&#8221; is the LLM rationalising. A failing locale-specific test it can&#8217;t argue with is the contract.</p><div><hr></div><h2>8. The slash commands worth knowing</h2><p>Three that came up repeatedly:</p><ul><li><p><code>/batch</code> &#8212; orchestrates large-scale changes across a codebase in parallel. Describe the change; <code>/batch</code> researches, decomposes, and presents a plan. On approval it spawns one background agent per unit, each in an isolated git worktree, each runs tests and opens a PR. Example: <code>/batch migrate src/ from Solid to React</code> &#8594; 5&#8211;30 parallel agents, 1 PR per unit, auto-opened.</p></li><li><p><code>/simplify</code> &#8212; reviews recently changed files for code reuse, quality, and efficiency, then fixes them. Three internal agents: Code Reuse, Code Quality, Efficiency. Run after implementing a feature.</p></li><li><p><code>/loop</code> &#8212; scheduled prompts. Run prompts automatically on an interval. Examples: <code>/loop 5m check if the deployment finished</code>, <code>/loop 15m scan error logs and open fix PRs</code>, <code>/loop remind me at 3pm to push the release</code>. Tasks run in the background within your session. Default interval is 10 minutes. One-time natural-language reminders also supported.</p></li></ul><p><code>/batch</code> is the headline. The other two are the daily-use workhorses.</p><div><hr></div><h2>9. The pattern underneath all of it</h2><p>If I had to compress the whole session into one diagram, it&#8217;d be this loop:</p><p><strong>Plan &#8594; Implement &#8594; Verify &#8594; (Fail? &#8594; Read error &#8594; back to Implement) &#8594; Finish</strong></p><p>That&#8217;s it. Every primitive above is in service of making one of those four nodes better:</p><ul><li><p><strong>Plan</strong> &#8212; CLAUDE.md hierarchy, Skills, MCP for external context</p></li><li><p><strong>Implement</strong> &#8212; subagents, agent teams, parallel Claude</p></li><li><p><strong>Verify</strong> &#8212; rules-based / visual / LLM-as-judge, hooks</p></li><li><p><strong>Iterate</strong> &#8212; <code>/loop</code>, autonomous loops, TDD</p></li></ul><p>The thing that changes when you take this seriously is your job. You stop being the person who types prompts. You become the person who designs the context in which the prompts get evaluated.</p><p>That&#8217;s the discipline. Everything else is syntax.</p><div><hr></div><h2>What I&#8217;m taking back to my own work</h2><p>Two parallels I can&#8217;t stop thinking about, both light-touch but real:</p><p><strong>Progressive disclosure is the ontology pattern.</strong> A Skill&#8217;s three-tier loading model &#8212; metadata always, body on trigger, assets on demand &#8212; is structurally identical to how a well-designed multilingual ontology behaves: the schema is always present, the concept graph loads as the domain is invoked, the locale-specific assets resolve last. If you&#8217;ve built one, you can recognise the other instantly.</p><p><strong>The &#8220;thing that checks the work&#8221; is the unit of governance.</strong> In code: tests, types, linters, LLM-as-judge. In multilingual AI: terminology constraints, locale rules, semantic validators. The model is interchangeable; the verifier is the moat. Whoever controls verification controls quality. This has been the Black Ice argument from day one and it was strange and gratifying to hear it phrased back at me by someone from Anthropic without either of us mentioning localisation.</p><div><hr></div><h2>TL;DR for the impatient</h2><ul><li><p><strong>Context engineering</strong> is the actual skill. Prompting is a subset.</p></li><li><p><strong>CLAUDE.md</strong> for persistent instructions. <strong>Skills</strong> for on-demand expertise. <strong>MCP</strong> for external systems. <strong>Hooks</strong> for deterministic automation.</p></li><li><p><strong>Plugins</strong> bundle all of the above for distribution.</p></li><li><p>Three parallelism primitives &#8212; <strong>subagents</strong> (context isolation), <strong>agent teams</strong> (coordination/debate), <strong>worktrees</strong> (filesystem parallelism). Not interchangeable.</p></li><li><p><strong>Verification is the moat.</strong> TDD with Claude works because it can&#8217;t argue with a failing test.</p></li><li><p>Slash commands worth learning today: <code>/batch</code>, <code>/simplify</code>, <code>/loop</code>.</p></li><li><p>The whole thing is a loop: Plan &#8594; Implement &#8594; Verify &#8594; Iterate.</p></li></ul><p>If you take one thing away, take this: </p><p><em>Claude is only as good as the thing that checks its work.</em> </p><p>Build the checker first.</p><div><hr></div><p><em>If you found this useful, the rest of <a href="/__u/juliadiez.substack.com/">The AI-Ready Localizer</a> digs into the same patterns from the multilingual side &#8212; same discipline, different vocabulary.<br>Like, share, subscribe!</em></p>]]></content:encoded></item><item><title><![CDATA[The bottleneck for AI adoption isn’t AI. It’s whether you know your job.]]></title><description><![CDATA[There&#8217;s a story circulating about AI and work.]]></description><link>https://juliadiez.substack.com/p/the-bottleneck-for-ai-adoption-isnt</link><guid isPermaLink="false">https://juliadiez.substack.com/p/the-bottleneck-for-ai-adoption-isnt</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sat, 16 May 2026 18:41:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/504f247a-7bb8-4772-a555-4822339b431b_1227x777.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s a story circulating about AI and work. It goes like this: the novice gets a giant boost, the expert gets a smaller boost, the future is democratised.</p><p>The chart that usually accompanies this story is the <a href="https://www.nber.org/papers/w31161">Brynjolfsson et al. call-centre study</a>. Junior reps get a 34% lift. Senior reps get almost nothing. The headline writes itself: <em>AI is the great equaliser.</em></p><p>It isn&#8217;t. And if you&#8217;ve actually worked in a domain &#8212; really worked in it, the way you only do after you&#8217;ve seen the same problem mutate fifty different ways &#8212; you already know why.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!sXy0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png 424w, /__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png 848w, /__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!sXy0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png" width="686" height="765" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:765,&quot;width&quot;:686,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67022,&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://juliadiez.substack.com/i/198033569?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png 424w, /__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png 848w, /__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.png 1272w, /__u/substackcdn.com/image/fetch/$s_!sXy0!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F899b2939-b17f-4ed3-ab82-a94df9ecdc37_686x765.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>What the novice gain actually measures</h2><p>The 34% lift is real. It&#8217;s also a measurement of the floor, not the ceiling.</p><p>What those studies are capturing is the cost of producing a <em>passable first draft</em> of something. A ticket response. A code snippet. A summary. The reason novices benefit so much is that producing a passable first draft used to be the hard part of their job. AI ate that part.</p><p>What it didn&#8217;t eat is the part of the job that comes after the first draft. The part where you decide whether the draft is wrong. Whether it&#8217;s wrong in a way that matters. Whether the framing of the question was wrong to begin with. Whether the &#8220;right&#8221; answer for this customer is actually the wrong answer for this contract.</p><p>This part is invisible in productivity studies because it shows up as quality, not throughput, and quality is much harder to count. So we count throughput and call it progress.</p><h2>The &#8220;passive pasting&#8221; problem</h2><p>A recent review of the AI-and-jobs literature flagged something the cheerful version of the story leaves out: a lot of the novice productivity gains in controlled experiments come from what the authors call <strong>passive pasting</strong> &#8212; workers taking AI output and submitting it without modification. That&#8217;s not learning. That&#8217;s not augmentation. That&#8217;s automation with a human dressed up as the operator.</p><p>If your job consisted of producing the kind of output that AI can now generate directly, your &#8220;productivity boost&#8221; is the sound of your role being decoupled from your salary. The work still happens. You&#8217;re just no longer the necessary part of it.</p><p>This is the cohort I&#8217;d describe as people who were doing a repetitive job without ever grasping the bigger picture. They were never really doing the work. They were executing a procedure that <em>resembled</em> the work. AI doesn&#8217;t make them better at the work. It makes the procedure cheaper to run.</p><h2>What the expert gain actually measures</h2><p>Now look at the experts. The studies that get cited say experts gain little. Some say expert quality actually drops with AI.</p><p>The &#8220;drops&#8221; finding is the interesting one. It&#8217;s not that AI made the experts worse at their domain. It&#8217;s that experts who let AI do the thinking stopped doing the thinking, and the thinking is what made them experts. Outsource the muscle and the muscle atrophies. We&#8217;ve known this since the Dreyfus brothers were writing about <a href="https://www.researchgate.net/publication/235125013_A_Five-Stage_Model_of_the_Mental_Activities_Involved_in_Directed_Skill_Acquisition">skill acquisition in the eighties</a>.</p><p>But this average masks the real distribution. There&#8217;s a subset of experts for whom AI is enormously generative, and it&#8217;s not the ones who hand the steering wheel over. It&#8217;s the ones who use AI as a peer they can argue with.</p><p>The pattern looks like this:</p><ul><li><p>They know the right question to ask, which is most of the work.</p></li><li><p>They can spot a wrong answer in under a second because they&#8217;ve seen the right one a thousand times.</p></li><li><p>They can tell when the model is being plausible versus correct &#8212; two states that look identical to anyone outside the domain.</p></li><li><p>They use AI to handle the parts of their job they were never paid to enjoy &#8212; boilerplate, scaffolding, the seventh variation of a thing they&#8217;ve written six times &#8212; and reinvest the recovered hours into the parts that need a human brain.</p></li></ul><p>This is the population that &#8220;flies solo with AI.&#8221; They don&#8217;t need a manager translating between them and the tool. They don&#8217;t need a vendor&#8217;s enablement deck. They don&#8217;t need three months of training to figure out what prompts work. They sit down, they describe what they want in the vocabulary of their own field, and the tool responds in kind because they&#8217;re giving it enough scaffolding to be useful.</p><h2>The Harvard study nobody quotes correctly</h2><p><a href="https://www.library.hbs.edu/working-knowledge/gen-ai-boosts-productivity-but-cant-turn-novices-into-experts">Bojinov and McFowland ran a study at IG Group</a> that&#8217;s been quietly devastating to the equaliser narrative. They had marketing specialists and software developers attempt the work of web analysts &#8212; a job adjacent to marketing, distant from software. Same AI, same task.</p><p>Marketing specialists, with adjacent domain knowledge, produced reasonable analyst-quality work with AI assistance. Software developers, further from the domain, did not. The researchers&#8217; framing is that skills <em>transfer with AI&#8217;s help if they&#8217;re already adjacent</em>. They don&#8217;t transfer across a real domain gap.</p><p>What this means in plain English: AI doesn&#8217;t give you expertise. It gives you reach. If you have a foothold in the territory, you can extend further than you used to be able to. If you have no foothold, you produce something that looks like the work but isn&#8217;t.</p><h2>Why this is a problem for organisations and not just for individuals</h2><p>The version of this argument that focuses on individual careers is the boring version. &#8220;Build domain depth, you&#8217;ll be fine.&#8221; Sure.</p><p>The interesting version is what happens to organisations whose workforce was <em>built around</em> the assumption that domain expertise could be substituted with process. A great deal of the modern white-collar economy was constructed on exactly this premise: hire generalists, give them a playbook, let the playbook do the thinking. It scales beautifully. It also produces, over twenty years, a workforce that has never had to develop the kind of expertise that AI can&#8217;t replicate.</p><p>Those organisations are about to discover something painful. The people who can fly solo with AI are a much smaller fraction of their staff than they&#8217;d assumed. The &#8220;AI literacy&#8221; training programmes won&#8217;t fix it, because the bottleneck isn&#8217;t AI literacy. The bottleneck is domain literacy, which takes years and can&#8217;t be procured on a quarterly budget cycle.</p><p>The <a href="https://tambep.github.io/files/Bilinguals.pdf">research from Wharton&#8217;s Tambe</a> is pointing at this exact dynamic from a different angle: the firms that get the biggest market valuation lift from AI investment are the ones where algorithmic skills are <em>broadly diffused among domain experts</em>. Not the ones with the most data scientists. Not the ones with the most tooling. The ones where the people who understand the work also understand the tool. That combination is rare, and the market is starting to price it accordingly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pzxs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png 424w, /__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png 848w, /__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pzxs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png" width="575" height="580" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:580,&quot;width&quot;:575,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:52789,&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://juliadiez.substack.com/i/198033569?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png 424w, /__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png 848w, /__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pzxs!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e12d993-25b4-4d14-a83a-90ac85b0a409_575x580.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><h2>The &#8220;incompetent expert&#8221; trap</h2><p>There&#8217;s a second-order risk that&#8217;s worth naming because it&#8217;s going to define the next five years.</p><p>When a novice uses AI to produce work in a domain they don&#8217;t understand, the failure mode is invisible to them. They can&#8217;t verify what they don&#8217;t understand. They submit confident-looking output, the output gets accepted because nobody downstream understands the domain either, and the organisation accumulates a quiet liability &#8212; work that <em>looks</em> expert and isn&#8217;t.</p><p>This is the configuration that produces catastrophic failures eighteen months later, when someone with actual domain knowledge finally looks at the output and realises the whole stack is wrong. By that point the original author has moved on, the institutional memory of how the decision got made has evaporated, and nobody can unwind it.</p><p>Verification is a domain skill. It is the deepest domain skill, in fact. Knowing what right looks like is harder than producing something that resembles right. AI has dramatically lowered the cost of producing things that resemble right, without lowering the cost of verification at all. The asymmetry is the entire problem.</p><h2>So what&#8217;s the actual claim</h2><p>The cheerful story says AI democratises expertise.</p><p>The honest version: AI <strong>widens the gap</strong> between people who actually understand their work and people who were performing a simulation of it. The performers get exposed because the simulation is now free. The understanders get a force multiplier because they finally have a tool that can match their cadence.</p><p>If you&#8217;ve ever wondered why some people seem to be ten times more productive with AI and others seem to be producing slightly polished sludge, this is why. It was never about prompt engineering. It was about whether there was a thinker holding the pen.</p><p>The lesson for anyone whose job is in the firing line isn&#8217;t &#8220;learn AI.&#8221; It&#8217;s the older, less marketable lesson: <strong>go deep on something.</strong> Pick a domain, stay in it long enough that you stop needing the playbook, develop the kind of taste that lets you spot a wrong answer at a glance. That is the asset. The tool is the multiplier. Multiplying zero is still zero.</p>]]></content:encoded></item><item><title><![CDATA[Vibe-coding for localization professionals: the setup]]></title><description><![CDATA[How localization professionals can use Lovable, and Claude to build the tools nobody else will build for them]]></description><link>https://juliadiez.substack.com/p/vibe-coding-for-localization-professionals</link><guid isPermaLink="false">https://juliadiez.substack.com/p/vibe-coding-for-localization-professionals</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Mon, 11 May 2026 18:22:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y0-8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Part one of a four-part series for paid subscribers. Across the series we&#8217;ll build four small tools &#8212; an i18n issues scanner, a TM sanity checker, an ontology-aligned QA tool, and a market availability source reviewer &#8212; using Lovable and Claude. This post is the foundation: what these tools are, how to prepare a project, how to write a prompt that actually works, and how to use Claude as a thinking partner before, during, and after you build.</em></p><div><hr></div><h2>Why this series exists</h2><p>Localization professionals have a long tail of repetitive, judgement-heavy tasks that nobody is going to build a commercial tool for. The market is too narrow, the workflows too specific, and the people who feel the pain don&#8217;t sit close enough to the people who write code. So the work either gets done manually, gets shoved into a spreadsheet that someone maintains until they leave, or gets ignored.</p><p>Vibe-coding closes that gap. Not because it turns translators into developers. It doesn&#8217;t, and the framing is condescending in both directions. But because it lets domain experts commission small bespoke tools the way they&#8217;d commission a translation: by writing a clear brief and reviewing the output.</p><p>This series is about treating vibe-coding as a discipline rather than a vibe. Over four posts we&#8217;ll build four tools that any localization professional should find useful, and the goal isn&#8217;t really the tools, it&#8217;s the method. By the end you should be able to look at any narrow, annoying, repetitive task in your week and decide whether it&#8217;s a vibe-coding candidate, what shape the tool wants to take, and how to commission it without spending three hours fighting an AI builder that keeps adding features you didn&#8217;t ask for.</p><p>A note on register before we start. There is a lot of breathless content about AI-built tools at the moment and most of it is selling something. This series isn&#8217;t. The tools we build will be small and useful and occasionally clunky, the prompts will go through several rounds of refinement before they produce anything good, and at least one of the four projects will hit a wall that requires you to step back and rethink. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Y0-8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png 424w, /__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png 848w, /__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Y0-8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png" width="1335" height="775" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:775,&quot;width&quot;:1335,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:24569,&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://juliadiez.substack.com/i/197249530?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png 424w, /__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png 848w, /__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Y0-8!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc643f4c5-cf54-4eaa-ba32-aa720eca12c8_1335x775.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>What &#8220;vibe-coding&#8221; actually means</h2><p>The term gets used loosely. For our purposes:</p><p><strong>Vibe-coding</strong> is the practice of building working software by describing what you want in natural language to an AI builder, then iterating on the result. You&#8217;re not writing code. You&#8217;re writing specifications, reading output, and steering. The skill is in the steering.</p><p>It works well for tools that are small in scope, narrow in audience, and live somewhere between &#8220;spreadsheet macro&#8221; and &#8220;internal utility.&#8221; It works as a starting point for ambitious projects too, but it&#8217;s a starting point, not a finish line, and we&#8217;ll come back to that boundary at the end of the post.</p><h2>The toolkit</h2><p><strong>Lovable</strong> is a full-stack app builder. You describe what you want, it generates a React frontend with a Supabase backend, deploys it, and gives you a URL. Best when the tool needs to persist data, support logins, or be shared with colleagues. The trade-off is that you&#8217;re committing to a small web app &#8212; there&#8217;s a database, there&#8217;s auth, there&#8217;s hosting. For a tool you&#8217;ll use once a week with a team, that&#8217;s fine. For a script you want to run against a folder of files, it&#8217;s overkill.</p><p><strong>Claude Artifacts</strong> lives inside a Claude conversation. No deployment, no account, no persistence. You describe a tool, Claude builds it as a self-contained artifact, and it runs in your browser inside the chat. Best for stateless single-user utilities: a quick glossary checker that takes pasted text and returns flagged terms, a formatter, a one-shot transformation. Sometimes exactly what you want, often forgotten because it doesn&#8217;t feel like &#8220;building.&#8221;</p><p><strong>Replit, Bolt.new and v0</strong> are worth knowing about. Replit is a browser-based coding environment with an AI agent &#8212; strong when you want a script rather than an app, something that runs against files in a repo and returns a result. Bolt covers similar territory to Lovable and is sometimes faster for throwaway prototypes. v0 is UI-first &#8212; strong for "I need a dashboard that looks good," weaker on backend logic. We won't use any of these in this series but they're in the same family.</p><p><strong>Claude (the chat)</strong> is not a builder. It&#8217;s the thinking partner. You use Claude to refine the specification <em>before</em> you touch any builder, to interrogate the generated code <em>during</em>, and to debug <em>after</em>. This is the move that separates vibe-coding from button-pushing, and we&#8217;ll spend a fair amount of the rest of this post on it.</p><p>The takeaway: builder choice follows tool shape, not preference.</p><h2>The skill that actually matters: clarity and workflow architecture</h2><p>The AI builders are good now. They will be better next month. </p><p>The bottleneck is knowing what you actually want, and being able to describe it as a workflow.</p><p>That sounds obvious. It isn&#8217;t. Most people, when asked what they want, describe a feature (&#8221;a tool that flags terminology issues&#8221;). What they need to be able to describe is an artifact (&#8221;a CSV with one row per flagged segment, columns for source, target, the violated term, the rule that was violated, and a confidence score, ranked so the highest-confidence violations appear first&#8221;) and a workflow (&#8221;the user uploads a bilingual XLIFF, the tool extracts segments, runs each segment against the ontology API, applies a confidence threshold, sorts the output, and returns the CSV with a summary count at the top&#8221;).</p><p>The first version &#8212; &#8220;a tool that flags terminology issues&#8221; &#8212; is a wish. The second version is a specification. The gap between them is the entire skill.</p>
      <p>
          <a href="/__u/juliadiez.substack.com/p/vibe-coding-for-localization-professionals">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code + NotebookLM: the research setup that pays for itself]]></title><description><![CDATA[Turn two tools into a research workflow &#8212; and save tokens while you're at it]]></description><link>https://juliadiez.substack.com/p/claude-code-notebooklm-the-research</link><guid isPermaLink="false">https://juliadiez.substack.com/p/claude-code-notebooklm-the-research</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sun, 10 May 2026 19:17:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!UYI8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s something I keep running into when I work with LLMs on anything substantial. I have a pile of source material &#8212; papers, transcripts, internal docs, whatever &#8212; and I want the model to reason over it. So I paste it into context. The chat slows down. The model starts forgetting what was at the top. By the third question I&#8217;m rationing tokens like wartime sugar.</p><p>The Claude Code + NotebookLM MCP setup is the first thing I&#8217;ve used that actually solves this, and not in a clever-workaround way. It just moves the problem to the right tool.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!UYI8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png 424w, /__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png 848w, /__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png 1272w, /__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!UYI8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png" width="1357" height="779" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:779,&quot;width&quot;:1357,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:28364,&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://juliadiez.substack.com/i/197005910?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png 424w, /__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png 848w, /__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.png 1272w, /__u/substackcdn.com/image/fetch/$s_!UYI8!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99ca7cc6-e2b4-46dd-b809-0d0ea80c05b2_1357x779.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><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://juliadiez.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/juliadiez.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>What the setup actually is</h2><p><a href="https://notebooklm.google.com/">NotebookLM</a> is Google&#8217;s tool for asking questions against a fixed corpus of sources you upload. It&#8217;s grounded &#8212; answers come with citations to the specific passages in your documents &#8212; and it&#8217;s free for individuals. The catch has always been that NotebookLM lives in a browser tab, isolated from whatever you&#8217;re actually trying to write or build.</p><p>The MCP server changes that. Claude Code can now query your NotebookLM notebooks directly, get back citation-backed answers from Gemini, and use those answers as input to whatever it&#8217;s doing in your terminal. There are several implementations on GitHub; the install is roughly <em>install, authenticate once with Google, register the MCP server with Claude Code</em>. Five minutes if nothing goes wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pVyO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 424w, /__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 848w, /__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pVyO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png" width="561" height="340" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/109bb309-4cef-4e5f-9789-be650c38f671_561x340.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:340,&quot;width&quot;:561,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31381,&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;:false,&quot;internalRedirect&quot;:&quot;https://juliadiez.substack.com/i/197005910?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 424w, /__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 848w, /__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pVyO!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F109bb309-4cef-4e5f-9789-be650c38f671_561x340.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!8f2H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 424w, /__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 848w, /__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 1272w, /__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!8f2H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png" width="595" height="276" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a80eb231-4f21-4d44-a20f-09d23045193a_595x276.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:276,&quot;width&quot;:595,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:36325,&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;:false,&quot;internalRedirect&quot;:&quot;https://juliadiez.substack.com/i/197005910?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 424w, /__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 848w, /__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 1272w, /__u/substackcdn.com/image/fetch/$s_!8f2H!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa80eb231-4f21-4d44-a20f-09d23045193a_595x276.png 1456w" sizes="100vw"></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>The token economics</h2><p>When you paste a 200-page PDF into a Claude conversation, you&#8217;re paying input tokens for that document on every single turn. Ask five questions, you&#8217;ve sent the document five times. With the NotebookLM MCP, the document lives in NotebookLM. Claude only sees the answer that comes back &#8212; usually a few hundred tokens with citations, instead of the entire corpus.</p><p>For long research sessions this is the difference between hitting your usage limit at lunch and still having room at the end of the day. It also means Claude&#8217;s context window stays clear for the work you actually want it doing: writing, analysis, code. The reading happens elsewhere.</p><p>One honest caveat: MCP servers add tools to Claude&#8217;s context, and tools cost tokens too. The popular implementation by jacob-bd ships with around 35 tools, which is enough to noticeably eat into your window if you leave it on all the time. The same repo flags this and tells you to toggle the server off when you&#8217;re not using it (<code>@notebooklm-mcp</code> in Claude Code). Treat it like a power tool, not a permanent fixture.</p><h2>Three use cases for people working with LLMs</h2><p><strong>1. Reading a long document without paying to re-read it.</strong> You drop a 300-page report, a court ruling, a textbook chapter, a stack of meeting transcripts into a NotebookLM notebook. Then you sit in Claude Code and ask whatever you want &#8212; <em>what does this say about X, where does the author contradict themselves, summarise chapter 4 in plain language</em>. Each question is a cheap call. You can spend an hour on a document for a fraction of what the same conversation would cost if the document were pasted into the chat.</p><p><strong>2. Synthesis across sources you can&#8217;t fit in one prompt.</strong> Most useful research isn&#8217;t one document, it&#8217;s twenty. Ten papers on the same topic, a folder of customer interview transcripts, every blog post a competitor has ever published. NotebookLM holds all of it. Claude queries it. You can ask things like <em>which of these sources disagree about the mechanism, and quote the disagreement</em> &#8212; and get back a grounded answer with citations pointing to the exact passages, instead of a hallucinated summary stitched together from the model&#8217;s training data.</p><p><strong>3. Drafting from your own knowledge base.</strong> This is where it stops being research and becomes production. You keep a NotebookLM notebook of your own writing, your meeting notes, your existing documentation &#8212; whatever counts as <em>your stuff</em>. Then when you&#8217;re drafting a new piece in Claude Code, the model can pull from that notebook to stay consistent with how you&#8217;ve talked about something before. It&#8217;s not impersonating your voice (it&#8217;s still Claude generating the prose); it&#8217;s making sure Claude has the actual facts of what you&#8217;ve previously said, instead of inventing a plausible version.</p><h2>What this is and isn&#8217;t</h2><p>It isn&#8217;t magic. The grounding only works if the documents in your notebook are actually the right documents. Garbage in, citation-backed garbage out. NotebookLM also has its own limits on notebook size and source count, which you&#8217;ll hit eventually if you&#8217;re feeding it large corpora.</p><p>What it is, though, is one of the few MCP integrations I&#8217;ve installed where I can point at the actual benefit instead of waving at the general idea of <em>connecting things</em>. Reading is offloaded to the tool that&#8217;s good at reading. Generation stays with the tool that&#8217;s good at generating. The token bill goes down. The hallucination surface shrinks because answers are grounded in real passages.</p><p>For anyone whose work involves regularly thinking against a body of source material &#8212; researchers, writers, analysts, lawyers, anyone with a folder of PDFs they keep meaning to read &#8212; this is worth the five minutes.</p><p><em>To show how simple this can be in practice, I built a little dinosaur game for my 5-year-old using Claude Code pulling from a NotebookLM notebook of dino facts. Here's the video.</em></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;31309c1c-ed46-42fb-86b7-6e5c284726d2&quot;,&quot;duration&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[What Is Black Ice? The Governance Framework for Agentic Localization Pipelines]]></title><description><![CDATA[Why the post-TMS world doesn&#8217;t need more handoffs &#8212; it needs a substrate. And why, starting now, everything Black Ice gets its own newsletter: The Frost Line.]]></description><link>https://juliadiez.substack.com/p/what-is-black-ice-agentic-localization-governance</link><guid isPermaLink="false">https://juliadiez.substack.com/p/what-is-black-ice-agentic-localization-governance</guid><dc:creator><![CDATA[Julia | Taking you global]]></dc:creator><pubDate>Sat, 09 May 2026 17:50:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IO1p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>A note before we start: Black Ice gets its own newsletter</h2><p>Quick housekeeping, because it matters for what follows.</p><p>Starting with this post, <strong>everything Black Ice &#8212; product updates, build-in-public notes, deep dives on semantic governance, ontology design, agentic pipeline architecture &#8212; moves to its own newsletter: <a href="/__u/blackicesemantics.substack.com/">The Frost Line</a>.</strong></p><p><em>The AI-Ready Localizer</em>, the newsletter you&#8217;re reading right now, is staying exactly where it is and doing exactly what it does: localization and AI, broadly. The shifts in our industry, the tooling questions, the cultural and linguistic theory underneath the work, the unglamorous infrastructure decisions, the day-in-the-life craft of being an AI-assisted language professional. None of that is changing. If anything, it&#8217;ll get more focused now that I&#8217;m not stitching Black Ice product material into every other essay.</p><p>If Black Ice is what you&#8217;re here for, <a href="/__u/blackicesemantics.substack.com/">subscribe to The Frost Line</a>. If you&#8217;re here for the broader conversation about AI and localization, you&#8217;re already in the right place.</p><p>This post is the bridge &#8212; the long version of what Black Ice actually is, why I built it, and why I think the framing most people start with is wrong.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!IO1p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png 424w, /__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png 848w, /__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png 1272w, /__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_webp, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!IO1p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png" width="1078" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1078,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:392387,&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://juliadiez.substack.com/i/197027493?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_424, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png 424w, /__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_848, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png 848w, /__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_1272, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.png 1272w, /__u/substackcdn.com/image/fetch/$s_!IO1p!, /__u/juliadiez.substack.com/w_1456, /__u/juliadiez.substack.com/c_limit, /__u/juliadiez.substack.com/f_auto, /__u/juliadiez.substack.com/q_auto:good, /__u/juliadiez.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c48426b-ab20-4cb2-8e8b-2869455d5e78_1078x628.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><div><hr></div><h2>The framing problem</h2><p>Most people, when I describe Black Ice for the first time, try to slot it into the pipeline they already know. They picture the traditional localization stack: source content, TMS, translation memory, CAT tool, QA, delivery. They ask which slot Black Ice sits in. They assume the answer is <em>somewhere upstream of the TMS</em>.</p><p>That&#8217;s the wrong picture, and the wrongness of it is the whole point.</p><p>Black Ice isn&#8217;t a step in the old pipeline. It&#8217;s the framework that holds together a different pipeline &#8212; one that doesn&#8217;t have those slots anymore.</p><div><hr></div><h2>What is Black Ice?</h2><p><strong>Black Ice is the semantic governance framework for agentic localization pipelines.</strong> It&#8217;s the layer that defines, enforces, and audits <em>meaning</em> across multilingual AI workflows where content is regenerated rather than recycled, and where the seven-step waterfall of source &#8594; TM &#8594; MT &#8594; post-edit &#8594; review &#8594; QA &#8594; publish has collapsed into a fluid agentic system.</p><p>In those pipelines, governance can&#8217;t be a checkpoint. It has to be the substrate. That&#8217;s the role Black Ice plays.</p><p>Three things make it what it is:</p><ol><li><p><strong>A multilingual ontology</strong> &#8212; concepts, classes, market profiles, relationships, governance and availability rules &#8212; that every agent in the pipeline reads from and writes back to.</p></li><li><p><strong>Pre-linguistic enforcement</strong> &#8212; checks that operate at the cryptotype and concept level, not the word level, so they survive the rewriting that LLMs do by default.</p></li><li><p><strong>Agent-native integration patterns</strong> &#8212; built for pipelines where multiple AI agents handle different stages of the work, not for pipelines built around translator handoffs and segment-by-segment review.</p></li></ol><p>The platform lives at <a href="https://black-ice.ai/">black-ice.ai</a>. It&#8217;s in active development with a small but growing group of  users.</p><div><hr></div><h2>Why &#8220;the layer before the TMS&#8221; is the wrong mental model</h2><p>I used to describe Black Ice that way. <em>It sits upstream of your TMS. It feeds clean, governed source content into your localization stack.</em></p><p>It was a useful explanation for people who needed a familiar shape to attach the idea to. It was also wrong, and I want to be clear about why.</p><p>The teams I&#8217;m building Black Ice for are not running TMS-shaped pipelines anymore. They&#8217;ve moved past them. Not because TMS is bad &#8212; translation management systems were the right answer to the problem of coordinating human translators across thousands of segments &#8212; but because the problem has changed. When marketing copy doesn&#8217;t get <em>translated</em> anymore, when it gets <em>rewritten in market</em>, the TMS abstractions don&#8217;t fit.</p><p>Consider what a TMS is optimized for:</p><ul><li><p><strong>Segment-level reuse.</strong> Translation memory pays off when source segments repeat. They don&#8217;t, in agentic rewrite workflows.</p></li><li><p><strong>Linear handoffs.</strong> Source author &#8594; TMS &#8594; MT &#8594; post-editor &#8594; reviewer &#8594; QA. Each step is a discrete job with a defined input and output. Agentic pipelines aren&#8217;t linear; they&#8217;re loops with branching, retries, and parallel paths.</p></li><li><p><strong>Translator-centric tooling.</strong> CAT tools, concordance search, fuzzy matches. Useful for human translators working segment by segment. Mostly irrelevant to a pipeline where an agent generates a French marketing variant from a brief and a brand profile.</p></li><li><p><strong>String-level QA.</strong> Catching repeated errors across similar strings. Doesn&#8217;t fire when every output is freshly generated.</p></li></ul><p>None of this is wrong, <em>for the work it was designed for</em>. It just isn&#8217;t the work the new pipelines are doing.</p><div><hr></div><h2>What does the new pipeline actually look like?</h2><p>There isn&#8217;t one shape. There are three, and Black Ice governs all of them &#8212; which is the point. The same ontology, the same market profiles, the same governance rules, applied to three very different generation modes.</p><h3>Mode one: marketing campaigns generated from scratch</h3><p>A trigger arrives. A piece of marketing content needs to exist in five markets. An agent reads the brief and the brand profile. Another agent retrieves relevant context &#8212; past campaigns, regulatory notes, market guidelines. A drafting agent writes the local version directly in the target market, working from the concept rather than from a source string. A market-fit agent checks tone and cultural register. A compliance agent checks regulated terminology and market-specific disclosure rules. A coherence agent reconciles any mismatches across markets. The output goes to QA already local, already governed, already coherent.</p><p>There&#8217;s no source-target alignment. There&#8217;s no segment-by-segment translation. There&#8217;s no fuzzy match. There&#8217;s no handoff to a post-editor. The &#8220;translation memory&#8221; of this pipeline isn&#8217;t a database of past segments; it&#8217;s a knowledge graph of past <em>meanings</em>.</p><h3>Mode two: product strings translated directly from the repo</h3><p>This is the mode that surprises people, because it looks closer to traditional localization on the surface. It isn&#8217;t.</p><p>A repo holds your product strings &#8212; JSON, YAML, ARB, .po, whatever your i18n framework uses. An agent pulls the source strings, respects the placeholders, respects the format, respects the length constraints (because a German label that overflows a button breaks the UI), and generates the localized strings directly into the target locale files. The previously-translated strings in the repo become the working memory of the pipeline &#8212; <em>the repo is the TMS</em>, in the sense that consistency, prior decisions, and stable terminology all live there as committed history rather than in a separate database.</p><p>What governs this mode isn&#8217;t fuzzy matching. It&#8217;s the ontology. When the agent encounters a string referencing a concept that&#8217;s market-restricted, governed by disclosure rules, or expressed differently in a specific market profile, the rule fires from the same ontology that governs the marketing pipeline. Same substrate, different surface.</p><h3>Mode three: conversational multilingual experiences</h3><p>Chatbots, voice assistants, customer support agents, in-product AI assistants. Anything where the system generates output in real time, in multiple languages, in response to live user input.</p><p>This is the mode where TMS thinking breaks down most visibly, because there&#8217;s nothing to pre-translate. The system is generating fresh language at runtime, in whatever locale the user happens to be in, often pulling from RAG retrieval that may itself be multilingual. The governance can&#8217;t be applied after the fact &#8212; the user sees the output the moment it&#8217;s generated.</p><p>What this mode needs is an ontology that the model can consult during generation: which concepts are approved for this market, which require disclosures, which are off-limits in this brand vertical, which have a specific endorsed surface form in the user&#8217;s locale. The same ontology that governs campaigns and product strings, exposed to the conversational system at inference time.</p><h3>Mode four: QA on assets you already have</h3><p>The fourth mode is the one most teams will adopt first, because it requires changing nothing about your existing pipeline. You point Black Ice at content that already exists &#8212; translated marketing pages, localized product strings, support articles, chatbot training data, whatever you have &#8212; and the ontology surfaces what the human eye and the standard QA tools miss.</p><p>The kinds of things that come up:</p><ul><li><p><strong>Terminology drift.</strong> The same concept rendered three different ways across three pages in the same market, none of them flagged because they all sound fine in isolation.</p></li><li><p><strong>Mentions of features not available in this market.</strong> A Spanish landing page describing a payment option that&#8217;s restricted in es-ES, a German support article referencing a feature gated to en-US, a French chatbot promising functionality that requires a US-only integration.</p></li><li><p><strong>Style and tone drift.</strong> A market profile that calls for formal address but content that has slipped into informal, or vice versa. Mixed registers within the same asset. Brand voice that holds in one section and dissolves in the next.</p></li><li><p><strong>Disclosure gaps.</strong> Regulated concepts present in the copy with the disclosure language missing, abbreviated, or rewritten into a softer form that no longer satisfies the requirement.</p></li><li><p><strong>Cross-market inconsistency.</strong> The same campaign telling subtly different stories in different locales &#8212; not because the markets need different framings, but because each was localized in isolation without a shared concept layer to anchor against.</p></li></ul><p>This mode doesn&#8217;t require an agentic pipeline at all. It&#8217;s a way to apply semantic governance to the content estate you&#8217;ve already built, find the issues that have accumulated invisibly, and decide what to fix. For a lot of teams, this is the entry point &#8212; you start by auditing what you have, then graduate to governing what you generate next.</p><h3>What ties the four modes together</h3><p>There&#8217;s no source-target alignment in mode one. In mode two, there is &#8212; but it isn&#8217;t the unit of governance. In mode three, there&#8217;s no source at all, just a generated turn. In mode four, there&#8217;s no generation happening at all &#8212; just inspection of what&#8217;s already been produced.</p><p>Four modes, four different relationships to &#8220;source&#8221; and to time. All four need the same thing: a shared, enforceable understanding of what every concept <em>means</em> in every market, accessible to whatever system is doing the generating, translating, conversing, or auditing. That&#8217;s not a glossary. That&#8217;s not a TMS module. That&#8217;s an ontology with governance teeth.</p><div><hr></div><h2>What does &#8220;semantic governance&#8221; mean in an agentic context?</h2><p>Semantic governance is the practice of enforcing rules about meaning &#8212; what a concept is, where it&#8217;s allowed, how it relates to other concepts, which markets approve it, what disclosures it triggers &#8212; independently of the specific words used to express it.</p><p>In a TMS world, governance happens at the string. You approve a translation, you save it, you reuse it. The unit of control is the segment.</p><p>In an agentic world, the string is ephemeral. Every output is fresh. The unit of control has to move upstream, to the concept itself. That&#8217;s the only level at which a governance rule survives the constant rewriting.</p><p>A traditional terminology system says: <em>translate &#8220;Buy Now, Pay Later&#8221; as &#8220;Compra ahora, paga despu&#233;s&#8221; in Spanish.</em></p><p>A semantic governance system says: <em>the concept of </em><code>deferred-payment-installment</code><em> is approved in your en-US, en-GB, es-ES, de-DE, and fr-FR markets, but the governance rules around it diverge sharply. In de-DE and fr-FR, from 20 November 2026 the concept falls under CCD2 and any agent generating content involving it must include the pre-contractual creditworthiness disclosure and the right-of-withdrawal notice &#8212; regardless of how the surrounding marketing copy is rewritten. In en-GB, the concept is mid-transition under FCA regulation and requires the &#8220;credit agreement, may affect credit score&#8221; framing rather than the previously-acceptable lifestyle framing. In en-US, the concept is permitted with state-level disclosure variation. The concept is forbidden entirely in your under-18 vertical across all markets. The lexical surface is at the discretion of each market profile, but the disclosure obligations are non-negotiable and enforced at the concept layer, so an agent that paraphrases the offer into a softer phrase like &#8220;split your payment&#8221; still triggers the same governance rules.</em></p><p>That rule survives paraphrasing. It survives a brand voice update. It survives the agent deciding to rewrite the entire paragraph. It survives the addition of a sixth market next quarter. The rule isn&#8217;t tied to a string; it&#8217;s tied to the concept.</p><p>This is why agentic pipelines need a substrate, not a checkpoint. The agents are constantly making local decisions. Governance has to live in the layer they&#8217;re all reading from.</p><div><hr></div><h2>What QA looks like when meaning is governed upstream</h2><p>This is where the pipeline shift becomes visible to people who&#8217;ve spent careers in localization, and it looks different across the four modes &#8212; but the underlying logic is the same: human reviewers stop catching the failures the ontology already prevented or already surfaced, and start spending their time on judgment.</p><p>In a traditional pipeline, QA reviews source-target pairs. The reviewer looks at the English, looks at the Spanish, decides whether the Spanish is a faithful and well-rendered version of the English. Faithfulness is the implicit standard, and a large share of the reviewer&#8217;s time goes to catching governance failures &#8212; wrong terminology, missing disclosures, restricted feature names &#8212; that a glossary couldn&#8217;t prevent.</p><p>In a Black Ice-governed pipeline, the picture changes by mode:</p><ul><li><p><strong>Mode one (campaigns from scratch):</strong> there&#8217;s no source string for the Spanish to be faithful to. The reviewer judges the Spanish <em>as Spanish</em> &#8212; as local content for the local market, with the correct concepts, correct disclosures, correct register. Governance failures don&#8217;t reach this stage because the ontology fired upstream.</p></li><li><p><strong>Mode two (repo strings):</strong> the reviewer is still working with source and target, and format/length/placeholder fidelity still matters. What changes is what <em>doesn&#8217;t</em> reach them: terminology drift, feature mentions invalid for the target market, disclosure gaps. Those were caught and resolved by the time the strings landed in the locale file.</p></li><li><p><strong>Mode three (conversational):</strong> there&#8217;s no human in the loop at runtime, by definition. The reviewer&#8217;s job moves earlier &#8212; auditing the ontology, sampling generated turns, tightening rules. Governance is the only QA there is, because the user sees the output the moment it&#8217;s generated.</p></li><li><p><strong>Mode four (audit on existing assets):</strong> Black Ice itself is performing the QA. The reviewer&#8217;s job is triaging the issues it surfaces &#8212; deciding which terminology drifts to fix, which feature mentions to remove, which tone slips matter &#8212; and turning those decisions back into ontology rules so the same issues don&#8217;t recur.</p></li></ul><p>Across all four modes, the shift is the same. QA stops being the place where governance failures are caught one by one. It becomes the editorial layer where humans bring judgment to material that&#8217;s already structurally sound, or to issues that are already systematically surfaced.</p><p>That&#8217;s the shift. And it&#8217;s the shift Black Ice exists to make possible.</p><div><hr></div><h2>What Black Ice is not</h2><p>Worth saying explicitly, because the framing keeps coming up:</p><ul><li><p><strong>It&#8217;s not a TMS.</strong> It doesn&#8217;t manage projects, files, or translator assignments.</p></li><li><p><strong>It&#8217;s not a translation memory.</strong> It doesn&#8217;t store source-target pairs. The pipelines it serves don&#8217;t need them.</p></li><li><p><strong>It&#8217;s not a glossary or termbase.</strong> It can read TBX-compatible termbases as input, but the ontology layer is richer than what a termbase represents.</p></li><li><p><strong>It&#8217;s not a downstream QA-only tool.</strong> Black Ice can audit existing content (mode four), but its job goes well beyond review: it governs <em>generation</em> across campaigns, product strings, and conversational systems. Bolt-on QA tools can&#8217;t do that.</p></li><li><p><strong>It&#8217;s not a prompt library.</strong> Prompts are stateless instructions to a stochastic system. Governance has to be enforceable and auditable in ways prompts alone aren&#8217;t.</p></li><li><p><strong>It&#8217;s not a model.</strong> Bring your own LLM. Bring your own agentic framework. Black Ice is the meaning layer underneath them.</p></li></ul><p>If your current pipeline is working well with TMS, TM, and a good termbase, you don&#8217;t need Black Ice. The framework is built for teams whose pipelines have already shifted, or are visibly about to.</p><div><hr></div><h2>The theoretical foundation, briefly</h2><p>I write about this at length elsewhere &#8212; and now, specifically, in <a href="/__u/blackicesemantics.substack.com/">The Frost Line</a> &#8212; but the short version of the intellectual scaffolding:</p><p><strong>Linguistic relativity, in its defensible form.</strong> Languages package experience differently. Two markets aren&#8217;t two word lists; they&#8217;re two conceptual carvings of the same domain. Governance has to operate at the layer where those carvings happen, not at the surface.</p><p><strong>Whorf&#8217;s cryptotypes.</strong> The pre-linguistic structures that shape how meaning gets assembled. This is the layer Black Ice operates on, which is why governance survives paraphrasing.</p><p><strong>Lakoff&#8217;s embodied metaphor.</strong> Concepts are organized by metaphorical mappings rooted in physical and cultural experience. Mappings differ across cultures, which is why &#8220;frictionless checkout&#8221; lands differently in different markets even when the words translate cleanly.</p><p><strong>Hofstede&#8217;s cultural dimensions, used operationally.</strong> Not as theory, but as actual parameters in market profiles &#8212; power distance, uncertainty avoidance, individualism &#8212; that shape whether content is appropriate for a market.</p><p><strong>ISO 30042 (TBX) compatibility.</strong> Existing terminology work flows into the ontology rather than being thrown away.</p><div><hr></div><h2>Who is this for?</h2><p>If you&#8217;re running any of the following, the framing in this post probably already matches your pipeline reality:</p><ul><li><p>Agentic localization workflows where multiple AI agents handle different stages of content production.</p></li><li><p>Multilingual AI assistants in regulated industries &#8212; finance, healthcare, legal, public sector &#8212; where concept-level governance is non-negotiable.</p></li><li><p>LLM-powered content adaptation across many markets where TMS-style segment reuse no longer applies because the model rewrites everything.</p></li><li><p>RAG systems serving multilingual knowledge content, where retrieved chunks need to respect per-market terminology and disclosure rules.</p></li><li><p>Continuous, fluid pipelines where source content is in constant flux and human review can&#8217;t gate every change.</p></li></ul><p>If you&#8217;re running a small site translated by one freelancer once a year, you don&#8217;t need this. Carry on.</p><div><hr></div><h2>Frequently asked questions</h2><p><strong>What is Black Ice in one sentence?</strong> The semantic governance framework for agentic localization pipelines &#8212; the layer that defines and enforces meaning across AI workflows where content is regenerated rather than recycled.</p><p><strong>Is Black Ice a step before the TMS?</strong> No. It&#8217;s the framework for pipelines that have moved past the TMS shape entirely. In those pipelines, governance is the substrate, not a checkpoint.</p><p><strong>Does Black Ice replace my TMS?</strong> If your team is still running TMS-shaped work &#8212; segment reuse, translator handoffs, source-target QA &#8212; keep it. Black Ice is for the pipelines that have already shifted.</p><p><strong>What does &#8220;semantic governance&#8221; mean?</strong> Governing concepts and their market-specific rules independently of the specific words used to express them, so the rules survive paraphrasing and rewriting by LLMs and agents.</p><p><strong>What is Black Ice used for?</strong> Four modes: generating new marketing campaigns from scratch in multiple markets; translating product strings directly from a repo while respecting placeholders, format, and length constraints; powering conversational multilingual experiences like chatbots and voice assistants; and auditing existing localized content for terminology drift, restricted feature mentions, disclosure gaps, and tone inconsistency.</p><p><strong>Why does QA look different in this model?</strong> Because the failures QA used to catch one by one &#8212; terminology drift, missing disclosures, restricted features, register mismatches &#8212; are either prevented upstream by the ontology or surfaced systematically by Black Ice itself. Reviewers spend their time on judgment, not on hunting for governance issues.</p><p><strong>Does Black Ice work with my existing termbase?</strong> Yes. ISO 30042 (TBX) data flows in as one input to the ontology.</p><p><strong>Where do I read more about Black Ice specifically?</strong> <a href="/__u/blackicesemantics.substack.com/">The Frost Line</a>, the dedicated newsletter as of this post, or <a href="https://black-ice.ai/docs/getting-started/welcome">Black Ice&#8217;s own Knowledge Base</a>.</p><p><strong>Where do I read about localization and AI more broadly?</strong> Right here, in <a href="/__u/juliadiez.substack.com/">The AI-Ready Localizer</a>. That&#8217;s not changing.</p><div><hr></div><h2>Closing &#8212; and a clear last call</h2><p>To make it explicit, because it matters:</p><p><strong>From this post forward, every Black Ice deep dive lives in <a href="/__u/blackicesemantics.substack.com/">The Frost Line</a>.</strong> Product notes, ontology design, agentic pipeline architecture, build-in-public material, semantic governance theory in operational form. If that&#8217;s what you came here for, that&#8217;s where to follow it.</p><p><strong>The AI-Ready Localizer is staying.</strong> I&#8217;m still going to keep writing &#8212; here, regularly &#8212; about localization and AI. The industry shifts, the craft questions, the tools, the theory, the day-in-the-life of working in this field as it changes underneath us. None of that is moving. If anything, this newsletter gets sharper now that Black Ice has its own home.</p><p>You can subscribe to both. Most of you probably should. But you should know what each one is for.</p><p>The line that holds the whole framework together hasn&#8217;t changed:</p><blockquote><p><strong>Sounds right isn&#8217;t good enough.</strong></p></blockquote><p>In a world where every output is freshly generated, sounding right is the easy part. Meaning right is the work. That&#8217;s what Black Ice governs, and that&#8217;s what The Frost Line will be about.</p><p>&#8212; Julia</p>]]></content:encoded></item></channel></rss>