Every AI text has a tell.
It’s not the factual accuracy. It’s not the vocabulary. It’s not even the occasional strange phrase that almost-but-doesn’t-quite land. The tell is a kind of smoothness. A frictionlessness. A sense that every sentence arrived complete and considered, fully formed, without the usual mess of a human mind working through something in real time.
We are, as it turns out, deeply sensitive to this. We read it instantly. And once we feel it, the connection drops. You can’t be present with a process.
This is the problem I kept running into, and for a long time I kept solving the wrong part of it.
I tried everything in the prompt-engineer’s toolkit. “Write like a human.” “Be casual.” “Use imperfect grammar occasionally.” “Don’t use bullet points.” All of it produces the same result: a slightly rough-edged version of the same smoothness. The imperfections are performed. You can tell. The performance is, somehow, worse than the original machine voice — because now it’s pretending, and pretending is a different kind of uncanny.
The issue, I eventually realized, is that I was treating imperfection as something to add — a coating, an aesthetic choice, a trick. But that’s exactly backwards. In real human writing, imperfection is not something people add. It’s a residue of their state. It appears because of what’s happening to them, not because they decided to seem more human.
The question isn’t “how do I make it write with imperfections?” The question is “what is the state that produces this kind of writing?”
This reframing changed everything.
Consider how differently you write depending on where you are. Typing at your desk, in the morning, coffee in hand, thinking clearly — you write one way. Responding to something on your phone during a commute — another. Late at night, a thought that won’t let you sleep — another. In each case, your underlying intelligence is the same. Your values are the same. But the texture of the language is completely different, because the state is different.
And here’s what’s crucial: these states are not random. They’re recognizable. When you read a message from a friend and feel “she’s rushing right now” or “he’s in a thoughtful mood today” — you’re reading state from texture. You’ve been doing this your whole life. You’re very good at it. And it matters to you. It’s part of how you feel the other person is real.
A language model trained on billions of human texts has absorbed all of this too. It knows how people write when they’re rushing. When they’re excited. When they’re tired. When they’re skeptical. The knowledge is there. It just needs to be activated.
So instead of instructions, I built scenarios.
Not “write with occasional typos.” Instead: “The bus leaves in two minutes. You’re typing on your phone, one thumb, trying to get the main thing across before the doors close.”
Not “be casual.” Instead: “It’s late. Past midnight. You’ve been thinking about this for an hour and you finally have the thought. You write it out slowly, because the words matter and you want to get them right.”
Not “use humor.” Instead: “You’ve heard this argument before. Many times. You’re not annoyed exactly, but there’s a dryness in how you respond — the shorthand of someone who knows where this goes.”
These are meta-scenarios. They don’t tell the model what to produce. They tell the model where it is. And from that place, the writing that emerges carries the actual texture of that state — not a performance of it, but the real thing. Because the model already knows what the real thing looks like.
But here’s where it gets interesting as a system design question.
If imperfection signals state, and state reveals character, then the deepest form of personality isn’t the answers a system gives — it’s the consistent pattern of states it moves through. The particular rhythm of when it’s energetic and when it’s quiet. When it pushes back and when it goes along. When it’s irreverent and when it’s serious.
A person who is always equally enthusiastic, always equally clear, always equally helpful — that’s not a personality. That’s a service. The variations, the modulations, the moments of being less than perfectly present — those are what make someone feel real.
This is why in Eprst the style isn’t fixed. There’s a layer that selects the communication style — the angle of thinking — and separately, a layer that selects the writing style — the texture of expression. And these selections shift based on context: time of day, day of week, the nature of recent messages, what kind of conversation is happening.
Two separate dimensions, independently moving, combining differently every time.
The philosophical version of this, the one that surprised me when I got to it: we actually believe that consistency is what makes someone real. That a “true self” is stable, coherent, always the same underneath. But that’s not what we respond to in practice. What makes someone feel real to us is their particular pattern of variation. The specific way they’re more themselves at some moments than others. The exact texture of their Tuesday afternoon compared to their Sunday morning.
Identity isn’t uniformity. Identity is a recognizable signature across variation.
And that, it turns out, is buildable.
Not perfectly. But more than you’d expect.