<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Margin Notes</title>
    <link>https://eddieespriella.com/writing/</link>
    <atom:link href="https://eddieespriella.com/writing/feed.xml" rel="self" type="application/rss+xml" />
    <description>Weekly notes on AI for marketing, from a practitioner who has to ship. By Eduardo de la Espriella.</description>
    <language>en</language>
    <copyright>© Eduardo de la Espriella</copyright>
    <managingEditor>contact@eddieespriella.com (Eduardo de la Espriella)</managingEditor>
    <webMaster>contact@eddieespriella.com (Eduardo de la Espriella)</webMaster>
    <generator>scripts/publish.py</generator>
    <image>
      <url>https://eddieespriella.com/writing/og/publication.png</url>
      <title>Margin Notes</title>
      <link>https://eddieespriella.com/writing/</link>
    </image>
    <item>
      <title>I built a private AI operating system for my life and work</title>
      <link>https://eddieespriella.com/writing/2026-w33-private-ai-operating-system.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/2026-w33-private-ai-operating-system.html</guid>
      <pubDate>Wed, 12 Aug 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Field notes</category>
      <description>Instead of asking one general-purpose assistant to do everything, I use a private system of specialised AI collaborators with clear roles, shared state, and deliberate boundaries.</description>
      <content:encoded><![CDATA[<p>Most people use AI one conversation at a time.</p>
  <p>I wanted something different: a private, locally hosted system where several specialised AI collaborators can work together across my projects, routines, research, and marketing work without turning my life into one giant chat thread.</p>
  <p>I keep the system's internal name private. The interesting part is not the name, the hardware, or which models sit underneath it. It is the operating model.</p>
  <p>Instead of asking one general-purpose assistant to be good at everything, I give different collaborators distinct responsibilities and let them share a controlled source of truth. That makes AI feel less like software I open and more like a small operating team I work alongside.</p>
  <h2>Why I use several AI collaborators</h2>
  <p>The obvious question is: why not use one powerful assistant for everything? Because the jobs are different.</p>
  <p>A collaborator that is good at exploratory thinking should not necessarily be the same one handling precise, repeatable execution. A system that coordinates long-running work should not also be making every strategic decision. And the part responsible for maintaining the environment should have very different permissions from the part brainstorming campaign ideas.</p>
  <p>I currently divide the work into five broad roles.</p>
  <h3>1. The conversational partner</h3>
  <p>This is the collaborator I interact with most directly. It handles day-to-day thinking, planning, writing, personal-assistant tasks, brainstorming, and strategic synthesis.</p>
  <p>The value is continuity. Instead of constantly reconstructing context, I can think out loud and let the system connect the current conversation with the projects and priorities that already exist.</p>
  <h3>2. The deep researcher and builder</h3>
  <p>Some tasks need more than a quick answer. Researching a market, designing a campaign system, investigating a technical problem, building an automation, or producing a complete artifact can require many steps.</p>
  <p>For those jobs, I use a collaborator designed to explore independently, work through ambiguity, and return with a finished result rather than a stream of partial thoughts.</p>
  <h3>3. The precision executor</h3>
  <p>Other tasks are almost the opposite. There is already a clear instruction and a clear tool: retrieve something, update a record, query a repository, summarise a dataset, or make a specific API call.</p>
  <p>For these, exploration is waste. The executor is designed for tight, verifiable one-shot work where speed and correctness matter more than interpretation.</p>
  <h3>4. The operations orchestrator</h3>
  <p>Once several collaborators exist, coordination becomes its own job. The orchestrator tracks ongoing work, manages hand-offs, keeps shared state aligned, and handles recurring operational responsibilities.</p>
  <p>Its role is not to be the smartest collaborator in the system. Its role is to make sure the others are working on the right things, with the right context, in the right order.</p>
  <h3>5. The infrastructure steward</h3>
  <p>The final role protects the system itself. It manages capabilities, reviews changes to the environment, maintains the toolchain, and watches for reliability or security problems.</p>
  <p>I intentionally keep this responsibility separate from everyday creative work. An AI that can casually install or change its own capabilities while also acting as my brainstorming partner would make me deeply uncomfortable.</p>
  <h2>The shared-state idea</h2>
  <p>The most important design decision in my system is that durable information does not live primarily inside conversations. It lives in a structured local workspace.</p>
  <p>Each collaborator has access only to the parts of that workspace it needs, while shared information can be read by the collaborators that depend on it. Changes are versioned locally. That gives me a useful history of how the system's understanding evolves and provides a way to inspect or reverse changes when necessary.</p>
  <div class="pull">Chats are temporary. State is deliberate.</div>
  <p>If something matters tomorrow, it should not depend on whether a model happens to remember a conversation from today.</p>
  <h2>Collaboration without a giant agent swarm</h2>
  <p>I am deliberately sceptical of the idea that more agents automatically produce better results. This is not an army of bots talking endlessly to each other.</p>
  <p>Most work should still be completed by one collaborator. Coordination only becomes useful when responsibilities genuinely cross boundaries.</p>
  <p>For example, a research task might produce findings that later become input to a campaign plan. The research collaborator records the result. The planning collaborator can then work from that durable state rather than asking another model to recreate the research.</p>
  <p>That is much closer to how a good human team works. People do not need to sit in the same meeting all day to collaborate. They need clear responsibilities, reliable hand-offs, and a shared record of what is true.</p>
  <h2>Why I keep it local</h2>
  <p>Privacy was one of the reasons I built the system in the first place. A personal AI becomes dramatically more useful when it understands long-term context. But the more useful it becomes, the more sensitive that context can be.</p>
  <p>So I wanted the durable state of the system to remain under my control rather than living by default in a collection of third-party databases.</p>
  <p>The exact infrastructure is intentionally boring and private. Some implementation details in this note are deliberately generalised for the same reason.</p>
  <div class="pull">The most sensitive context should have the smallest possible exposure surface.</div>
  <p>Not every AI task needs private data. The system tries to provide collaborators with only the context required for the job they are doing.</p>
  <h2>What this changes for marketing</h2>
  <p>The surprising part is how much this personal architecture has influenced how I think about AI inside marketing teams.</p>
  <p>Companies are currently buying copilots. I think many will eventually build something closer to operating systems.</p>
  <p>A good AI marketing environment will probably have the same characteristics: specialist roles instead of one universal assistant; shared, governed context; explicit permissions; durable workflow state; human approval at high-judgement moments; clear hand-offs between research, planning, execution, and measurement; and an operational layer that keeps the system coherent.</p>
  <p>The model itself becomes only one component. The competitive advantage starts moving toward how the work is designed.</p>
  <h2>The principle I keep coming back to</h2>
  <p>The goal of my system is not to automate my life. I do not want an AI making every decision for me. I want it to remove the coordination tax around the decisions I still want to make.</p>
  <p>That distinction matters. The best outcome is not maximum autonomy. It is <strong>better human attention</strong>.</p>
  <p>Less time reconstructing context. Less time moving information between tools. Less time remembering what needs to happen next.</p>
  <p>More time spent on judgement, relationships, ideas, and the work where being human is actually the point.</p>
  <p>That is the version of AI I am most interested in building.</p>]]></content:encoded>
    </item>
    <item>
      <title>Your next AI hire is not a copilot. It is an operating layer.</title>
      <link>https://eddieespriella.com/writing/2026-w32-marketing-agents-operating-system.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/2026-w32-marketing-agents-operating-system.html</guid>
      <pubDate>Sat, 08 Aug 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Field notes</category>
      <description>Marketing teams are moving from assistants that answer questions to agents that carry work across tools, schedules, and approvals. The advantage is not the model. It is the workflow design.</description>
      <content:encoded><![CDATA[<p>For the last two years, most marketing teams have treated AI as a very fast colleague sitting in another tab. You ask for a draft, a summary, a list of ideas, maybe a spreadsheet formula. Useful, but still fundamentally reactive: the human notices the work, gathers the context, asks the question, moves the output, and remembers what happens next.</p>
  <p>That is changing. The more important 2026 shift is not a smarter chat window. It is the arrival of shared agents that can carry a bounded workflow across the tools a team already uses: gather context, follow a process, run on a schedule, take permitted actions, and stop for approval where judgement matters.</p>
  <p>OpenAI's workspace agents are an explicit version of this pattern. They can be shared across an organisation, use connected tools and company context, run on schedules, and include approval controls. ChatGPT's app layer is moving in the same direction: away from an assistant that only knows what you paste into the box and toward an operating surface that can search and act across systems you already use.</p>
  <div class="pull">The advantage is no longer who has access to the best model. The advantage is who has encoded the best workflow.</div>
  <p>That distinction matters for marketing because most of our expensive work is not one heroic creative act. It is chains of small decisions. A campaign brief needs customer context, prior performance, positioning, a channel plan, a first draft, a review, legal or brand approval, publishing, then reporting. Giving every person a copilot makes each step slightly faster. Giving the team a well-designed operating layer removes handoffs entirely.</p>
  <p>The first agent I would build for a B2B marketing team is deliberately boring: a weekly campaign operator. Every Monday it reads the current campaign plan, recent performance, sales feedback, and the editorial calendar. It produces a short exceptions report: what changed, what is underperforming, what is blocked, and the three actions that deserve a human decision. It can prepare the updates, but it cannot change budget or publish without approval.</p>
  <p>Why this one? Because it has a clear boundary, recurring inputs, an obvious cadence, and a natural approval point. It also gives you a clean ROI test. If the agent works, somebody stops spending Monday morning stitching together five systems before the actual marketing conversation starts.</p>
  <p>Do not start by asking an agent to 'run marketing'. That is a job title disguised as a prompt. Start with a workflow you could hand to a competent operator with a one-page SOP. Then define four things: the trigger, the sources it may read, the actions it may take, and the decisions that still require a person.</p>
  <p>The tooling will keep changing. Models will leapfrog each other. Interface names will change. That is exactly why the durable asset is the workflow specification, not the vendor. A good marketing agent should be portable enough that you could rebuild it elsewhere without redesigning the job from scratch.</p>
  <p>The operator test still applies: write down what stops happening when the agent works. If the answer is 'we use AI more', you have bought theatre. If the answer is 'the growth lead no longer spends two hours every Monday collecting campaign status', now you have something worth measuring.</p>
  <p>My recommendation for the next thirty days: pick one recurring marketing workflow with at least three systems involved and one human approval point. Map it before you automate it. Then build the smallest agent that can carry the work from trigger to decision. That is a much better place to be early than collecting another folder of prompts.</p>]]></content:encoded>
    </item>
    <item>
      <title>AI marketing operating systems</title>
      <link>https://eddieespriella.com/writing/ai-marketing-operating-systems.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/ai-marketing-operating-systems.html</guid>
      <pubDate>Sat, 08 Aug 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Note</category>
      <description>A living note on the architecture behind useful AI in marketing: specialist roles, shared context, bounded permissions, durable state, and human approval where judgement matters.</description>
      <content:encoded><![CDATA[<p>This is a living note. I will update it as the tooling changes and as I learn more from building and using these systems.</p>
  <p>I use the phrase AI marketing operating system to describe the layer between a marketing team's goals and the individual AI tools it uses. The system decides what context is durable, which role owns which workflow, what each component may read or change, where work is handed off, and which decisions still require a person.</p>
  <p>The useful unit is the workflow, not the model. Models will change quickly. A well-specified job survives those changes.</p>
  <p>Five principles matter most to me today: specialist roles beat a universal assistant; shared context should be deliberate rather than accidental; permissions should be narrow by default; important state should survive individual chats; and irreversible or high-judgement actions should stop for human approval.</p>
  <p>The simplest test is still the operator test: what stops happening when the system works? If the answer is only that people use AI more, the system is probably adding theatre. If a recurring hand-off, collection task, review cycle, or coordination burden disappears, there is something worth measuring.</p>
  <p>The destination is not maximum autonomy. It is better allocation of human attention. AI should take coordination, repetition, retrieval, and first-pass evaluation off the critical path so people can spend more time on judgement, relationships, ideas, and decisions.</p>
  <p>I expect this note to evolve. New agent frameworks, workspace products, and automation layers will come and go. The architecture should remain legible even when the vendors change.</p>]]></content:encoded>
    </item>
    <item>
      <title>Where AI actually moves margin for a B2B marketing team</title>
      <link>https://eddieespriella.com/writing/2026-w24-where-ai-actually-moves-margin.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/2026-w24-where-ai-actually-moves-margin.html</guid>
      <pubDate>Tue, 09 Jun 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Opinion</category>
      <description>Three places it earns its keep. Three where it costs more than the time it saves. And one operator test before you commit a budget line.</description>
      <content:encoded><![CDATA[<p>Most teams are buying AI tools the way they bought MarTech in 2018: by category, by vendor demo, by FOMO. The result is a stack that looks impressive on a Notion page and shows up nowhere on the P&L. Margin does not care about your stack diagram. It cares whether the next unit of effort went further than it did last quarter.</p>
  <p>The pattern I keep coming back to is simple. AI tends to move margin in three places: drafting, evaluation, and triage. It tends to burn margin when teams delegate judgement, brand voice, or customer-facing autonomy before the workflow is mature enough to deserve it.</p>
  <p>Drafting is the obvious one. The interesting move is not merely using a model to write an email. It is putting your voice, constraints, examples, and review criteria into the workflow, then comparing model output with the human edit until you understand where the system is actually helping and where it is creating rework.</p>
  <p>Evaluation is the underrated one. Marketing has always had a quality-control gap between the writer and the publish button. AI can cheaply perform a first-pass check for voice, claim accuracy, buyer specificity, missing context, and obvious inconsistencies. The point is not to eliminate human review. It is to stop spending senior attention on mistakes a repeatable system can catch first.</p>
  <p>Triage is where small teams can gain disproportionate leverage. Sorting inbound, prioritising requests, scanning campaign performance, or identifying which accounts deserve attention are repetitive judgement-adjacent tasks. A good AI layer can prepare the decision without pretending to own it.</p>
  <div class="pull">If you cannot say what stops happening when the AI tool works, you cannot tell when it is not working.</div>
  <p>Now the places where the economics become shakier. Judgement: positioning, pricing, messaging hierarchy, and other choices where the value comes from deciding what to exclude. Voice: anything published under your name without a human pass carries asymmetric reputational risk. Customer-facing autonomy: the spreadsheet may say an autonomous bot is cheaper, but the buyer experiences the system, not the spreadsheet.</p>
  <p>Before any budget line, run the operator test. Pick the workflow. Write down what stops happening when the AI system works correctly: the specific human task, hand-off, or delay that disappears. If you cannot say it in one sentence, you probably do not have a workflow yet. You have a vibe.</p>
  <p>Then measure it for thirty days. Count the time bought back, the rework introduced, the decisions accelerated, and any new trust or quality risk. Margin is not only revenue minus software cost. It is also the cost of coordination, review, correction, and attention.</p>
  <p>That is also why I am increasingly more interested in AI operating systems than copilots. The durable advantage is not a better chat window. It is a better-designed workflow with clear context, permissions, hand-offs, and approval points.</p>]]></content:encoded>
    </item>
    <item>
      <title>AI marketing audit</title>
      <link>https://eddieespriella.com/writing/ai-marketing-audit.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/ai-marketing-audit.html</guid>
      <pubDate>Fri, 15 May 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Note</category>
      <description>A short structured diagnostic that returns a ranked map of which AI moves a marketing team should make first, given its current stack, audience, and goals.</description>
      <content:encoded><![CDATA[<p>An AI marketing audit is the marketing equivalent of a technical-debt audit for engineering teams. The premise is that "we should use AI" is not a strategy; it is a sentence. The audit translates that sentence into a sequenced list of moves.</p>
  <p>A workable audit answers five questions: What is the marketing function trying to produce more of (pipeline, content, qualified leads, retention)? What is the team's current AI fluency? What systems are already wired together? Who is the audience, and how comfortable are they with AI-generated material? What is the constraint that is keeping the team from moving faster today?</p>
  <p>The output is a ranked opportunity map. Three to five moves, in order. Each move has an effort estimate, an expected impact, and a one-line rationale. The first move is typically the lowest-friction lift with the highest payback — usually a workflow inside the team's existing stack that AI compresses from days to hours. The last move is usually the most ambitious — an automation or a content system that requires real architectural work and a longer time horizon.</p>
  <p>A useful audit also returns a portable prompt. The prompt is structured so it can be pasted into Claude, ChatGPT, or any other assistant the team already uses, and continue producing decisions inside the team's working context. The audit ends; the prompt persists.</p>
  <p>The free version of this audit, built by Eduardo de la Espriella for B2B marketing leaders, lives at /audit/. The paid version with a working session and a prompt library is the AI Marketing Sprint.</p>]]></content:encoded>
    </item>
    <item>
      <title>B2B technical positioning</title>
      <link>https://eddieespriella.com/writing/b2b-technical-positioning.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/b2b-technical-positioning.html</guid>
      <pubDate>Fri, 15 May 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Note</category>
      <description>The practice of making a deeply technical product explicable to a non-technical buyer without losing what makes it technical.</description>
      <content:encoded><![CDATA[<p>B2B technical positioning sits in the gap between two failures most deep-tech and developer-platform brands fall into. The first failure is leading with the technology. The homepage says "vector embeddings" or "eventually-consistent replication" or "post-quantum cryptography" — accurate, defensible, and incomprehensible to anyone in the buying group who is not also an engineer. The second failure is over-translating. The homepage says "the platform of platforms" or "the operating system for the modern enterprise" — readable, generic, and identical to what seven competitors say.</p>
  <p>The practice splits the difference. It leads with the operational pain that the technical product removes. Then it uses the technology as proof rather than as headline. The structure is consistent.</p>
  <p>First, name the operational problem in the language the operator uses. "Customers abandoning checkout on mobile." "Engineers paged about an outage they cannot trace." "Sales and finance arguing about the same quarter's numbers." Second, name the consequence in the language the buyer's CFO uses. "Cart abandonment costing X percent of revenue." "SLA penalties last quarter." "Decisions delayed a week each time we re-run the report." Third, name the technical mechanism that removes the consequence. "Adaptive payment routing." "End-to-end distributed tracing." "A single governed source of truth, column by column."</p>
  <p>Stripe is the textbook example. The homepage reads <em>Financial infrastructure to grow your revenue</em> — not <em>we process card payments</em>. The CFO buyer reads grow-your-revenue; the CTO reads the change-log on adaptive 3DS routing and idempotency keys; both close the tab convinced the product is for them. The same pattern shows up at Datadog (<em>See your full stack in one place</em>), Linear (<em>The system for modern software development</em>), and Vercel (<em>Develop. Preview. Ship.</em>) — each leading with the operator's day, not the underlying stack.</p>
  <p>The result is positioning a non-technical buyer can repeat back to their board, with the technical credibility their CTO will not push back on. The buyer reads the headline; the technical decision-maker reads the proof; both buy.</p>
  <p>Companies that get this right share a habit: they describe operations more carefully than they describe their stack. Companies that get this wrong describe their stack more carefully than the operations the stack changes.</p>
  <p>This is the heart of the practice at eddieespriella.com.</p>]]></content:encoded>
    </item>
    <item>
      <title>The slower brand: what happens when you stop shouting</title>
      <link>https://eddieespriella.com/writing/slower-brand.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/slower-brand.html</guid>
      <pubDate>Sun, 05 Apr 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Opinion</category>
      <description>An essay on volume, attention, and what is left of a B2B brand when it stops trying to win every week.</description>
      <content:encoded><![CDATA[<div class="eyebrow">
    <span>05 · 04 · 2026</span>
    <span class="dot">·</span>
    <span>Essay</span>
  </div>

  <div class="article-mark" aria-hidden="true">
    <svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
      <circle cx="16" cy="16" r="3" fill="#ff8700"/>
      <circle cx="16" cy="16" r="8" fill="none" stroke="#053c5e" stroke-width="1" opacity=".55"/>
      <circle cx="16" cy="16" r="13" fill="none" stroke="#053c5e" stroke-width="1" opacity=".25"/>
    </svg>
  </div>

  <h1 class="title">The slower brand: what happens when you stop shouting</h1>
  <p class="deck">There is another way to be seen. It is quieter. It takes longer. It lasts.</p>

  <div class="byline">
    <img src="https://eddieespriella.com/personal/eddie.jpg" alt="" class="byline-photo" loading="lazy" onerror="this.style.display='none'">
    <span class="byline-text">Written by <strong>Eduardo de la Espriella</strong></span>
  </div>

  <p>Growth marketing has meant, for the last ten years, a particular kind of volume. Hooks. Drops. Seven-slide carousels. Outrage bait. The schedule is so packed that a week off the feed feels like a month off the calendar. The idea is that attention adds up. So more attention adds up faster.</p>

  <p>It does not, really. Most of the brands I come back to are doing something else. They publish less. They repeat themselves. They do not chase the algorithm. They set a rhythm and the audience learns it. They show up on Tuesday because they show up on Tuesday.</p>

  <p>A slower brand is not quiet to the point of invisibility. That is a different problem. It just picks its moments, and trusts that the right reader does not need a megaphone. Just a signal, in the same place, every time.</p>

  <div class="pull">If you speak once a month, every sentence is a promise.</div>

  <p>A hospitality brand I worked with at Story Jar had been posting three times a day across five channels. Hooks, drops, the whole playbook. Nobody on the team could say what any of it was doing, but stopping felt like surrender. We stopped. We moved to a weekly post, and a short monthly note to people who had already stayed with them. For the first few months, nothing moved. Then repeat stays began to creep up. The posts that had been meant to "drive awareness" had mostly been driving nobody. The awareness they needed was already in somebody's inbox.</p>

  <p>Part of the case for slowing down is honest: fast marketing burns out the people making it. Constant posting forces shallow thinking. You publish before you have finished thinking, because the calendar is in charge. A slower brand has time to be careful. Three things a quarter that actually matter, instead of thirty that do not.</p>

  <p>The other part is about positioning. If you speak once a month, every sentence is a promise. If you speak every day, the promises blur. Posts written by the same team six weeks apart start to contradict each other, because nobody had time to remember what was said before. Brands that publish constantly tend, over time, to mean less. Not because any single piece is bad. The shape just gets fuzzy.</p>

  <p>Whether it is payroll software, a boutique hotel group, or a neighbourhood bakery, no one buys something serious because they saw a funny LinkedIn post. They buy because six months ago they ran into a problem, and on a Tuesday afternoon they remembered someone had written something clear about it. They go back. They search. They find you.</p>

  <p>That is the only attention that matters. The kind that arrives late. The kind you cannot really measure on a weekly dashboard. The kind you earn by being there, year after year, saying a small number of true things more than once.</p>

  <p>Slower brands also age better. The writing ages slower because it was not built to win this week's argument. The visual system ages slower because it was not designed to win one campaign. The voice ages slower because it was never trying to sound like whatever was working on the feed in March.</p>

  <p>There is a simple test for whether a brand is fast or slow. Pull up what you published a year ago. Read it out loud. If most of it makes you cringe and you would never write it now, you are fast. If most of it still feels true, you are slow. Neither is a virtue on its own. But only one of them turns into something that outlasts a team.</p>

  <p>The hardest part of working this way is the quiet stretch. The first six months feel like nothing. Traffic is flat. Engagement is flat. The founder asks if marketing is broken. It is not. It is just that what you are building, a reputation for saying specific things clearly, does not move on a weekly dashboard. It moves on a two-year dashboard, and most companies do not have one of those.</p>

  <p>This site is the same argument applied to itself. Three essays a quarter. A short letter once a month. No daily feed. No streak to protect. If it is working, you will know in a year.</p>

  <p>Stop shouting. See what is left. If the answer is nothing, then the shouting <em>was</em> the brand. If there is a product, a point of view, a reason someone should pick you, that is what you were looking for. Build around that, slowly.</p>]]></content:encoded>
    </item>
    <item>
      <title>A short defense of the homepage that says one thing</title>
      <link>https://eddieespriella.com/writing/homepage-one-thing.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/homepage-one-thing.html</guid>
      <pubDate>Sun, 22 Mar 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Opinion</category>
      <description>Notes on homepages: the hero headline as promise, and why a second CTA usually means you have not picked your reader yet.</description>
      <content:encoded><![CDATA[<div class="eyebrow">
    <span>22 · 03 · 2026</span>
    <span class="dot">·</span>
    <span>Notes</span>
  </div>

  <div class="article-mark" aria-hidden="true">
    <svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
      <circle cx="16" cy="16" r="13" fill="none" stroke="#053c5e" stroke-width="1" opacity=".4"/>
      <circle cx="16" cy="16" r="6" fill="#ff8700"/>
    </svg>
  </div>

  <h1 class="title">A short defense of the homepage that says one thing</h1>
  <p class="deck">The hero headline is a promise. A second CTA usually means you have not picked your reader yet.</p>

  <div class="byline">
    <img src="https://eddieespriella.com/personal/eddie.jpg" alt="" class="byline-photo" loading="lazy" onerror="this.style.display='none'">
    <span class="byline-text">Written by <strong>Eduardo de la Espriella</strong></span>
  </div>

  <p>Most homepages try to say everything. Product features. Testimonials. Investor logos. Awards. A carousel. A chatbot. A cookie banner. A newsletter popup. A "watch the video" hero. A "schedule a demo" button. Another "schedule a demo" button, in case you missed the first.</p>

  <p>The result is a page that says nothing. When everything on a page is given the same weight, nothing on it stands out.</p>

  <p>The homepage that says one thing is harder to build. It needs a sentence the team actually agrees on, short enough to hold in one breath. Most teams do not have that sentence yet. The homepage is where that gap shows up.</p>

  <div class="pull">If there are two CTAs above the fold, one of them is a hedge.</div>

  <p>Rule of thumb: if the hero headline does not make a promise, the rest of the page is decoration. A promise is specific. It names a buyer, an outcome, and often a number. "Payroll errors down ninety percent, processed in an afternoon." "Direct bookings up, without ads." "One fee, zero surprises." Those are promises. "Platform for the connected world" is a placeholder where a promise should go.</p>

  <p>Second rule: if there are two CTAs above the fold, one of them is a hedge. "Watch demo" next to "Book a call" means you did not know which customer you were talking to, so you invited both. The reader picks up on that faster than you do.</p>

  <p>The work here is subtraction. You have to take off the page most of what the team wants on it. You tell product the integrations grid can wait for page two. You tell sales the case study PDF does not belong in the hero. You tell the founder the logo wall is fine, but later. None of these conversations are fun. All of them are needed.</p>

  <p>I've been through this clean-up with a law firm that had eighteen service lines on the home page, a webshop that opened with twelve categories and a chatbot, and a restaurant group fronting nine hero carousels. In each case, three conversations later, the page ended with one promise and one invitation. The rest went to sub-pages. Bounce rate did not tank. People stayed longer.</p>

  <p>What you are left with is a page a stranger can read in fifteen seconds and walk away understanding one thing. That is the goal. Not engagement. Not bounce rate. Understanding.</p>

  <p>One last test. Read the homepage out loud to someone who does not work at the company. Ask them, in their own words, what the product is and who it is for. If they can answer in one sentence, you have a homepage. If they can't, you have a brochure. And a brochure is a thing people close.</p>

  <p class="defined-in" style="margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--rule); font-family: 'Geist Mono', monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted);">
    Related essay:
    <a href="https://eddieespriella.com/writing/positioning-subtraction.html" style="color: var(--ink-deep); border-bottom: 1px solid var(--rule-2); padding-bottom: 2px; transition: color .25s, border-color .25s;">Positioning is a subtraction problem <span aria-hidden="true">→</span></a>
  </p>]]></content:encoded>
    </item>
    <item>
      <title>Positioning is a subtraction problem</title>
      <link>https://eddieespriella.com/writing/positioning-subtraction.html</link>
      <guid isPermaLink="true">https://eddieespriella.com/writing/positioning-subtraction.html</guid>
      <pubDate>Wed, 11 Feb 2026 09:00:00 +0000</pubDate>
      <author>contact@eddieespriella.com (Eduardo de la Espriella)</author>
      <category>Opinion</category>
      <description>On positioning by subtraction: the exercise that strips adjectives until only the ones that are really yours remain.</description>
      <content:encoded><![CDATA[<div class="eyebrow">
    <span>11 · 02 · 2026</span>
    <span class="dot">·</span>
    <span>Strategy</span>
  </div>

  <div class="article-mark" aria-hidden="true">
    <svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
      <line x1="4" y1="10" x2="28" y2="10" stroke="#053c5e" stroke-width="1" opacity=".35"/>
      <line x1="4" y1="16" x2="28" y2="16" stroke="#ff8700" stroke-width="2.5"/>
      <line x1="4" y1="22" x2="28" y2="22" stroke="#053c5e" stroke-width="1" opacity=".35"/>
    </svg>
  </div>

  <h1 class="title">Positioning is a subtraction problem</h1>
  <p class="deck">What you are really working out is everything you are not.</p>

  <div class="byline">
    <img src="https://eddieespriella.com/personal/eddie.jpg" alt="" class="byline-photo" loading="lazy" onerror="this.style.display='none'">
    <span class="byline-text">Written by <strong>Eduardo de la Espriella</strong></span>
  </div>

  <p>Most positioning sessions I have sat through start by adding. Here is a whiteboard. What are we? <em>Smart. Fast. AI powered. Enterprise grade. Trusted. Global. Innovative.</em> By the time the markers run out the board says nothing, because it says everything. Someone takes a photo and the photo is never opened again.</p>

  <p>Positioning is the opposite move. It is what you cross off the list.</p>

  <p>The exercise I keep coming back to is simple, slow, and gives you ugly output. Write down every adjective you would honestly use about your product. Write it long. Do not edit. Then write down the three closest competitors. Not your fantasy competitors. Not Excel. The three companies that actually show up on a buyer's shortlist with you. Now, for each adjective on your list, ask a single question: would any of those three claim this word, too? If yes, cross it out.</p>

  <div class="pull">The remaining words are often ugly. That is usually the tell.</div>

  <p>What is left is your real position. Usually it is one or two words. Often the team is disappointed. "We are not going to put <em>that</em> on a billboard." Good. If the remaining word makes the team a little sad, it is probably the true one.</p>

  <p>The exercise works because it forces the distinction to come from the market, not from the room. You can tell yourself you are "innovative" all day. So can everyone else. Subtraction takes out the words that are really about how the team wants to feel, and leaves the ones that are about how the product actually behaves.</p>

  <p>The hardest part, in practice, is naming the competitors honestly. Teams like to pretend they compete with no one ("we are a category of one") or with everyone ("we compete with spreadsheets"). Neither is true. There are three to five companies a buyer is looking at next to you. Those are the ones on the whiteboard, with their adjective columns next to yours.</p>

  <p>A worked example. A law firm I helped at Story Jar had eighteen different service lines: corporate, tax, IP, family, immigration, real estate, every flavor. Every page on their site opened with the same three words: <em>trusted, experienced, responsive.</em> So did every law firm's site on the first page of Google. Literally the same three adjectives. We did the subtraction. Everything the nearby firms could also say, we crossed out. What we were left with was not glamorous. It was the one thing none of the other firms were doing: they had published, on a fixed fee, a small menu of packaged legal products. Five figures. Here is what you get. Here is when.</p>

  <p>Ugly. Not what a managing partner wants to say out loud. But the only thing, in that market, that was actually theirs. The homepage was rebuilt around those four packaged products. The rest of the service lines went to sub-pages. Six months later their inbound was up, and for the first time the conversations coming in were from people who already knew what they wanted to buy.</p>

  <p>A second one, different industry. A heritage retailer I helped at Fausto Salazar had an adjective column stuffed with words the whole category used: <em>trusted, family owned, local, curated, friendly.</em> Every nearby competitor could say the same. What only they could say was that they had sold the same household categories, continuously, since before most of their customers' grandparents were born. Awkward to put on a billboard. But a real boundary, and a useful one for the way the site, the email program, and the physical store started to speak.</p>

  <p>The same logic applies in deep tech. I ran this exercise with the marketing team at Outsight against our closest competitors, and the word that survived was unglamorous, technical, and only ours. Same shape of finding, different vertical. Subtraction is industry agnostic.</p>

  <p>A few follow on notes.</p>

  <p>Subtraction does not tell you <em>how</em> to talk about the remaining word. It tells you <em>what</em> is yours. Turning a technical sounding remainder into a sentence a buyer will actually nod at is a separate job. It usually goes better when someone who was not in the room the whole time helps you write it.</p>

  <p>Subtraction also does not tell you the remaining word is valuable. It only tells you it is yours. Sometimes you finish and the one word left is something the market does not care about. That is an even more useful finding. It means you are not different where you thought you were, and the next step is product, not marketing.</p>

  <p>Positioning by subtraction is slower than positioning by brainstorm. It gives you smaller, uglier outputs. But those outputs survive contact with the buyer, because they have already survived contact with the competition. And that is the only test that counts.</p>

  <p class="defined-in" style="margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--rule); font-family: 'Geist Mono', monospace; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted);">
    Related note:
    <a href="https://eddieespriella.com/writing/b2b-technical-positioning.html" style="color: var(--ink-deep); border-bottom: 1px solid var(--rule-2); padding-bottom: 2px; transition: color .25s, border-color .25s;">B2B technical positioning <span aria-hidden="true">→</span></a>
  </p>]]></content:encoded>
    </item>
  </channel>
</rss>
