I Built a Digital Twin. The Breakthrough Was Making It Worse.
The first version was flawless. That was the problem.
Our team had something most companies dream about: years of global customer survey data, synthesized into six representative personas -- not rough sketches, but detailed profiles built from thousands of data points.
The opportunity was clear. If we could bring these personas to life as AI -- make them conversational, responsive, testable -- we’d have something unprecedented: the ability to sit across from our customer and ask them anything. Test a positioning before the campaign. Pressure-test a strategy before the investment. Simulate reactions before millions were committed.
We built it. Version one nailed every question. On-brand, on-topic, thoroughly grounded in the research.
When the team tested the personas, the reaction was immediate: “It’s good, but something is off.”
They were right. Everything the personas said was accurate. None of it was real.
What If You Could Talk to the Research?
We had deep, well-synthesized customer intelligence. Six personas built from real data. The problem wasn’t the quality of the research -- it was the format. Static documents don’t let you ask follow-up questions. Slide decks don’t push back on your assumptions. Persona PDFs don’t tell you when your idea doesn’t land.
What if you could talk to the research instead?
That was the real promise. Not just understanding your customer, but simulating them. Testing with them. De-risking decisions alongside them -- in real time, before the stakes were real. Months of planning. Millions in budget. And the customer’s actual reaction remains a guess until the money is spent -- unless you can simulate first.
But only if the persona feels real enough to trust. And version one didn’t. The responses were accurate. They just weren’t believable.
Version 1: The Personality Lens
Our first architecture used two layers, roughly parallel to the Atkinson-Shiffrin model (https://en.wikipedia.org/) of human memory -- though we arrived at it through practice, not theory.
First, we built a personality for each persona from the survey data: identity, life stage, time reality (how much of it she has and how it shapes her priorities), emotional baseline, primary tension, self-narrative, voice and tone, decision logic, and explicit behavioral guardrails -- the things she would never do and the things she always does. This wasn’t a demographic sketch. It was a full cognitive profile: who this person is.
Second, we created what I call context vectors -- three interpretive filters that shape how each persona processes any input:
1. Emotional context. How she feels internally -- the emotional state coloring every reaction. A customer anxious about a major purchase processes a sales pitch differently than one excited about an upgrade.
2. Physical context. What’s happening around her -- the environment and bodily reality framing her attention. A busy parent scrolling on a phone at school pickup interprets a product offer differently than someone browsing at home on a Saturday morning.
3. External influencers. Who or what is driving pressure -- the people, institutions, or circumstances shaping her decisions. A customer whose partner is skeptical of the category brings that tension into every interaction, even when it’s never stated.
Personality defines who each persona is. Context vectors create the lens through which she interprets. Together, they form what I think of as the personality lens -- the system prompt sitting between the AI and every conversation, filtering everything through a specific human reality.
And it worked. Sort of.
Ask Persona 3 about a pricing change and you’d get a thoughtful reaction grounded in value sensitivity. Ask Persona 5 the same question and you’d get a different angle -- focused on trust and brand promise. The personalities were distinct. The context vectors made their interpretations feel different.
But ask either of them something that should trip them up -- a question touching a real tension in how customers think about the category -- and you’d get the same smooth confidence. No friction. No uncertainty. No sign the question was harder than any other.
Real customers don’t work that way. They light up on topics that touch their experience. They hesitate on questions that surface unresolved tensions. They reference that time when -- specific moments that shaped how they see things now.
In cognitive science terms, our personas had semantic memory (https://www.annualreviews.org) -- general knowledge about what each customer type thinks -- but no episodic memory. Tulving drew this distinction in 1972 and later formalized it as a theory of mental time travel (https://www.annualreviews.org: episodic memory is the stuff of lived experience, the specific situations and moments that make a perspective feel inhabited rather than constructed. A persona with only semantic memory knows about the customer. One with episodic memory has been the customer.
Version 1 had personality and interpretation. It didn’t have experience.
Version 2: The Memory Breakthrough
For version 2, we gave each persona a long-term memory.
The insight was straightforward, even if the engineering wasn’t: the original survey data wasn’t just information. It was experience. Customer verbatims captured not just what people thought, but how they reasoned through reactions in real time. Open-ended responses showed how they weighed competing feelings, which analogies they reached for, what they considered and dismissed.
We took all of it and built a vector store for each persona -- a searchable archive of question-and-answer pairs identified as source material for that specific persona. Every piece of customer expression was embedded and indexed, not as raw data, but as retrievable experience. Years of research that had been sitting in decks and spreadsheets, suddenly alive and searchable. When someone asked a persona a question, it didn’t just consult its personality lens. It searched its memories.
Now the system had three layers. Short-term memory: the context window of the active conversation. The personality lens: the system prompt containing both the persona’s identity and its context vectors. And long-term memory: the vector store of real customer expressions, grounded in specific situations.
It turns out this tracks with what you’d expect from the research. The Stanford team behind the 2023 generative agents paper (https://arxiv.org/) found that believable AI personas need three retrieval dimensions: recency, importance, and relevance. Remove any one and believability collapses. Their agents didn’t just respond -- they remembered, reflected, and evolved. We’d landed on a similar structural logic. The personality lens sets the character. Memory makes it real.
The results were immediately different.
Responses started pulling in specific situations from the research. A persona would reference a particular experience or recall a particular challenge, explaining its reaction with the kind of situated detail that only comes from lived context. It didn’t just know what the customer thinks. It knew why they think it, traced back to real moments. The difference was immediately obvious in testing -- the same question that used to produce a smooth, confident paragraph now produced a response that felt like someone thinking through their own experience.
Then something unexpected happened.
During a test session, one of the personas produced a response that included a pause. A hedge. A moment of visible processing where it circled an idea before landing on it, qualified before committing, thought out loud in a way that felt less like output and more like... thinking.
The team’s first instinct was to flag it as a bug. A disfluency. An imperfection in an otherwise coherent response.
Their second reaction, a beat later: “Wait. That’s exactly what a customer would do.”
Why “Um” Changes Everything
Here’s what most people get wrong about AI-generated content: they assume polish is the goal. That the best output is the most fluent, most structured, most grammatically pristine version possible.
The research says otherwise.
Clark and Fox Tree published a landmark study in Cognition (https://www.sciencedirect.com) showing that “uh” and “um” aren’t errors. They’re words -- interjections with specific communicative functions. “Uh” signals a short expected delay. “Um” signals a longer one. They tell the listener: I’m thinking. I haven’t rehearsed this. This is genuine.
Follow-on research confirmed the pattern. Listeners perceive speakers who include natural disfluencies as more genuine and thoughtful (https://www.sciencedirect.com) than those delivering perfect fluency. And Sandy Pentland’s work at MIT on ”honest signals” (https://mitpress.mit.edu) showed that unconscious communication patterns -- including speech tempo and pauses -- predict trust better than the content of what’s said.
Now consider AI text. Research published in PNAS (https://www.pnas.org) found that people use a telling heuristic: text that is “too polished” or “too generic” gets flagged as AI-generated. Human writing that happens to be well-structured is more likely to be mistakenly labeled artificial. We’ve internalized an expectation that authentic communication is imperfect. Polish has become a signal of inauthenticity.
This is the uncanny valley of text. Not wrong enough to reject. Too right to trust.
Think about it practically: you’re testing a new product concept with one of your AI personas. One gives you a perfectly structured response -- clear objections, balanced analysis, neat conclusion. The other starts with “So this is tricky, because on one hand...” and works through a messier but more revealing reaction. Which one do you trust? Which one actually helps you de-risk the decision?
Psychologist Elliot Aronson captured the mechanism in 1966 with the pratfall effect (https://link.springer.com): a highly competent person becomes more likable after a minor blunder. Imperfection humanizes. But the effect only works when competence is already established -- a blunder by someone perceived as incompetent just confirms the impression.
That’s exactly what happened with our personas. Version 2 had established competence -- deep, well-grounded responses drawn from real customer data. The occasional disfluency didn’t undermine it. It completed it. The system had absorbed enough of real customer cognitive patterns -- the tendency to think out loud, to qualify before committing, to circle an idea before landing on it -- that the imperfection wasn’t random. It was characteristic.
We didn’t need perfect personas. We needed faithful ones.
What the Work Taught Me
Two breakthroughs came out of this project, and they work as a pair.
The first is the filter. Giving a persona the right information is table stakes. The breakthrough is building the right filter -- the combination of personality and context vectors that turns raw information into a characteristic reaction. Two customers walk into the same product launch. One is energized by novelty; the other is suspicious of hype. Same pitch. Opposite decisions. The difference isn’t knowledge -- it’s the filter between input and response. Get the filter wrong and your simulation gives you consensus where the real market gives you conflict.
The second is human texture. The filter alone gave us differentiated responses, but they still felt constructed. It was the long-term memory -- the vector store of real customer expressions grounded in specific moments -- that introduced the texture of lived experience. The hesitations. The specificity. The “um.” You can architect the filter perfectly, but without experiential memory feeding through it, the output stays clean in a way that real humans never are.
If your AI persona can’t demonstrate both -- a specific interpretive filter and the situated texture of lived experience -- it’s not a twin. It’s a chatbot wearing a name tag.
Try it yourself. Pick a customer segment you know well and grab a blank page.
First, write three things about who they are -- their identity, their values, their decision logic. What would they never do? What do they always do? This is the personality layer.
Then write three things about how they’re interpreting right now -- their emotional state, their physical context, the external pressures shaping their decisions. This is your context vectors layer.
Now look at the two lists side by side. You’ve just built the skeleton of a personality lens. The next step is grounding it -- find the real customer language, the specific situations, the actual reasoning from your research data. That’s what turns a character into a twin.
The Paradox
We started this project trying to make the personas better. More polished. More complete. More authoritative.
The breakthrough came when we stopped.
Building AI customer personas taught me something I now apply to everything I build: fidelity beats perfection. The goal isn’t the best possible response. It’s the most faithful one -- faithful to how a real customer actually thinks, hesitates, reasons, and reacts.
The de-risking promise is real. You can simulate before you commit. Test before you spend. Get closer to your customer’s actual reaction before the budget is locked and the campaign is live. But only if you resist the instinct to make those simulations flawless. The moment you polish away the hesitation, the specificity, the messiness of real cognition, you lose the thing that made the simulation worth trusting.
Perfection is easy. Humanity is hard. It takes memory that grounds the persona in lived experience, interpretive filters that shape how it processes the world, and enough fidelity to real cognition that the output feels earned rather than generated.
The humanity in the machine wasn’t something we added. It was something we stopped removing.
Originally published on Medium, 05 February 2026.
Bring me the problem that isn't structured yet.
Message me on LinkedIn →