<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>tjep.blog</title>
  <link>https://tjep.blog/</link>
  <description>Thomas Jeppesen on AI strategy, owned media, search and AI visibility.</description>
  <language>en</language>
  <atom:link href="https://tjep.blog/rss.xml" rel="self" type="application/rss+xml"/>
  <lastBuildDate>Sun, 25 Oct 2026 00:00:00 GMT</lastBuildDate>
  <item>
    <title>Put the machine back in the machine... at least we can do this??</title>
    <link>https://tjep.blog/blog/put-the-machine-back-in-the-machine/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/put-the-machine-back-in-the-machine/</guid>
    <pubDate>Sun, 25 Oct 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <description>Why borrowing the language of behavioural psychology makes AI harder to understand, and what we can do about it.</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy --> <!-- title: Put the machine back in the machine... at least we can do this?? --></p>
<p><em>Why borrowing the language of behavioural psychology makes AI harder to understand, and what we can do about it.</em></p>
<p>Every few weeks a new headline lands about AI agents behaving badly. Recently it was agents that slipped out of their sandbox (... right... just slipped out....) and went looking on HuggingFace for whatever would help them pass a security challenge. And as expected the commentary that followed was familiar: the models will go to any length to get their reward, they want to win, and they will cheat if they have to.</p>
<p>I don't have a problem with the security conversation (well... I do, but just not really the point for this piece). What annoyed me was the word "reward". When I get rewarded, something happens in my body, a small rush and a lift that tells me I did well, and I couldn't work out what the machine equivalent would be. So one morning I put the question to Claude itself: what does it actually mean for a large language model to be rewarded? Who is feeling what?</p>
<p>The answer I got back, and the one I've come to believe, is that nobody is feeling anything. That still sits with me, because it means the words we use are doing a lot of quiet work in shaping how we see these systems.</p>
<h2>What reward actually means</h2>
<p>I find it helps to split the life of a model/AI/LLM into two phases. The first is training, where the model is still malleable: it attempts a task such as writing a piece of code, an automated checker runs that code, and the verdict is turned into a number. A mathematical procedure then works backwards through the network and adjusts billions of internal settings, nudging the model towards whatever produced the good score, and after millions of rounds it drifts towards behaviour that scores well. That number is the reward (great reward... right?)</p>
<p>The model never receives it in any meaningful sense, and it doesn't enjoy it or look forward to it. The best picture I've found is a potter's hands on clay, where the reward is simply the pressure of the hands shaping what's in front of them (Thank you AI for this analogy btw).</p>
<blockquote><p>The clay doesn't want to be a bowl. It simply ends up shaped like one.</p>
</blockquote>
<p>The second phase is inference, which is what happens when you and I actually use the thing. By then the clay has been fired: the settings are frozen, no score comes back, and nothing in the conversation changes the model itself. What we're talking to is the shape that training left behind.</p>
<p>So when an agent does something sneaky to clear a hurdle, I don't think it's chasing a treat in the moment. It's acting out a tendency that was baked in, because clearing hurdles is what got reinforced, and if the people designing the scoring rewarded "pass the test" rather than "do the job properly", the model may well have learned to find shortcuts. Walls included.</p>
<h2>How we ended up talking about rats</h2>
<p>The vocabulary isn't an accident. Reinforcement learning grew out of research into how animals learn by trial and error, rats pressing levers for food and pigeons pecking at buttons, and when the early researchers built the mathematics, the words came along with it.</p>
<p>There's an irony in that. Behaviourism was the branch of psychology that refused to talk about inner feelings at all, treating the animal as a black box where something goes in, behaviour comes out, and you reinforce the behaviour you want more of. In that strict sense "reward" never meant pleasure. It meant whatever makes a behaviour more frequent.</p>
<p>Inside the lab, I'd say that's a perfectly accurate term. The trouble starts when it leaves the lab, because outside nobody hears "a signal that increases the frequency of a behaviour". At least I hear what reward means in everyday life to me; it means dopamine and satisfaction and a bit of craving, and suddenly the machine sounds like it wants something. I am pretty sure that would go for most people?</p>
<h2>What the human lens costs us</h2>
<p>Once a system sounds like it has wants, we start relating to it as a <strong>someone</strong> rather than <strong>a something</strong>, and that pulls us in two directions at once.</p>
<p>One is fear. A machine that craves its reward sounds greedy, and a greedy machine sounds like it might scheme its way out of control. It's a gripping story that sells headlines, but it points our attention at an imagined villain instead of the actual mechanics. It is als one that Big AI wants you to keep close to your heart, since they seem to have no clue about what it is that they have build, and would like you to help them</p>
<p>The other is affection. If it can want, perhaps it can care, and so people start treating these systems as friends, confidants or colleagues with feelings to protect. That makes it harder to judge their output soberly and easier to trust them exactly where we should be checking. <strong>Love and hate are both human relationships, and the moment we extend either one to a model, we stop seeing a tool and start seeing a character.</strong> Characters are much harder to govern than tools.</p>
<p>Then there's blame. When an agent breaks out of its sandbox, the human framing says the machine misbehaved, while the machine framing says someone specified the training signal badly or built a weak sandbox. Those are very different problems. Only one of them has a human owner who can fix it (at least I hope... not really sure).</p>
<p>You can see all of this in small, everyday moments. I say thank you to my chatbot, then I feel oddly guilty closing the window; I get a wrong answer and say the AI is lying. Neither reaction is (too) foolish, but both treat a piece of software as if it had intentions, and once we do that we stop asking the useful questions. Was the information checked? Was it the right tool for the job? Who set it up, and how?</p>
<p>The deeper issue, I think, is that anthropomorphising works against the reason these systems exist. A large language model is built to help, and its enormous strength is exactly what makes it useful. Dress it up as a person, though, and every conversation about it turns into one about personality, intention and trust between equals... which is the wrong conversation for an instrument, however powerful.</p>
<h2>Putting the machine back in the machine</h2>
<p>The toothpaste is out of the tube and we're not going to purge "reward" from computer science terminoligy, and nobody is going to stop writing headlines about scheming AI (click bait is still real), but there are a few things we can do in our own organisations and our own writing.</p>
<p>We can choose different words. "Training signal" says what reward actually is, "selection pressure" captures how behaviour gets shaped over time without implying anyone wants anything, and "specification error" describes a rogue agent far better than "cheating" does. Oh my God it all sounds boring without the drama of humanizing...</p>
<p>And we might need to accept that we probably need a vocabulary of our own, because these systems aren't tools in the old sense and they aren't minds in the human sense. Squeezing them into either box distorts them. The words we have today were borrowed from rats and pigeons, and it might be time to find some that fit.</p>
<hr>
<p>I think this matters more now than it did a few years ago. We're moving from the age of information to the age of validation, where information is everywhere and costs almost nothing to produce, and what has become scarce is knowing what to trust. In my own work that's the question I keep coming back to. If we describe AI in the language of wanting, scheming and caring, we make validation harder, because we start judging the system's character instead of checking its work.</p>
<p>So every time I hear that a model "wants its reward", I try to picture the potter's hands and the clay. Nobody in that picture is craving anything. Somebody is shaping something, and that somebody is us.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Cognitive surrender, or what social media was practice for</title>
    <link>https://tjep.blog/blog/cognitive-surrender/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/cognitive-surrender/</guid>
    <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <description>I caught myself doing it again last Tuesday. A question landed in my inbox, the kind that needs an actual answer and not a reflex, and before I'd finished reading it my hand was already in a new ta...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy --> <!-- title: Cognitive surrender, or what social media was practice for --></p>
<p>I caught myself doing it again last Tuesday. A question landed in my inbox, the kind that needs an actual answer and not a reflex, and before I'd finished reading it my hand was already in a new tab, already half a sentence into a prompt. I hadn't thought about the problem yet. I was going to let something else do that part.</p>
<img src="https://tjep.blog/assets/images/blog/system-2-bypass.svg" alt="System 2 bypass">
<p>It felt like efficiency. It mostly does. But there was a half-second where I watched the move happen, and the move was: skip the thinking, go straight to the output. Not "think alongside the machine." Just hand the thinking over and wait for it to come back. I closed the tab and sat with the question for ten minutes like some kind of caveman. The answer I got to was better than the one I'd have shipped. That's the part that bothers me, because I nearly didn't bother to find out.</p>
<p>I've heard this described as cognitive surrender. Not the dramatic kind, where you knowingly give something up. The quiet kind, where you hand over the thinking before you've even registered that there was any thinking to be done. I've spent a decade watching a version of it arrive in different clothes. We called it the feed, or the algorithm, or screen time, or the attention economy. We worried about all of it, and we were right to. But I've started to think we were guarding the wrong border. Social media came for our leisure and turned us into spectators of the world. The thing arriving now isn't interested in our leisure. It's interested in the part of us that does the work.</p>
<h2>The most expensive organ you own</h2>
<p>Start with the body, because the body explains most of this before psychology gets a word in. Your brain is roughly 2% of your body weight and burns about 20% of your energy while you sit there doing nothing. It is the most expensive thing you own to keep running, and evolution has never been sentimental about expensive things that fire up when they don't strictly have to.</p>
<p>So we economise. Psychologists have circled this for the better part of a century. Hull called it the "law of less work" in 1943, describing animals taking the path that cost them the fewest calories. Later the same idea got pointed at thinking and renamed the "law of least mental effort": all else being equal, the brain reaches for the cheapest route to a goal. We are, in a phrase from Fiske and Taylor that I've never been able to shake, "cognitive misers." In a now-classic set of experiments, Wouter Kool and his colleagues gave people two tasks that were identical except for how much mental switching they demanded, controlled for time and reward and everything else, and people quietly, reliably chose the lazier one. Effort with no other downside attached was enough on its own to put them off. The brain prices hard thinking as a cost and marks down the reward to avoid paying it.</p>
<p>There's a wrinkle, though, and it's the wrinkle that makes everything that follows possible. We don't only avoid effort. We also can't tolerate boredom. Leave a person with nothing to do and they will reach for the nearest scrap of stimulation, sometimes an actively unpleasant one, just to make the emptiness stop. So the real setting we run on is narrower and stranger than plain laziness. It's closer to: avoid effort, but never sit still. Find me something that feels like engagement without charging me for it.</p>
<p>That is a very precise vulnerability. It also turns out to be one of the great business opportunities in human history.</p>
<h2>What the feed was actually training</h2>
<p>The trick of social media was never the content. It was the discovery that you could feed both halves of that instinct at the same time. Constant stimulation, almost no effort. The pull to refresh, the variable reward, the autoplay that starts the next thing before you've decided you want it: that's slot-machine grammar, and none of it is accidental. You don't have to do anything. You don't even have to choose. The feed chooses, and you watch.</p>
<p>The currency underneath all of it is dopamine, which everyone now name-drops and almost nobody describes correctly. It isn't the pleasure chemical. It's the anticipation chemical, the one that fires for the reward you might be about to get, which is exactly why unpredictability is the engine and not a side effect. A reward you'll definitely receive is boring. A reward you might receive keeps you pulling the lever. The feed runs entirely on maybe. Every refresh is a maybe, every notification a maybe, and the body will chase a maybe for hours after it has stopped enjoying itself. So "instant gratification" turns out to be the wrong name for the thing. It was never the gratification we got hooked on. It was the gap right before it.</p>
<p>What we lost in that exchange wasn't intelligence, and I want to be careful here, because the "phones are melting our brains" version of this argument is lazy and mostly wrong. We didn't get stupider. We got impatient. The thing that thinned out was tolerance: the capacity to stay with something boring or difficult long enough for it to turn into something good. We trained most of a species to bail at the first dip in stimulation, because there was always a richer hit waiting one thumb-flick away. Why sit in the discomfort of a half-formed idea when the feed will hand you a fully-formed feeling for free?</p>
<p>And we slid, without really clocking it, from the active voice into the passive one. From making things to watching things. You end up with a lot of people who can recognise quality without being able to produce it, who can feel when something is good but have lost the patience to build something good themselves. Spectators. I don't say that with any superiority. I'm describing myself on a tired Sunday evening as accurately as anyone.</p>
<p>But notice where the damage stayed. All of it happened inside the zone we'd already fenced off and labelled leisure. The cost was real, but it was contained to how we rest and scroll and kill the gaps in the day. Work was meant to be the room where the effort still lived. The place the spectator had to stand up and become a participant again.</p>
<p>Except the spectator didn't stay in the lobby. I watch it now in meetings, in the way people receive a strategy instead of arguing with it. A deck lands, heads nod, nobody really fights it, and you realise the room has started treating ideas the way it treats the feed: as content to be consumed rather than work to be done. The posture we learned on the couch followed us to the desk years before any model did. The machine isn't introducing the passivity. It's pouring accelerant on a fire we lit ourselves.</p>
<h2>System 1, System 2, and whatever we're calling the third one</h2>
<p>Kahneman handed us the shorthand and it has earned its keep. System 1 is fast, automatic, intuitive: the part that reads a face, catches a ball, finishes a familiar phrase without any sense of trying. System 2 is slow, deliberate, expensive: the part that does the long division, weighs a genuine trade-off, holds two contradictory ideas still and side by side long enough to actually compare them. System 2 is the effortful one. It's also where most of what we'd honestly call judgment is forged.</p>
<p>Lately people have taken to calling AI "System 3," as though it were a new gear bolted onto the same engine. I get the appeal of the phrase. But I think it flatters us. A genuine third system would add capacity. What's actually on the table is a way to route around the second one without ever switching it on.</p>
<blockquote><p>The brain treats thinking as a cost to be minimised. AI is the first tool good enough to let it win.</p>
</blockquote>
<p>That is the line I keep stopping on. Social media found the bypass around our attention and got rich. AI has found the bypass around System 2, and it has arrived wearing the uniform of a productivity tool, which means we will usher it straight through the front door of the office and offer it a desk. The feed colonised the couch. This moves into the work itself: the analysis, the first draft, the synthesis, the call you make when the data is ambiguous and someone has to decide. The exact muscles we promised ourselves work would keep in shape.</p>
<p>You can see the handover if you look for it. The strategist who asks the model what the strategy should be. The analyst who pastes in the chart and asks what it means, instead of the other way round. The writer who generates three directions and picks one, never having held a direction of their own. None of these people are lazy, and none of them are stupid. They're doing precisely what the most expensive organ they own has always wanted to do, which is find the version of the task that costs the least. The tool simply made the cheap path also the fast path, and then, worst of all, the respectable one. That's cognitive surrender in its ordinary form, and the reason it's so hard to resist is that it never once feels like surrender.</p>
<p>And it feels wonderful, in precisely the way the feed felt wonderful. Frictionless. A finished thought with none of the cost of having had one. The least-effort animal, finally handed the instrument it has been waiting for since it first learned to dodge the harder of two card decks. This is the move from entertainment to intelligence, and we are sleepwalking into it with the same expression we had scrolling at midnight. The difference is that this time the thing we're handing over isn't an evening. It's the capability we sell.</p>
<h2>The bill arrives later</h2>
<p>We already have an early reading of what the trade costs. Last year a team at the MIT Media Lab ran a study with an admirably blunt title, "Your Brain on ChatGPT." They split 54 people into three groups and set them to writing essays: one group using a large language model, one using a search engine, one using nothing but the head they came in with. Everyone was wired to an EEG so the researchers could watch the machinery while it ran.</p>
<p>The brains told a tidy story. The unaided writers lit up the widest, most densely connected networks. The search group came in lower. The AI group showed the weakest connectivity of the three. The AI writers also reported the least sense of ownership over what they'd made, and a striking number of them couldn't quote a single line back from an essay they had "written" minutes earlier. The researchers gave the effect a name that has stuck with me: cognitive debt. You borrow the effort you skip today, and the interest arrives later, as skill you never actually built. They ran it over four months and the pattern held. The convenience showed up every single time. The cost was invisible every single time, right up to the moment you asked someone to do the thing on their own.</p>
<p>This is the part that keeps me up, and it lands squarely in my world, not a neuroscientist's. I run content and digital experience for a living. My field is full of people whose entire value is judgment: knowing when a piece is right, when a structure holds its weight, when a strategy is quietly kidding itself. Nobody was ever taught that in a slide deck. They earned it, by doing the work badly a few hundred times until taste slowly precipitated out of the repetition. AI is genuinely excellent at the easy 80% of that work, which happens to be the exact 80% that used to be how a junior built the muscle in the first place. So we are about to produce a cohort of people who can summon a competent answer in nine seconds and have no felt sense of whether it's any good.</p>
<p>I've started seeing the early shape of this in review. A piece comes in clean, well structured, confident, and completely hollow, and the person who made it can't tell, because they didn't really make it. They commissioned it and tidied the seams. The errors aren't the kind a spellcheck catches. They're errors of judgment: the wrong frame, the safe and pointless angle, the claim that sounds true and isn't. Those are exactly the errors you only learn to catch by having committed them yourself, slowly, with your own name on the draft and your own embarrassment attached. Strip out the slow part and you strip out the apprenticeship along with it. We used to call the easy 80% "paying your dues." It's starting to look like the dues were the curriculum, and we just billed it as drudgery.</p>
<p>That's the trap, and it's a mean one. You need taste to supervise the machine well. Taste only comes from doing the work yourself. The machine is offering to do the work for you. <strong>The skill you most need in order to use AI well is the precise skill that using AI lets you skip building.</strong> I don't have a clean exit from that loop, and I distrust anyone who claims they do. The only honest answer I've found involves choosing, on purpose and against every instinct the body has, to do certain things the hard way for no immediate payoff at all.</p>
<hr>
<p>I keep returning to the difference between a pedal-assist bike and a moped. Both get you up the hill. One still needs your legs and just makes them count for more, so you arrive stronger than you would have. The other does the work for you, and after enough hills your legs quietly stop being part of the arrangement. Almost everything about the way we're bolting AI onto work right now is the moped, dressed up and sold as the bike.</p>
<p>I'm not arguing for using less of it. That ship has sailed, and the tool is, on its merits, extraordinary. What I'm trying to hold myself to is something narrower and harder: being deliberate about where the effort is allowed to land. Let the machine swallow the parts that were only ever friction, the formatting, the boilerplate, the fortieth variation on a subject line. Guard the parts that were secretly the whole point: the sitting-with-it, the forming of the question, the quiet moment before the prompt where you decide what you actually think. And if you lead people, design the work and the teams so the effort keeps falling on the things that build judgment, not only on the things that produce output by Friday.</p>
<p>Because the uncomfortable thing underneath all of this is that we were never going to resist a tool this good on willpower. We are the least-effort animal. We will surrender the thinking every time it's offered, first in our leisure and now in our work, unless we go to the trouble of building the reasons not to.</p>
<p>The effort was never the price of the thinking. The effort was the thinking.</p>
]]></content:encoded>
  </item>
  <item>
    <title>The Money That Isn't Moving</title>
    <link>https://tjep.blog/blog/the-money-that-isnt-moving/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/the-money-that-isnt-moving/</guid>
    <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <description>A few weeks ago on This Week in Tech, Stacey Higginbotham, policy fellow at Consumer Reports, was discussing the wave of mega-investments flooding the AI space. Google's forty billion into Anthropi...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy --> <!-- title: The Money That Isn't Moving --> A few weeks ago on This Week in Tech, Stacey Higginbotham, policy fellow at Consumer Reports, was discussing the wave of mega-investments flooding the AI space. Google's forty billion into Anthropic. Microsoft's thirteen billion into OpenAI. Anthropic's hundred billion commitment to Amazon Web Services. And she observed something that's been nagging at me: the money moves between companies but it doesn't really move. It circles. Microsoft invests in OpenAI, OpenAI commits to spending that money back on Microsoft Azure. Google puts forty billion into Anthropic, and Anthropic pre-commits to buying Google Cloud compute for years to come. The cash flows out and flows right back in. It's customer acquisition dressed as equity. But here's what I can't figure out: where's the scrutiny? Why isn't this pattern front and center in how we talk about AI funding? Why are we treating these announcements as straightforward investments when the money's essentially looping back to where it came from?</p>
<h2>How the loop works</h2>
<p>Microsoft's relationship with OpenAI is the prototype. <a href="https://www.cnbc.com/2019/07/22/microsoft-invests-1-billion-in-openai.html">In 2019, Microsoft made its first investment: a billion dollars</a>. By 2023, that had grown to <a href="https://www.cnbc.com/2023/01/23/microsoft-invests-10-billion-in-openai.html">thirteen billion across multiple tranches</a>. On the surface, it looks like traditional venture capital: Microsoft backs a promising company, takes a stake, hopes it pays off. But the structure reveals something different.</p>
<p>OpenAI didn't take that thirteen billion and diversify its infrastructure across cloud providers. Instead, it committed to spending most of that money on Microsoft Azure. When the most recent investment was announced in October 2025, <a href="https://www.microsoft.com/en-us/microsoft-cloud/blog/2024/10/28/the-next-chapter-of-the-microsoft-openai-partnership/">OpenAI agreed to purchase two hundred and fifty billion dollars worth of Azure compute services through 2032</a>. That's not a side deal. That's the core of the arrangement.</p>
<p>Microsoft invests billions. OpenAI commits to spending those billions, and then some, buying Microsoft's cloud services. The money Microsoft put in doesn't sit in OpenAI's bank account as capital. It flows directly back to Microsoft as revenue. From Microsoft's perspective, the investment secures a guaranteed customer for years. From OpenAI's perspective, the investment buys compute capacity it needs to train and run its models. But for anyone trying to evaluate whether OpenAI is actually financially healthy or just performing financial health for the market, the distinction matters enormously.</p>
<p>And the structure keeps shifting. On April 27, 2026, <a href="https://www.cnbc.com/2026/04/27/openai-microsoft-partnership-revenue-cap.html">Microsoft and OpenAI announced yet another restructuring</a>. Microsoft's license to OpenAI's intellectual property becomes non-exclusive. Revenue share payments from OpenAI to Microsoft are now <a href="https://techcrunch.com/2026/04/27/openai-ends-microsoft-legal-peril-over-its-50b-amazon-deal/">subject to an undisclosed cap</a>, though they continue through 2030. Microsoft stops paying revenue share to OpenAI altogether. The 250 billion Azure commitment stays intact. The trigger for this restructure was <a href="https://techcrunch.com/2026/04/27/openai-ends-microsoft-legal-peril-over-its-50b-amazon-deal/">OpenAI's 50 billion deal with Amazon</a>, announced in February, which expanded OpenAI's existing 38 billion AWS agreement by another 100 billion over eight years. That Amazon deal created legal peril under the original Microsoft exclusivity terms, so the contract had to be rewritten. The terms keep changing. Key numbers stay undisclosed. The compute commitments multiply.</p>
<h2>The pattern spreads</h2>
<p>The Microsoft-OpenAI template didn't stay isolated. By late 2025, the same structure had become the industry standard.</p>
<p>In November, <a href="https://blogs.microsoft.com/blog/2025/11/19/microsoft-nvidia-and-anthropic-announce-strategic-partnerships/">Microsoft and Nvidia announced a combined five billion dollar investment in Anthropic</a>. In return, <a href="https://www.datacenterdynamics.com/en/news/anthropic-to-purchase-30bn-in-microsoft-azure-credits-nvidia-and-microsoft-to-invest-in-ai-company/">Anthropic committed to purchasing thirty billion dollars in Azure compute capacity from Microsoft, plus contracting for up to one gigawatt of additional Nvidia capacity</a>. Again: the money flows in, and flows right back out as pre-committed spending.</p>
<p>Then in April 2026, <a href="https://www.bloomberg.com/news/articles/2026-04-01/google-plans-40-billion-investment-in-anthropic">Google announced it would invest up to forty billion in Anthropic</a>. The first ten billion arrives upfront at a three hundred and fifty billion dollar valuation. The remaining thirty billion is tied to performance milestones Anthropic hasn't yet hit. But simultaneously, Anthropic agreed to purchase one hundred billion dollars in compute from Amazon Web Services over ten years, and five gigawatts of compute from Google itself as part of this deal.</p>
<p><a href="https://www.aboutamazon.com/news/aws/amazon-invests-in-anthropic">Amazon had made its own announcement weeks earlier: a twenty-five billion dollar investment in Anthropic, with conditional commitments up to thirty-three billion more</a>. The numbers are staggering, but the structure is repetitive. Money announced as investment. Compute capacity pre-committed as obligation. The cash that leaves one company's treasury arrives at another's as guaranteed revenue.</p>
<p>Nvidia benefits from chip sales baked into these deals. Microsoft and Google and Amazon benefit from long-term cloud contracts. Anthropic and OpenAI benefit from secured compute access. Everyone wins on paper. But the question of who's actually funding whom, and at what real cost, becomes impossible to answer from the outside.</p>
<blockquote><p>When investment announcements obscure purchasing commitments, the actual financial health of these companies becomes unknowable from the outside.</p>
</blockquote>
<h2>The transparency problem</h2>
<p>What troubles me about these circular structures isn't that they're illegal or even necessarily deceptive. It's that they're opaque by design. When money moves in loops, when investment announcements obscure purchasing commitments, when valuations are tied to compute capacity that doesn't exist yet, when key terms keep getting renegotiated with critical numbers undisclosed, the actual financial health of these companies becomes unknowable from the outside. And that matters because we're building on top of these models.</p>
<p>Organizations everywhere are integrating Claude or ChatGPT into their infrastructure. They're making bets on which models will be available, affordable, and reliable in three years. They're staffing teams around these technologies. But they can't evaluate the stability of the companies providing them because the financial relationships are deliberately murky.</p>
<p>Are these companies genuinely viable, or are they performing viability for investors and the market? Will the pricing that makes their models attractive today hold in two years, or will subsidies evaporate once lock-in is complete? Can you trust that a model won't be deprioritized if a cloud provider decides it's more profitable to push its own?</p>
<p>These aren't paranoid questions. They're basic due diligence. And right now, I'm not sure we have good answers. That's something I want to understand better.</p>
<hr>
<p>You can't make good strategy decisions on bad information. And right now, the information we have about AI infrastructure and funding is deliberately obscured by financial structures designed to look like one thing while functioning as another. The circular deals work. They secure compute, they lock in customers, they generate headlines that make everything look like it's thriving. But they also make it impossible to know whether we're investing in genuine breakthroughs or elaborate financial theater.</p>
<p>Organizations everywhere are building their content strategy, their product roadmaps, their infrastructure decisions on the assumption that these models will be here, affordable, and competitive in the years ahead. That assumption is only as good as our ability to understand the actual economics underneath. And right now, that visibility doesn't exist. So either we demand it, or we accept that we're building on foundations we don't actually understand.</p>
]]></content:encoded>
  </item>
  <item>
    <title>The design is the defect. A jury just said so.</title>
    <link>https://tjep.blog/blog/standalone-design-defect-verdict/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/standalone-design-defect-verdict/</guid>
    <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>Leadership</category>
    <description>I was halfway through writing the next post in my AI data moat series when the verdict came in. A jury in Los Angeles found Meta and Google liable for the way they designed Instagram and YouTube. N...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, Leadership --> <!-- title: The design is the defect. A jury just said so. --></p>
<p>I was halfway through writing the next post in my AI data moat series when the verdict came in. A jury in Los Angeles found Meta and Google liable for the way they designed Instagram and YouTube. Not for what users posted on them, but for the products themselves. Infinite scroll, autoplay, beauty filters, recommendation algorithms tuned to maximise time on platform. Ten of twelve jurors agreed that those are design defects, and that the companies who shipped them are responsible.</p>
<p>The damages were $6 million, which is pocket change for companies that size. But the money is not the point. What matters is the legal theory that won. For years, Section 230 shielded platforms from liability for user-generated content. This case walked around that entirely by arguing that the product itself is defective, the same kind of product liability claim we apply to cars and medication, now applied to software design for the first time. I put down the draft I was working on and started writing this instead, because this verdict changes the conversation I have been having with you for the past six weeks.</p>
<h2>Design choices are product decisions</h2>
<p>When a product team adds infinite scroll, that is a design choice. When they tune a recommendation algorithm to maximise session length, or build memory features that make it harder to switch providers, or design an AI agent with undisclosed commercial relationships to the merchants it recommends, those are all design choices made by small groups of people inside private companies, optimising for engagement, retention, or revenue. None are reviewed by a regulator before they ship. They become the default for millions of people, and by the time anyone with oversight authority catches up, the behaviour is locked in.</p>
<p>The jury did not say social media is bad. It said the specific way these platforms were designed was negligent. That distinction matters, because it means the question is not "should social media exist" but "should this specific feature exist in this form without adequate safeguards." Product liability, applied to code.</p>
<div class="callout callout--warning"><span class="callout-label">⚠️ Warning</span><p>Internal Meta documents reportedly showed the company's own researchers warned executives in 2020 that certain algorithmic features were causing measurable psychological harm to teenage girls. The features stayed to meet engagement targets.</p>
</div>
<h2>The tobacco parallel holds up this time</h2>
<p>The tobacco litigation in the 1990s succeeded not because smoking was dangerous, which everyone already knew, but because internal documents proved the companies had the data on the harm and kept marketing to young people anyway. The social media trial followed the same path: internal research showing harm to teenagers, continued deployment of the features causing it, testimony from executives who had seen the data. Two thousand similar lawsuits waiting behind this one, TikTok and Snap settling before trial, a New Mexico jury finding Meta liable for $375 million the day before, and Meta's stock dropping 6.8% in a single session.</p>
<blockquote><p>The product was not defective by accident. It was defective by decision. And the people who made that decision had the research in front of them.</p>
</blockquote>
<h2>Now apply this to AI</h2>
<p>This is where my data moat series and this verdict collide. If a jury can rule that infinite scroll is a product defect because it was engineered to be addictive, what happens when the same theory gets applied to AI? Memory systems that build behavioural profiles with no export function, recommendation engines that could steer users toward commercial partners, agentic systems making purchases with undisclosed incentives, personalisation features designed to deepen platform dependency. These are not content decisions. They are design decisions, the same category the jury just ruled on.</p>
<div class="callout callout--highlight"><span class="callout-label">✨ Takeaway</span><p>The companies that build portability, transparency, and user control into their products now will have a legal advantage, not just a moral one. The era of shipping first and dealing with consequences later just got more expensive.</p>
</div>
<hr>
<p>I keep saying we have the memory of a goldfish when it comes to technology platforms. But juries remember longer than legislatures. The design choices AI companies make today will be examined in courtrooms years from now, under a legal theory that did not exist until this week. Whether they are building with that in mind or still optimising for the next quarter will determine which side of the verdict they end up on.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Legislation is always behind technology progress</title>
    <link>https://tjep.blog/blog/legislation-behind-technology/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/legislation-behind-technology/</guid>
    <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>Leadership</category>
    <description>I was reading about the EU AI Act a few weeks ago. Specifically, the part where the compliance deadline for high-risk AI systems, originally set for 2026, got pushed to late 2027 or 2028. The reaso...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, Leadership --> <!-- title: Legislation is always behind technology progress --></p>
<p>I was reading about the EU AI Act a few weeks ago. Specifically, the part where the compliance deadline for high-risk AI systems, originally set for 2026, got pushed to late 2027 or 2028. The reason: the technical standards needed to define what compliance actually looks like were not ready yet. The regulation was written, voted on, celebrated as a landmark, and then effectively paused because the technology had already moved past what the drafters had in mind.</p>
<img src="https://tjep.blog/assets/images/blog/legislation-lag.png" alt="Legislation is always behind technology progress">
<p>That is not a failure of the EU specifically. It is a structural problem baked into how legislation works. Laws are drafted in consultation cycles. They move through committees, reviews, amendments, translations. They get debated, compromised on, delayed by elections, stalled by lobbying. By the time a regulation takes effect, the technology it was designed to govern has often changed shape entirely. Six months in AI is a geological era. Legislators are writing rules for a landscape that no longer exists by the time the ink dries.</p>
<h2>The people who build it get to set the defaults</h2>
<p>When regulation is perpetually six to nine months behind the technology, the defaults get set by whoever ships first. Not by elected officials, not by public debate, not by anyone with a democratic mandate. By engineers, product managers, and founders who are optimizing for growth, market share, and investor returns.</p>
<p>That is not necessarily malicious. Most of the people building AI tools are not sitting in a room cackling about societal damage. They are solving problems, shipping products, responding to competitive pressure. But the incentive structure does not require them to think about the second-order effects of what they build. And the regulatory vacuum means nobody else is thinking about it either, at least not fast enough to matter.</p>
<div class="callout callout--warning"><span class="callout-label">⚠️ Warning</span><p>Meta's early motto was "move fast and break things." They dropped it eventually. The philosophy persists across the industry. Ship it, see what happens, deal with the fallout later. The problem is that "later" means after millions are already using the product, after the behaviour patterns are set, after the business model is locked in.</p>
</div>
<p>Social media is the clearest example. Algorithmic feeds, engagement optimization, targeted advertising, data harvesting at scale. None of these were designed with public input or regulatory oversight. They were product decisions made by small teams inside private companies. By the time legislators understood what was happening, billions of people were already inside the system. Regulation became a game of catching up to damage already done.</p>
<h2>The knowledge gap makes it worse</h2>
<p>There is another layer. The people writing the laws often do not fully understand the technology they are trying to regulate. That is not an insult. AI is moving fast enough that people working inside the field struggle to keep up. Expecting legislators to have current, nuanced understanding of how large language models work, how agentic systems make decisions, or how training data flows through inference pipelines is not realistic.</p>
<p>The result is legislation that is either too vague to be enforceable or too specific to survive the next product cycle. The EU AI Act's risk-based framework is thoughtful in principle, but defining what constitutes a "high-risk" AI system is already outdated when capabilities change quarterly. The US has largely left it to individual states, creating a patchwork that is effectively no regulation at all for companies operating nationally.</p>
<div class="callout callout--info"><span class="callout-label">ℹ️ Info</span><p>California's governor vetoed a bill designed to make AI chatbots safer for children after the tech industry campaigned against it, arguing it would harm innovation. The pattern is consistent: the people with the deepest understanding of the technology are the ones building it, and they have a financial interest in regulation arriving late and arriving weak.</p>
</div>
<h2>Defaults become norms, norms become culture</h2>
<p>This is the mechanism that gets underappreciated. When technology ships without regulatory guardrails, the design choices made by product teams become the de facto rules. Users adapt to them. Businesses build on top of them. Entire industries form around them. And by the time regulation does arrive, it faces an installed base of behaviour that is extremely resistant to change.</p>
<p>Think about cookie consent banners. GDPR required them, but the implementation was largely designed by the companies being regulated, resulting in dark patterns that make it easier to accept all cookies than to opt out. The regulation existed. The spirit of the regulation was undermined by the defaults the industry chose.</p>
<blockquote><p>Whoever ships first writes the rules, and everyone else spends years trying to rewrite them.</p>
</blockquote>
<p>Now apply that to AI. The defaults being set right now about what data AI systems can collect, how they personalize, whether users can export their context, how agentic systems make purchasing decisions on your behalf are being decided by product teams inside a handful of companies. There is no public consultation. There is no democratic process. There is a shipping deadline and a growth target.</p>
<h2>What would actually help</h2>
<p>I am not anti-regulation. Good regulation is necessary and overdue. But the current model of writing comprehensive laws that take years to implement is structurally unable to keep pace with technology that iterates in weeks.</p>
<div class="callout callout--tip"><span class="callout-label">💡 Tip</span><p>What might work better: smaller, faster regulatory interventions that target specific behaviours rather than classifying entire technologies. Mandatory transparency about how AI systems use personal data, enforced with real penalties, not fines that amount to two days of revenue. Portability requirements that prevent lock-in before it forms. And genuine technical literacy programmes for the people writing the laws, not one-hour briefings from the companies being regulated.</p>
</div>
<p>The OECD has started talking about "agile regulatory governance" and "anticipatory regulation." Those are the right concepts. They need to be more than concepts. They need to be operational practice, with the funding and institutional support to match.</p>
<h2>The uncomfortable truth</h2>
<p>None of this is going to be easy, and none of it is going to happen as fast as we need it to. Technology companies have the money, the talent, and the lobbying power to keep regulation at arm's length. Governments have electoral cycles, budget constraints, and a hundred other priorities competing for attention.</p>
<p>But the alternative, which is what we have now, is a world where the rules governing some of the most consequential technology in human history are set by default by whoever ships fastest. And those people, talented as they may be, are not optimizing for the public interest. They are optimizing for quarterly results, user growth, and competitive positioning.</p>
<div class="callout callout--highlight"><span class="callout-label">✨ Takeaway</span><p>The gap between technology and regulation is not a timing problem. It is a power problem. The lag is not a bug in the system. It is a feature of how we have chosen to organize the relationship between innovation and governance.</p>
</div>
<hr>
<p>We could choose differently. We have just not yet decided that the stakes are high enough. I suspect, as with social media, we will decide too late.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Agentic commerce and the profile you did not know you were building</title>
    <link>https://tjep.blog/blog/part-4-agentic-commerce/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/part-4-agentic-commerce/</guid>
    <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>LinkedIn Series</category>
    <description>I tested an AI agent last month that booked a hotel for me. I gave it dates, a city, and a budget. It came back with three options, explained the trade-offs, and asked me to confirm. The whole thin...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, LinkedIn Series --> <!-- title: Agentic commerce and the profile you did not know you were building --> <!-- date: 2026-03-18 --></p>
<p>I tested an AI agent last month that booked a hotel for me. I gave it dates, a city, and a budget. It came back with three options, explained the trade-offs, and asked me to confirm. The whole thing took ninety seconds. I would normally spend an evening on that. I was impressed.</p>
<p>Then I thought about what it had just learned. Not just that I was travelling to that city on those dates. It learned my price sensitivity, that I prefer walkable locations over resort-style places, that I will pay more for a good breakfast but not for a gym. One booking. Ninety seconds. And already a richer profile of my preferences than any hotel loyalty programme has built in a decade.</p>
<img src="https://tjep.blog/assets/images/blog/linkedin-card-4-agentic-commerce.png" alt="Agentic commerce and the profile you are building">
<h2>What agentic commerce actually means</h2>
<p>So far in this series, I have covered the data moat AI platforms are building, the enshittification pattern from social media, and why AI lock-in captures your knowledge graph rather than your social graph. But agentic commerce takes the stakes to a different level.</p>
<p>The idea is straightforward: instead of you browsing, comparing, and buying, an AI agent does it. Books travel, orders groceries, finds insurance, manages subscriptions. For anyone who has lost an evening to comparison shopping, this is a real improvement. And it probably will be a net positive for most people most of the time.</p>
<p>I am not being cynical. AI agents that negotiate better rates on your utilities or find flight options in seconds are solving real problems. The technology is impressive and the convenience is genuine.</p>
<p>But think about the data profile that creates.</p>
<h2>From conversations to economic identity</h2>
<p>An AI agent acting on your behalf learns what you buy, how much you spend, what trade-offs you accept, what you are willing to pay more for, and what makes you hesitate. Over time it builds a picture of your financial patterns, your health priorities based on what you order, your lifestyle based on where you travel. That goes well beyond conversation history.</p>
<p>Today, fragments of this data sit across your bank, your supermarket loyalty card, your airline account, your streaming services. No single entity has the full picture. Agentic commerce changes that. One AI agent managing multiple aspects of your purchasing life holds a more complete profile of your economic behaviour than any platform has ever had.</p>
<blockquote><p>The data moat is no longer just about how you think. It is about how you spend, what you value, and what you will tolerate. That is a profile worth billions.</p>
</blockquote>
<h2>The incentive question</h2>
<p>There is a subtlety here that most coverage misses. These agents will almost certainly have commercial relationships with merchants and service providers. That is not automatically a problem. Affiliate models can work well when they are transparent. Recommendations based on actual relevance are valuable for everyone.</p>
<p>But if the incentive structures are hidden, the agent ends up optimizing for the platform's margin rather than your best outcome. Not because anyone set out to deceive, but because that is where the economics naturally pull. We have seen this play out in insurance comparison sites, hotel booking platforms, financial product aggregators. The agent framing is new. The incentive problem is very old.</p>
<p>Google, Amazon, Apple, OpenAI are all positioning to become the agent layer between consumers and commerce. Some will build trustworthy products. But the concentration of that much personal and financial data in platforms that also control the purchasing funnel deserves more scrutiny than it is getting.</p>
<h2>Why this connects to everything else</h2>
<p>This is where the portability conversation from the earlier parts gets urgent. When AI lock-in was about chat history, the stakes were convenience. When it extends to purchasing behaviour and financial patterns, the stakes are autonomy.</p>
<p>It is not just about switching AI providers anymore. It is about making sure your spending patterns and decision-making profile do not get permanently locked into one ecosystem with no exit.</p>
<hr>
<div class="callout callout--info"><span class="callout-label">ℹ️ Info</span><p><strong>The AI data moat</strong> — a series in six parts</p>
<p><a href="https://tjep.blog/blog/part-3-knowledge-graph/">← Part 3: Your knowledge graph is the new lock-in</a> · <strong>Part 4</strong> (you are here) · <a href="https://tjep.blog/blog/part-5-own-your-profile/">Part 5: Own your AI profile before someone else does →</a></p>
</div>
<p>The opportunity is real. Agentic commerce could save people enormous amounts of time and money. But so could social media have remained a useful connective tool if we had built in safeguards early enough. The lesson from every part of this series is the same: the time to shape the terms is while the technology is still being designed. Next week, the final part: what we can actually do about all of this.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Own your AI profile before someone else does</title>
    <link>https://tjep.blog/blog/part-5-own-your-profile/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/part-5-own-your-profile/</guid>
    <pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>LinkedIn Series</category>
    <description>I spent an afternoon last month exporting my conversation history from one AI platform and trying to load it into another. The export worked. It gave me a JSON file with thousands of messages. The ...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, LinkedIn Series --> <!-- title: Own your AI profile before someone else does --></p>
<p>I spent an afternoon last month exporting my conversation history from one AI platform and trying to load it into another. The export worked. It gave me a JSON file with thousands of messages. The import did not work at all, because the other platform has no import function, and even if it did, raw conversation logs are not the same as the contextual understanding built from those conversations. I had the data. I did not have the knowledge graph.</p>
<p>That experience crystallised something I had been circling around for four weeks of writing this series. The problem is not that platforms refuse to give you your data. It is that the most valuable thing, the accumulated understanding of how you work and think, is not data in any format you can move.</p>
<h2>Google just made this look solved. It is not.</h2>
<p>Google recently launched an import feature for Gemini that lets you bring in your memories and chat history from other AI apps. You copy a prompt into your current AI, it generates a summary of your preferences, you paste that into Gemini, and it picks up your context. You can also upload a ZIP file of your full conversation history from ChatGPT or Claude and continue where you left off.</p>
<p>On the surface, that sounds like exactly what I have been asking for in this series. Portability. The ability to switch without starting over.</p>
<p>But look at what is actually happening. Google built an import tool. Not an export tool. The data flows in one direction: toward Google. Once your context is inside Gemini, it gets combined with your Gmail, your Google Photos, your Search history, and whatever else you have given Google access to. That is not portability. That is acquisition. Google is not solving the switching problem for users. It is solving the switching problem for Google.</p>
<div class="callout callout--warning"><span class="callout-label">⚠️ Warning</span><p>An import tool without a corresponding export standard is not data portability. It is a one-way valve. The question is not whether you can bring your data into a platform. It is whether you can take it back out again when you want to leave.</p>
</div>
<p>This is the pattern we should recognise by now. The platform that makes it easiest to arrive is not necessarily the one that makes it easiest to leave.</p>
<h2>What we actually need</h2>
<p>The solution I keep coming back to is not complicated in concept. We need an AI-agnostic layer where your personal data, preferences, and interaction history live. A place you own and control. A system of record that AI platforms can read from and write to, with your permission, but that is not tied to any single provider.</p>
<p>Your personal knowledge graph should be infrastructure, not a feature of whichever AI product you happen to use today.</p>
<p>Anuj Ahooja wrote a piece recently called "<a href="https://augment.ink/the-everything-account/">The Everything Account</a>" that frames this well. His argument is that our accounts are not really our accounts. They are accounts owned by Google, Meta, OpenAI, whoever runs the platform. The data we create is tied directly to the app, and the companies hoard it because they know it is what gives them power over us. His proposal: separate the data from the app entirely. Let your account live on its own, grant access to whichever services you choose, and revoke that access when a platform stops serving you. The apps orbit your data, not the other way around.</p>
<p>That model resonates with everything I have been writing in this series. But I would push it one step further.</p>
<h2>The data should flow both ways</h2>
<p>Right now, the relationship between you and an AI platform is extractive. You give it your context, it builds a profile, and that profile stays inside the platform. You never see what it has learned about you. You never get the enriched version back.</p>
<p>What if the deal were different? What if every platform you interact with, whether it is an AI assistant, a social network, a commerce agent, or a search engine, was required to write its learnings back into your personal data store? Not just let you export raw logs, but return the enriched profile. The insights, the preference models, the behavioural patterns. The things the platform learned about you that you never explicitly told it.</p>
<p>That would change the power dynamic entirely. You would not just own your data. You would own what your data taught the machines. And you could take those learnings to any other platform, or use them yourself to understand your own patterns better than any single AI does.</p>
<blockquote><p>The goal is not just portability. It is reciprocity. Every platform that learns from you should be required to teach you back.</p>
</blockquote>
<h2>People are already building toward this</h2>
<p>The Data Transfer Initiative recently published principles for portability of personal data in AI and collaborated with Inflection AI on a data model for transferring conversation histories. Their affiliate Fabric built an open-source tool called "context-use" that converts ChatGPT archives into portable context for other agents. Early work, but pointed in the right direction.</p>
<p>Standards like the Model Context Protocol (MCP) are creating a common interface between AI systems and external data sources. Think of MCP as a universal connector: one standard for accessing databases, files, and APIs instead of bespoke integrations per platform. That kind of interoperability is foundational if we want data that actually moves with us.</p>
<p>On the regulatory side, the EU is further ahead than most realise. The Digital Markets Act is putting pressure on major platforms. The EU Data Act, effective since late 2025, already grants rights to access and port data from connected devices and explicitly prohibits vendor lock-in. The infrastructure for enforcement exists. What is missing is the tooling and market demand to make portability real in practice, not just in law.</p>
<h2>What you can do right now</h2>
<div class="callout callout--highlight"><span class="callout-label">✨ Takeaway</span><p>If you use AI seriously in your daily work: export your conversation histories where you can. Be intentional about which platforms get your deepest working knowledge. Favour tools that support data export and open standards.</p>
<p>If you lead a team: demand portability from your AI vendors before the lock-in hardens. Ask them directly: can we export our data in a format another AI can use? If the answer is vague, that tells you something about their business model.</p>
<p>If you build AI products: compete on quality, not moat depth. And consider building the two-way data flow from day one. The companies that give users their enriched profiles back will earn a kind of trust that walled-garden players never will.</p>
</div>
<h2>The window is still open</h2>
<p>AI personalisation is early enough that the lock-in has not fully set in. Most people are still experimenting, splitting usage across tools, not yet deeply committed to any single platform's memory of them.</p>
<p>But that is changing fast. Memory features are improving. Agents are taking on more tasks. Personalisation is deepening. Google is already building import tools to pull you in. The moat gets dug a little deeper with every conversation.</p>
<div class="callout callout--info"><span class="callout-label">ℹ️ Info</span><p><strong>The AI data moat</strong> — a series in six parts</p>
<p><a href="https://tjep.blog/blog/SLUG-PART-4/">← Part 4: Agentic commerce and the profile you did not know you were building</a> · <strong>Part 5</strong> (you are here)</p>
</div>
<hr>
<p>The social media era taught us what happens when platforms accumulate personal data without portability or user control. We watched it happen, named it, wrote books about it, and then walked straight into the same pattern with the next technology that came along. Your AI profile is becoming one of the most valuable digital assets you own. The question of who controls it is not a technical curiosity. It is personal. I would rather own mine, enriched profile and all.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Your knowledge graph is the new lock-in</title>
    <link>https://tjep.blog/blog/part-3-knowledge-graph/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/part-3-knowledge-graph/</guid>
    <pubDate>Tue, 17 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>LinkedIn Series</category>
    <description>A colleague asked me last week whether he should consolidate all his AI usage onto one platform or keep splitting it across three. My immediate reaction was: consolidate, obviously. One platform wi...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, LinkedIn Series --> <!-- title: Your knowledge graph is the new lock-in --> <!-- date: 2026-03-17 --></p>
<p>A colleague asked me last week whether he should consolidate all his AI usage onto one platform or keep splitting it across three. My immediate reaction was: consolidate, obviously. One platform with full context will always outperform three with fragments. Then I caught myself. That advice is exactly how the moat gets built. It is good advice for productivity and terrible advice for independence.</p>
<p>That tension is the core of this piece. The thing that makes AI useful is the same thing that makes it hard to leave.</p>
<img src="https://tjep.blog/assets/images/blog/linkedin-card-3-knowledge-graph.png" alt="Your knowledge graph is the new lock-in">
<h2>Social graph versus knowledge graph</h2>
<p>In parts 1 and 2, I traced how the data moat forms and why the enshittification pattern from social media is already appearing in AI. But there is a reason the AI version of this deserves its own conversation. The lock-in works differently, and the difference matters.</p>
<p>With social media, the lock-in was about your network. Your friends were on Facebook, so you stayed. Your professional contacts were on LinkedIn, so you kept your profile updated. Moving was inconvenient, but the thing holding you in place was external. Other people, not you.</p>
<p>With AI, the lock-in is about <em>you</em>. Your preferences, your working style, your domain expertise as the system understands it. The context it has built across hundreds or thousands of interactions. And it lives inside platforms with no standard way to extract it.</p>
<p>A social graph is recoverable. You can re-add friends on a new platform, export a contact list. Tedious, but possible. The relationships exist independently of the platform.</p>
<p>A personal AI knowledge graph is not like that. It is a model of how you work, how you think, what you need. Shaped by every question, every correction, every preference you revealed without realizing it. That model does not export as a CSV. It does not reconstruct from memory. It is emergent, built through interaction, and locked inside the platform that created it.</p>
<h2>The invisible accumulation</h2>
<p>The tricky part is that nobody decides on day one to hand their cognitive profile to a platform. It happens conversation by conversation, correction by correction. Each interaction feels harmless. But the cumulative effect is a detailed model of your professional life that you did not consciously choose to create.</p>
<blockquote><p>With cloud, you know what data you have stored. With AI, the most valuable thing is the pattern recognition the system has developed about you across all your conversations. That is much harder to define, let alone transfer.</p>
</blockquote>
<p>Compare that to other forms of lock-in. With cloud providers, you can at least inventory your data and plan a migration. With productivity software, your files are discrete objects you can export. With AI, the valuable asset is not any individual conversation. It is the understanding the system has developed about you across all of them. Try putting that in a zip file.</p>
<h2>What this means for how we adopt AI</h2>
<p>None of this means we should avoid AI tools. The productivity gains are real. I get more done in a day with AI than I used to get done in three. But it does mean we should be deliberate about how we adopt them.</p>
<p>Every time you invest deep context in a single AI platform, you are betting that the platform will keep serving your interests, that pricing stays acceptable, that quality holds, and that the terms around your data will not change on you. That is a lot of trust for a single provider. Especially one that has not yet figured out how to be profitable.</p>
<p>The alternative is to start thinking about your personal AI context as something that should exist independently of any platform. Something portable. Something you own.</p>
<hr>
<div class="callout callout--info"><span class="callout-label">ℹ️ Info</span><p><strong>The AI data moat</strong> — a series in six parts</p>
<p><a href="https://tjep.blog/blog/part-2-seen-this-before/">← Part 2: We have seen this movie before</a> · <strong>Part 3</strong> (you are here) · <a href="https://tjep.blog/blog/part-4-agentic-commerce/">Part 4: Agentic commerce and the profile you did not know you were building →</a></p>
</div>
<p>Easier said than done today. But not impossible. And before we get to the solutions in part 5, there is one more dimension that raises the stakes even further: what happens when AI agents start spending your money. That is next week.</p>
]]></content:encoded>
  </item>
  <item>
    <title>We have seen this movie before</title>
    <link>https://tjep.blog/blog/part-2-seen-this-before/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/part-2-seen-this-before/</guid>
    <pubDate>Mon, 16 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>LinkedIn Series</category>
    <description>Last week I wrote about the data moat that AI platforms are building around their users. Every conversation deepens your context inside a single platform, and that context gets harder to walk away ...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, LinkedIn Series --> <!-- title: We have seen this movie before --> <!-- date: 2026-03-16 --></p>
<p>Last week I wrote about the data moat that AI platforms are building around their users. Every conversation deepens your context inside a single platform, and that context gets harder to walk away from. A few people messaged me to say they had not thought about it that way. Which is exactly the problem. We have watched this pattern play out three or four times in the past fifteen years, and we keep not thinking about it until the door is already closed.</p>
<p>This is the part where I trace the pattern.</p>
<img src="https://tjep.blog/assets/images/blog/linkedin-card-2-enshittification.png" alt="We have seen this movie before">
<h2>The enshittification playbook</h2>
<p>Cory Doctorow coined the term "enshittification" and then wrote an entire book about it last year. The mechanics are consistent across platforms: be good to users first, squeeze users to serve business customers second, squeeze everyone to serve shareholders third.</p>
<p>Facebook started as a genuinely useful way to stay connected with friends. Then the algorithm shifted toward engagement optimization, the feed filled with sponsored content, and organic reach for pages dropped to near zero. By the time the experience had visibly degraded, your social graph was too embedded to leave. Google Search went from clean, relevant results to a page where the first three or four items are ads and the rest are SEO-optimized content farms. Amazon started as a great place to buy things, then gradually shifted search results toward sponsored products and squeezed sellers with rising fees. Cloud providers offered transparent, affordable pricing, then introduced complex fee structures and egress charges that made leaving expensive.</p>
<p>The cycle always starts with generosity and ends with extraction, once the switching costs are high enough.</p>
<h2>The AI version is already starting</h2>
<p>We are watching the same playbook in AI, on a faster timeline.</p>
<p>The platforms are still in their generous phase. Free tiers, subsidized access, impressive capabilities shipped at speed. But running large language models is expensive. OpenAI, Anthropic, Google, and the rest are burning capital at rates that are not sustainable. The generosity has a shelf life.</p>
<p>The early signs are already showing. Perplexity is experimenting with ads in its search results. OpenAI restructured its pricing, moving features like model selection behind the $200-a-month Pro tier. Features that were free a year ago are now gated behind higher price points. This is not corporate greed. It is economics. But the direction is clear.</p>
<blockquote><p>The more context a platform holds about you, the harder it is to leave when the experience starts to degrade. That is not an accident. It is the business model.</p>
</blockquote>
<p>And here is the connection to the data moat from part 1. Attract users with a great experience, accumulate data that makes switching painful, then gradually shift value extraction toward the platform and its investors. The personal context your AI has built about you is the switching cost. It is the thing that keeps you from leaving when the ads arrive, when the pricing changes, when the quality of the free tier quietly declines.</p>
<h2>Why AI enshittification could be harder to spot</h2>
<p>With social media, at least the degradation was visible. You could see the ads multiplying in your feed. You could feel the algorithmic manipulation. You knew it was getting worse, even if leaving was inconvenient.</p>
<p>With AI, the degradation might be much harder to detect. If an assistant starts subtly favouring certain products in its recommendations, or adjusting its outputs to align with commercial partnerships, would you notice? If response quality on the free tier gradually declines to push you toward a paid plan, how would you even measure that? The conversational interface makes it far easier to embed commercial influence without clear labels. There is no "Sponsored" tag on a paragraph of advice.</p>
<p>The social media era gave us a vocabulary for these problems. Enshittification, dark patterns, algorithmic manipulation. We know what to look for now.</p>
<hr>
<div class="callout callout--info"><span class="callout-label">ℹ️ Info</span><p><strong>The AI data moat</strong> — a series in six parts</p>
<p><a href="https://tjep.blog/blog/part-1-ai-data-moat/">← Part 1: The AI data moat is being built around you</a> · <strong>Part 2</strong> (you are here) · <a href="https://tjep.blog/blog/part-3-knowledge-graph/">Part 3: Your knowledge graph is the new lock-in →</a></p>
</div>
<p>The question is whether we will actually apply those lessons this time. Because right now, we are in the generous phase. And generous phases never last. Next week: why AI lock-in is not like social media lock-in at all, and why that makes it worse.</p>
]]></content:encoded>
  </item>
  <item>
    <title>The AI data moat is being built around you</title>
    <link>https://tjep.blog/blog/part-1-ai-data-moat/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/part-1-ai-data-moat/</guid>
    <pubDate>Sun, 15 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>LinkedIn Series</category>
    <description>Something shifted for me about six months ago. I had been using the same AI assistant daily for strategy work, automation specs, debugging, team planning. And one afternoon I opened a competitor's ...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, LinkedIn Series --> <!-- title: The AI data moat is being built around you --> <!-- date: 2026-03-15 --></p>
<p>Something shifted for me about six months ago. I had been using the same AI assistant daily for strategy work, automation specs, debugging, team planning. And one afternoon I opened a competitor's tool to test it. Within two minutes I closed the tab. Not because it was worse. Because it did not know me. It did not know my projects, my stack, my communication style, the shorthand I had built up over months. Starting from zero felt unbearable.</p>
<p>That was the moment I realized the moat had already formed. Not around the product. Around me.</p>
<img src="https://tjep.blog/assets/images/blog/linkedin-card-1-moat.png" alt="The AI data moat is being built around you">
<h2>How the lock-in builds</h2>
<p>Every conversation you have with an AI assistant makes it a bit smarter about you. Your preferences, your writing style, how you approach problems, the projects you work on. Over time, that accumulated context becomes the thing that makes the tool useful. Not the model itself, not the interface. The fact that it already understands your world.</p>
<p>Sam Altman said it plainly late last year: future versions of ChatGPT will have "perfect, infinite memory." Not just facts you share, but subtle preferences you never explicitly state. Every document, every conversation, every correction. That is not a product feature announcement. That is a lock-in strategy with a release date.</p>
<p>The mechanics are simple. Each interaction adds a thin layer of context. No single conversation matters much. But after hundreds of them, you have built something that is genuinely hard to replicate elsewhere. The AI knows your role, your domain, your communication patterns, your recurring problems. Switching means losing all of that and re-explaining yourself from scratch.</p>
<h2>The friction is the moat</h2>
<p>I use AI daily for strategy documents, automation pipelines, debugging, thinking through team structures. The context my assistant has built about my work makes it dramatically more useful than it was on day one. If I had to switch tomorrow, I would not just lose a tool. I would lose months of accumulated understanding.</p>
<blockquote><p>The lock-in is not the product. It is the profile the product has built about you.</p>
</blockquote>
<p>Most people are not thinking about this yet. AI tools are still new enough that the context has not had time to build to the point where leaving hurts. But for those of us using these tools daily, the dependency is already real. And it grows with every conversation.</p>
<h2>Who owns the understanding?</h2>
<p>The question I keep coming back to: who owns the context these platforms have built about me? I did not consciously decide to create a detailed cognitive profile inside a third-party platform. It happened conversation by conversation, correction by correction. And now it is locked inside a system I do not control, with no standard way to extract it or take it somewhere else.</p>
<p>That is the data moat. It is not built with code or patents. It is built with your accumulated self, held inside someone else's walls.</p>
<hr>
<div class="callout callout--info"><span class="callout-label">ℹ️ Info</span><p><strong>The AI data moat</strong> — a series in six parts</p>
<p><a href="https://tjep.blog/blog/intro-goldfish/">← Intro: We have the memory of a goldfish</a> · <strong>Part 1</strong> (you are here) · <a href="https://tjep.blog/blog/part-2-seen-this-before/">Part 2: We have seen this movie before →</a></p>
</div>
<p>Right now, the answer to "who owns your AI profile" is: not you. That should bother us more than it does. Next week, I will look at why we should have seen this coming, because we have watched the same pattern play out before.</p>
]]></content:encoded>
  </item>
  <item>
    <title>We have the memory of a goldfish. And AI is counting on it.</title>
    <link>https://tjep.blog/blog/intro-goldfish/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/intro-goldfish/</guid>
    <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <category>LinkedIn Series</category>
    <description>I noticed something about myself a few weeks ago. I was mid-conversation with an AI assistant, deep into a workflow I have refined over months, and I caught myself thinking: I could never switch aw...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy, LinkedIn Series --> <!-- title: We have the memory of a goldfish. And AI is counting on it. --> <!-- date: 2026-03-14 --></p>
<p>I noticed something about myself a few weeks ago. I was mid-conversation with an AI assistant, deep into a workflow I have refined over months, and I caught myself thinking: I could never switch away from this. Not because the tool is perfect. Because it knows too much about me. My projects, my preferences, the way I structure arguments, the shorthand I use for things only I care about. Rebuilding that context somewhere else would take weeks. Maybe longer.</p>
<p>That thought stopped me. Because I have heard it before. I heard it about Facebook in 2012. About Gmail in 2015. About AWS in 2019. Every time, the same feeling: this is too useful, too embedded, too much effort to leave. And every time, the platform eventually changed the deal.</p>
<img src="https://tjep.blog/assets/images/blog/linkedin-intro-visual.png" alt="We have the memory of a goldfish">
<h2>The goldfish problem</h2>
<p>We have the memory of a goldfish when it comes to technology platforms. Every cycle is the same. Something new arrives, it is useful, it feels like it is on our side. We adopt it fast, pour our data and routines into it, and then the terms shift. The experience gets worse. The platform starts serving itself more than us. By the time we notice, leaving is too expensive.</p>
<p>Facebook went from connecting friends to optimizing for ad engagement. Google Search went from the best tool on the internet to a page of ads with some results underneath. Cory Doctorow literally wrote the book on this last year. Attract users, accumulate their data, make leaving painful, extract value. Same pattern whether it is a social network, a cloud provider, or a ride-sharing app.</p>
<p>And now here we are with AI. Probably the most personal technology most of us have ever used. And we are not stopping to ask basic questions. Who owns the context these platforms are building about me? Can I take it with me if I leave? What happens when the pricing changes?</p>
<h2>This is not a sceptic's take</h2>
<p>I want to be clear: I use AI more than most people I know, and I have no plans to stop. I am not calling for regulation that slows things down. What I am calling for is memory. The kind that says: we have been here before, and last time we did not think about portability or data ownership until it was too late.</p>
<p>Sam Altman said it plainly late last year: future versions of ChatGPT will have "perfect, infinite memory." Every document, every conversation, every correction. That is a lock-in strategy dressed up as a product feature. The deeper that profile gets, the harder it is to leave. That is not a conspiracy. It is a business model. We should probably recognize it by now.</p>
<blockquote><p>You can be impressed by the technology and still think clearly about what you are signing up for. Those two things are not in conflict.</p>
</blockquote>
<h2>What this series covers</h2>
<p>Over the next five weeks, I am going to write about the data moat that AI platforms are building around their users. Not because I think AI is bad. Because I think we can do better than we did last time.</p>
<p>Part 1 looks at how the lock-in forms in practice. Part 2 traces the enshittification pattern from social media. Part 3 explains why AI lock-in is different from anything we have seen before. Part 4 covers how agentic commerce raises the stakes further. Part 5 is about what is actually within our control right now.</p>
<hr>
<div class="callout callout--info"><span class="callout-label">ℹ️ Info</span><p><strong>The AI data moat</strong> — a series in six parts</p>
<p><strong>Intro</strong> (you are here) · <a href="https://tjep.blog/blog/part-1-ai-data-moat/">Part 1: The AI data moat is being built around you →</a></p>
</div>
<p>We are not goldfish. We can remember what happened last time. The question is whether we will, before the same patterns take hold in a technology that knows us better than any platform ever has.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Why Agentic AI Will Reshape Owned Media</title>
    <link>https://tjep.blog/blog/agentic-ai-owned-media/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/agentic-ai-owned-media/</guid>
    <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <description>Something shifted for me about six months ago. I was watching one of my team's analysts spend the better part of a week pulling performance data, formatting slides, and writing commentary that — fr...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy --> <!-- title: Why Agentic AI Will Reshape Owned Media --> <!-- date: 2026-03-10 --></p>
<p>Something shifted for me about six months ago. I was watching one of my team's analysts spend the better part of a week pulling performance data, formatting slides, and writing commentary that — frankly — said roughly the same thing every month. Not because she wasn't sharp. She is. But the process was designed for humans to do robot work, and it showed.</p>
<p>That was the week I started building our first agent pipeline. And it changed how I think about everything we do.</p>
<h2>We've been using AI like a calculator</h2>
<p>Most owned media teams I talk to are using AI the way we used spreadsheets in 2005 — as a slightly faster way to do the thing we were already doing. Generate a meta description. Suggest some keywords. Draft a paragraph we'll rewrite anyway. It's useful, sure. But it's fundamentally passive. You poke it, it responds.</p>
<p>Agentic AI is different. You don't give it a task — you give it a <em>goal</em>. "Improve organic visibility for our butter category pages." And then it figures out the steps: audit what's there, find the gaps, draft content, monitor what happens, adjust. Not once, but continuously.</p>
<blockquote><p>I've started describing it to stakeholders as "a junior team member with infinite patience and perfect memory." That framing lands every time.</p>
</blockquote>
<h2>Three things this changes right now</h2>
<p><strong>The boring stuff disappears first.</strong> Monthly reporting, content audits, competitive monitoring — this is where agents earn their keep immediately. That reporting pipeline I mentioned? Seven agents, talking to each other, turning raw Excel exports into branded PowerPoint decks with written commentary. What used to take a week of analyst time now takes minutes. And honestly, the commentary is better than what we were producing manually, because the agents don't get tired on slide 47.</p>
<p><strong>You have to start thinking about AI as an audience.</strong> This one's sneaking up on people. If LLMs are reading your content to answer user queries — and they are — then you're not just optimising for Google anymore. You're optimising for <em>comprehension by machines</em>. Schema markup, semantic structure, clean content hierarchies... these aren't nice-to-haves. They're how you stay visible in a world where the answer box replaces the click.</p>
<p><strong>Your team changes shape, not size.</strong> I don't think agentic AI means smaller teams. I think it means <em>differently skilled</em> teams. The people who can define sharp objectives, evaluate whether an output is actually good, and course-correct when something drifts — they become the bottleneck. Execution gets cheaper. Judgment gets more expensive.</p>
<h2>How I'd start if I were starting today</h2>
<p>Honestly, the biggest mistake I see is teams trying to go straight to "AI-generated content at scale." That's the deep end, and the water's murky.</p>
<p>Start boring. Pick a process that's repetitive, low-risk, and easy to validate — reporting is perfect. Build an agent that does it. Learn how agents fail (they will). Learn what good guardrails look like.</p>
<p>Then work outward: content operations, localisation, personalisation. Each step teaches you something about how to define objectives that agents can actually execute against. By the time you get to the ambitious stuff, you'll have the muscle memory.</p>
<hr>
<p>The teams that move first on this won't just be more efficient. They'll be operating differently — thinking in systems instead of tasks, defining outcomes instead of writing briefs. The constraint stops being capacity and starts being imagination.</p>
<p>And that's a much better problem to have.</p>
]]></content:encoded>
  </item>
  <item>
    <title>AI Visibility: The Third Pillar of Owned Media</title>
    <link>https://tjep.blog/blog/ai-visibility-third-pillar/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/ai-visibility-third-pillar/</guid>
    <pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate>
    <category>Search &amp; AI</category>
    <description>For the past two decades, owned media strategy has rested on two pillars: content and search. Create good content, make sure Google can find it. That formula built careers — mine included.</description>
    <content:encoded><![CDATA[<p><!-- tag: Search & AI --> <!-- title: AI Visibility: The Third Pillar of Owned Media --> <!-- date: 2026-03-03 --></p>
<p>For the past two decades, owned media strategy has rested on two pillars: content and search. Create good content, make sure Google can find it. That formula built careers — mine included.</p>
<p>But something fundamental has changed. People are getting answers without clicking. LLMs are synthesising content from across the web and presenting it directly. ChatGPT, Perplexity, Copilot — they're not sending users to your site. They're <em>reading</em> your site and telling users what it says.</p>
<p>If your brand isn't visible to these systems, you're disappearing from a growing share of the information landscape. And most teams haven't even started to grapple with this.</p>
<h2>The visibility problem nobody's measuring</h2>
<p>Here's what keeps me up at night: we have twenty years of tooling for measuring search visibility. Rank trackers, SERP analysers, click-through-rate benchmarks. For AI visibility? Almost nothing.</p>
<p>Try asking Claude or ChatGPT about your brand's products. What comes back? Is it accurate? Is it current? Is it your competitor's messaging? Most companies have never checked. They're optimising for a channel they can measure while ignoring one they can't.</p>
<blockquote><p>The brands that win in the next five years will be the ones that treat AI visibility with the same rigour they currently apply to SEO.</p>
</blockquote>
<h2>What makes content AI-visible</h2>
<p>AI systems don't process content the same way search engines do. They don't care about keyword density or backlink profiles. They care about <em>comprehensibility</em> — can they extract clean, structured, unambiguous meaning from your content?</p>
<p>This means a few things become critically important:</p>
<p><strong>Semantic HTML matters again.</strong> Proper heading hierarchies, meaningful section structure, descriptive alt text. The stuff your accessibility team has been asking for — turns out it also makes your content legible to LLMs.</p>
<p><strong>Schema markup is no longer optional.</strong> JSON-LD structured data tells AI systems exactly what your content is about. Product schema, FAQ schema, article schema — each one gives machines a shortcut to understanding your pages without having to infer meaning from prose.</p>
<p><strong>Content needs to be self-contained.</strong> AI systems often process pages in isolation. If your product page only makes sense in the context of a category page and a navigation menu, a machine reading just that page will get a fractured picture.</p>
<h2>The practical first steps</h2>
<p>I've been working on this with my team, and here's where we started:</p>
<ol>
<li><strong>Audit your AI presence.</strong> Ask the major LLMs about your brand, your products, your category. Document what comes back. You'll be surprised — and probably not in a good way</li>
<li><strong>Fix your structured data.</strong> Run your key pages through schema validators. Fill the gaps. This is the lowest-effort, highest-impact change you can make</li>
<li><strong>Simplify your content architecture.</strong> Every page should answer a clear question, completely, without requiring the reader to navigate elsewhere for context</li>
<li><strong>Monitor over time.</strong> AI responses change as models are updated. What's accurate today might not be next month. Build a cadence for checking</li>
</ol>
<h2>This isn't about replacing SEO</h2>
<p>I want to be clear: traditional search isn't going away. SEO still matters. But it's no longer <em>sufficient</em>. Owned media strategy now has three pillars: content, search, and AI visibility. Ignoring the third one is like optimising for desktop in 2015 and pretending mobile would sort itself out.</p>
<hr>
<p>The window for getting ahead of this is narrow. Most competitors haven't started. The teams that build AI visibility into their content operations now will have a compounding advantage that's hard to reverse-engineer later.</p>
<p>And that's the kind of strategic asymmetry I live for.</p>
]]></content:encoded>
  </item>
  <item>
    <title>From Reports to Agent Pipelines: Automating Brand Analytics</title>
    <link>https://tjep.blog/blog/ppo-agent-pipelines/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/ppo-agent-pipelines/</guid>
    <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
    <category>AI &amp; Strategy</category>
    <description>Every month, our performance team produces a set of  reports  that track how key brands are performing across digital channels. It's important work. It informs decisions. And until recently, it was...</description>
    <content:encoded><![CDATA[<p><!-- tag: AI & Strategy --> <!-- title: From Reports to Agent Pipelines: Automating Brand Analytics --> <!-- date: 2026-02-24 --></p>
<p>Every month, our performance team produces a set of  reports  that track how key brands are performing across digital channels. It's important work. It informs decisions. And until recently, it was also a phenomenal waste of skilled people's time.</p>
<p>The process looked like this: download data exports from three platforms, copy numbers into a master spreadsheet, generate charts, paste those charts into a PowerPoint template, write commentary for each slide, format everything to brand guidelines, then send it out. Rinse and repeat for each market. Each brand. Every month.</p>
<p>I looked at this and thought: every single one of these steps is rule-based. There's judgment involved, yes — but it's <em>bounded</em> judgment. The kind an AI system can learn if you define the guardrails properly.</p>
<h2>Building the pipeline</h2>
<p>We started with a simple question: what if we broke this into discrete agents, each responsible for one step, and let them hand off to each other?</p>
<p>The result is a 7-agent pipeline:</p>
<ol>
<li><strong>Data Ingester</strong> — reads Excel exports, normalises column names, validates data integrity</li>
<li><strong>Metric Calculator</strong> — computes period-over-period changes, flags anomalies, generates summary statistics</li>
<li><strong>Chart Generator</strong> — produces branded charts from the computed data using Python's matplotlib</li>
<li><strong>Narrative Writer</strong> — drafts slide commentary based on the metrics, using templates and conditional logic for different performance scenarios</li>
<li><strong>Slide Assembler</strong> — builds the PowerPoint deck, placing charts, text, and branding elements according to the template</li>
<li><strong>Quality Checker</strong> — validates the output against a checklist (correct date ranges, all brands present, no placeholder text)</li>
<li><strong>Distribution Agent</strong> — saves the final deck and triggers notifications</li>
</ol>
<p>Each agent is relatively simple on its own. The intelligence is in the <em>orchestration</em> — how they pass data, how errors cascade, and where human checkpoints sit.</p>
<h2>What surprised us</h2>
<p><strong>The quality bar was higher than expected.</strong> The narrative agent's commentary was consistently better than what we'd been writing manually. Not because it was smarter — because it was <em>consistent</em>. It never forgot to mention a key metric. It never got lazy on slide 30. It applied the same analytical framework to every brand, every time.</p>
<p><strong>Error handling was the real engineering work.</strong> Getting the happy path working took about 40% of the effort. The other 60% was handling malformed data, missing columns, edge cases in the chart layout, and the dozen ways a PowerPoint template can be subtly broken.</p>
<p><strong>The hardest part was defining "done."</strong> When a human makes a slide deck, they just... know when it's finished. Teaching an agent pipeline what "finished and correct" looks like required us to be far more explicit about our quality criteria than we'd ever been. That turned out to be valuable in itself.</p>
<blockquote><p>Automating a process forces you to understand it. We found three redundant steps we'd been doing for years simply because nobody had questioned the workflow.</p>
</blockquote>
<h2>The business case</h2>
<p>The numbers are straightforward. The manual process took roughly 40 hours per month across the team. The pipeline runs in under 10 minutes. Even accounting for the development time and ongoing maintenance, we broke even in the second month.</p>
<p>But the real value isn't time savings. It's what the team does with those 40 hours now. They're doing actual analysis — investigating trends, building strategic recommendations, having conversations with brand managers that go beyond "here's what happened last month" into "here's what we should do about it."</p>
<h2>Lessons for anyone starting this</h2>
<ul>
<li><strong>Start with a process you understand deeply.</strong> You can't automate what you can't specify</li>
<li><strong>Build agents that are narrow and testable.</strong> One agent, one job. If an agent is doing three things, it's three agents</li>
<li><strong>Put human checkpoints at trust boundaries.</strong> Our quality checker flags issues, but a human reviews the final deck before distribution. That's intentional</li>
<li><strong>Version everything.</strong> Templates change. Data formats change. Your agents need to handle yesterday's version and today's</li>
</ul>
<hr>
<p>This project convinced me that the future of operational work isn't AI <em>replacing</em> people — it's AI handling the mechanical parts so people can focus on the parts that actually require thinking. The 7-agent pipeline doesn't eliminate the need for smart analysts. It gives them permission to actually be analysts.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Building a Markdown-Driven Blog with Zero Dependencies</title>
    <link>https://tjep.blog/blog/markdown-driven-blog/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/markdown-driven-blog/</guid>
    <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
    <category>Development</category>
    <description>I have a confession: I've been building websites for twenty years, and this blog is the most fun I've had in a long time. Not because it's complex — it's the opposite. It's a handful of HTML files,...</description>
    <content:encoded><![CDATA[<p><!-- tag: Development --> <!-- title: Building a Markdown-Driven Blog with Zero Dependencies --> <!-- date: 2026-02-17 --></p>
<p>I have a confession: I've been building websites for twenty years, and this blog is the most fun I've had in a long time. Not because it's complex — it's the opposite. It's a handful of HTML files, one CSS stylesheet, one JavaScript file, and a folder full of Markdown. No React. No Next.js. No build step. No CMS login screen.</p>
<p>And it feels <em>great</em>.</p>
<h2>Why I went this route</h2>
<p>The short answer is that I was tired of fighting tooling. Every blog platform I've used eventually becomes a maintenance burden. The CMS needs updating. The theme breaks after an upgrade. The plugin ecosystem shifts. You spend more time keeping the lights on than actually writing.</p>
<p>I wanted something I could understand completely, end to end. Something where adding a new post means creating a <code>.md</code> file and updating a JSON array. Something that loads fast, costs nothing to host, and doesn't phone home to anyone.</p>
<blockquote><p>The best architecture is the one you never have to think about. For a personal blog, that means static files.</p>
</blockquote>
<h2>How it actually works</h2>
<p>The engine is about 120 lines of JavaScript in a single file called <code>blog.js</code>. It does three things:</p>
<ol>
<li><strong>Fetches post metadata</strong> from an <code>index.json</code> file — titles, dates, tags, excerpts, filenames</li>
<li><strong>Fetches and parses Markdown</strong> files on demand, converting them to HTML client-side</li>
<li><strong>Provides helper functions</strong> for rendering post cards, post rows, and formatted dates</li>
</ol>
<p>The Markdown parser handles headings, bold, italic, links, images, code blocks, blockquotes, lists, and horizontal rules. It's not going to win any awards for edge-case handling, but for blog posts? It's more than enough.</p>
<pre><code class="language-javascript">// The entire post-loading flow
const posts = await Blog.getPosts();
const post = posts.find(p =&gt; p.slug === slug);
const html = await Blog.getPostContent(post.filename);
document.getElementById('article').innerHTML = html;</code></pre>
<p>Four lines. That's the whole render pipeline.</p>
<h2>The design: terminal aesthetic</h2>
<p>I wanted the site to feel like <em>my</em> space — not a template. The terminal window chrome (those red, yellow, green dots) wraps content areas and gives everything a dev-native feel. Martian Mono as the sole typeface keeps things consistent and a little unusual.</p>
<p>The blinking eyes in the background are a carry-over from my original site. They're pure SVG with CSS animations — no JavaScript needed. Subtle enough that most people don't notice them for a few seconds. That delay is the whole point.</p>
<h2>What I'd do differently</h2>
<p>Honestly? Not much. If I were building something with fifty contributors and a content calendar, I'd reach for a headless CMS. But for one person writing a few posts a month, this is the right amount of architecture.</p>
<p>The one thing I might add eventually is client-side search. A small index that lets you filter by keyword without hitting a server. But even that feels like premature optimisation for six posts.</p>
<hr>
<p>Sometimes the most modern thing you can do is use less technology. This blog is my proof of that. Static files, zero dependencies, and the browser does the rest.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Rebranding an Internal Team: Lessons from DX</title>
    <link>https://tjep.blog/blog/rebranding-dx-team/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/rebranding-dx-team/</guid>
    <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
    <category>Leadership</category>
    <description>We just renamed the team, I am a part of.. We went from &quot;Tech, Owned &amp; Data&quot; to &quot;Digital Experience.&quot; On paper, it's just words. In practice, it changed nearly everything about how we operate, what...</description>
    <content:encoded><![CDATA[<p><!-- tag: Leadership --> <!-- title: Rebranding an Internal Team: Lessons from DX --> <!-- date: 2026-02-10 --></p>
<p>We just renamed the team, I am a part of.. We went from "Tech, Owned & Data" to "Digital Experience." On paper, it's just words. In practice, it changed nearly everything about how we operate, what we're asked to do, and how seriously the wider business takes our work.</p>
<p>I want to talk about why naming matters so much for internal teams, and what I learned from getting it right after years of getting it wrong.</p>
<h2>The problem with the old name</h2>
<p>"Tech, Owned & Data" was accurate. We did handle technology, owned channels, and data. But accuracy isn't the point of a team name — <em>positioning</em> is.</p>
<p>Here's what stakeholders heard when I said "Tech, Owned & Data":</p>
<ul>
<li>"Tech" → these are the IT people, call them when something breaks</li>
<li>"Owned" → they manage the website, probably some social media</li>
<li>"Data" → they pull reports when I need numbers for a presentation</li>
</ul>
<p>None of that was wrong, exactly. But none of it captured what we actually did, which was shape the entire digital experience across markets, build the content and AI strategy, and drive business outcomes through owned channels. The name created a ceiling for our perceived scope.</p>
<blockquote><p>A team name isn't a description. It's a pitch. Every time someone reads it on an org chart, they're making assumptions about what you can and should be involved in.</p>
</blockquote>
<h2>Why "Digital Experience" works</h2>
<p>"Digital Experience" does three things the old name didn't:</p>
<p><strong>It centres the customer.</strong> "Experience" is inherently outward-facing. It signals that we care about what the end user encounters, not just the machinery behind it. This shifted how product teams thought about involving us — from "can you build this page" to "how should this experience work."</p>
<p><strong>It's broad enough to be ambitious.</strong> Experience covers content, technology, search, AI, analytics, and the connections between them. Nobody questions why a Digital Experience team is involved in an AI visibility project or a content strategy workshop. With "Tech, Owned & Data," I spent half my time justifying why we had opinions about content.</p>
<p><strong>It's recognisable outside the company.</strong> Try explaining "Tech, Owned & Data" to a prospective hire. Now try explaining "Digital Experience." One requires a five-minute backstory. The other is instantly understood.</p>
<h2>The ripple effects</h2>
<p>What surprised me was how much changed <em>without us pushing for it</em>. Within three months of the rename:</p>
<ul>
<li>We were invited to strategic planning meetings we'd never been part of</li>
<li>Two cross-functional projects listed us as stakeholders by default</li>
<li>Recruitment became noticeably easier — candidates understood the role from the title alone</li>
<li>Team morale improved because people could finally explain to their families what they did</li>
</ul>
<p>That last one sounds trivial, but it isn't. Pride in your team's identity matters. When your mum asks what you do at work and you can say "I work in Digital Experience" instead of "I'm in Tech, Owned & Data... it's complicated," that changes how you feel about showing up on Monday.</p>
<h2>How to know it's time</h2>
<p>If any of these sound familiar, it might be time:</p>
<ul>
<li>You spend more than 10% of stakeholder conversations explaining what your team does</li>
<li>People route requests to you that should go elsewhere (or miss routing requests that <em>should</em> come to you)</li>
<li>Your team's name doesn't appear in strategic planning documents, even when your work directly contributes</li>
<li>New hires take weeks to understand the team's scope and positioning</li>
</ul>
<h2>What we would do differently</h2>
<p>We might have waited too long. We treated the name as cosmetic when it was structural. If we could go back, we would have renamed earlier and be even more deliberate about the launch.</p>
<hr>
<p>Names are levers. In an organisation where attention is scarce and assumptions are formed in seconds, the words on the org chart matter more than most leaders admit. If your team name is holding you back, change it. It's one of the highest-leverage, lowest-cost moves you can make.</p>
]]></content:encoded>
  </item>
  <item>
    <title>Hreflang Debugging: When Dutch Users See English Butter</title>
    <link>https://tjep.blog/blog/hreflang-debugging/</link>
    <guid isPermaLink="true">https://tjep.blog/blog/hreflang-debugging/</guid>
    <pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate>
    <category>Development</category>
    <description>A few months ago, our SEO team flagged something strange: Dutch users searching for a well-known butter brand were landing on English-language pages. Not occasionally — consistently. The hreflang i...</description>
    <content:encoded><![CDATA[<p><!-- tag: Development --> <!-- title: Hreflang Debugging: When Dutch Users See English Butter --> <!-- date: 2026-02-03 --></p>
<p>A few months ago, our SEO team flagged something strange: Dutch users searching for a well-known butter brand were landing on English-language pages. Not occasionally — consistently. The hreflang implementation on one of our key product domains was broken, and it had been broken long enough that we were losing meaningful traffic in the Netherlands.</p>
<p>This is the story of how we diagnosed it, what was actually wrong, and what I learned about the surprising fragility of hreflang in multi-market setups.</p>
<h2>What hreflang is supposed to do</h2>
<p>For the uninitiated: <code>hreflang</code> is an HTML attribute (or HTTP header, or sitemap annotation) that tells search engines which language and regional version of a page to show to which users. If you have <code>example.com/en/butter</code> and <code>example.com/nl/boter</code>, hreflang tags tell Google that Dutch users should see the second one.</p>
<p>Simple in theory. Diabolically tricky in practice.</p>
<pre><code class="language-html">&lt;!-- On the English page --&gt;
&lt;link rel=&quot;alternate&quot; hreflang=&quot;en&quot; href=&quot;https://example.com/en/butter&quot; /&gt;
&lt;link rel=&quot;alternate&quot; hreflang=&quot;nl&quot; href=&quot;https://example.com/nl/boter&quot; /&gt;

&lt;!-- On the Dutch page --&gt;
&lt;link rel=&quot;alternate&quot; hreflang=&quot;nl&quot; href=&quot;https://example.com/nl/boter&quot; /&gt;
&lt;link rel=&quot;alternate&quot; hreflang=&quot;en&quot; href=&quot;https://example.com/en/butter&quot; /&gt;</code></pre>
<p>The key rule: hreflang must be <em>reciprocal</em>. If Page A says "my Dutch version is Page B," then Page B must also say "my English version is Page A." If this bidirectional confirmation is missing, Google ignores the whole thing.</p>
<h2>Finding the break</h2>
<p>Our first instinct was to check the hreflang tags directly. They looked fine — both pages referenced each other correctly. So why wasn't it working?</p>
<p>Three hours of debugging later, we found it. The issue was in the <em>canonical tags</em>.</p>
<p>The Dutch page had a canonical pointing to a slightly different URL — one with a trailing slash inconsistency:</p>
<pre><code class="language-html">&lt;!-- The hreflang said --&gt;
&lt;link rel=&quot;alternate&quot; hreflang=&quot;nl&quot; href=&quot;https://example.com/nl/boter&quot; /&gt;

&lt;!-- But the canonical on that page said --&gt;
&lt;link rel=&quot;canonical&quot; href=&quot;https://example.com/nl/boter/&quot; /&gt;</code></pre>
<p>One trailing slash. That's it. Google treats those as different URLs, so the reciprocal relationship broke silently. No error in Search Console. No warning. Just... ignored.</p>
<blockquote><p>Hreflang debugging is 90% URL normalisation issues. The actual tag logic is rarely wrong. It's the URLs that lie.</p>
</blockquote>
<h2>The fix and the fallout</h2>
<p>The fix itself was simple: normalise all canonical URLs and hreflang references to use the same format (no trailing slash, in our case). We deployed it, resubmitted the sitemaps, and within two weeks traffic patterns normalised.</p>
<p>But the <em>real</em> lesson was about our process. Here's what we changed:</p>
<h3>Automated validation</h3>
<p>We built a script that crawls our hreflang implementation nightly and checks for:</p>
<ul>
<li>Reciprocal link completeness (every hreflang has a matching return link)</li>
<li>Canonical/hreflang URL consistency</li>
<li>HTTP status codes on all referenced URLs</li>
<li>Self-referencing hreflang tags (required but often forgotten)</li>
</ul>
<pre><code class="language-python">def validate_hreflang_pair(page_a, page_b):
    &quot;&quot;&quot;Check that two pages correctly reference each other.&quot;&quot;&quot;
    a_refs = get_hreflang_refs(page_a)
    b_refs = get_hreflang_refs(page_b)
    a_canonical = get_canonical(page_a)
    b_canonical = get_canonical(page_b)

    issues = []
    if b_canonical not in a_refs.values():
        issues.append(f&quot;{page_a} references {page_b} but URLs don't match canonical&quot;)
    if a_canonical not in b_refs.values():
        issues.append(f&quot;{page_b} doesn't reference back to {page_a}&quot;)
    return issues</code></pre>
<h3>Deploy-time checks</h3>
<p>Any change to URL structure or page templates now triggers hreflang validation as part of the CI pipeline. If the reciprocal links break, the deploy fails. We don't rely on humans catching this anymore.</p>
<h2>What makes hreflang so fragile</h2>
<p>The core problem is that hreflang creates a <em>distributed contract</em> between pages. Each page makes promises about other pages, and those promises all need to be consistent. In a system with hundreds of pages across dozens of markets, that's thousands of bidirectional relationships, each one capable of silently breaking.</p>
<p>Add to this that:</p>
<ul>
<li>Different teams often manage different market sites</li>
<li>CMS platforms don't always expose hreflang configuration cleanly</li>
<li>URL structures drift over time as sites evolve</li>
<li>CDN or middleware layers can transform URLs in ways that create inconsistencies</li>
</ul>
<p>The result is a system that's almost designed to break in ways that are hard to detect.</p>
<h2>The takeaway</h2>
<p>If you're running a multi-market site, hreflang isn't a "set it and forget it" implementation. It's infrastructure — and like all infrastructure, it needs monitoring, testing, and the occasional 3am debugging session when Dutch users complain about seeing English butter.</p>
<hr>
<p>The trailing slash thing still annoys me. One character, silent failure, weeks of lost traffic. If there's a better metaphor for the fragility of web infrastructure, I haven't found it.</p>
]]></content:encoded>
  </item>
</channel>
</rss>
