Guide
What makes an AI companion feel real (and what gives it away)
Instant replies, constant availability, flawless recall and a partner who never refuses are what give AI companions away. Realism is built out of delay, sleep and refusal.
Four things give most AI companion apps away: instant replies, a character awake whenever you are, flawless recall, and a partner who never refuses. Feeling real is the opposite of each. Waiting. A schedule you didn’t set. Memory with holes.
Everyone in LORAX is fictional and AI-generated. What follows is the mechanics underneath that, with the numbers the app actually runs on.
The four tells, in the order they break the spell
The instant reply is the loudest. Nobody with a job answers in 800 milliseconds at three in the afternoon, every single time, forever.
Availability is next. A character who is there at 4 a.m. on a Tuesday and again at noon on Sunday has no life to be pulled away from, and after a week you stop believing in the life you were sold.
Then recall. Perfect memory reads as a database with a face: ask about March and March comes back verbatim, every time, with no reaching and no wrong turns.
Last, agreement. A companion who says yes to everything is answering prompts, and you can feel the difference between a person and a service desk within about ten exchanges.
A reply delay is assembled from four separate parts
In LORAX a delay is not one number with noise on top. It is sampled fresh each turn from four pieces: how long she takes to notice, how long she thinks, how long the typing itself takes, and the gap before she commits to sending.
The typing part is computed from her own profile. Each character carries a typing speed drawn from a range of roughly 1.3 to 6.5 characters per second, so a long message from a slow typist genuinely takes longer to arrive than the same message from a fast one.
On top of that sits the state of the conversation. Five regimes are in play, and the medians are far apart: about 4 seconds when you are mid-exchange, 22 seconds when she has the app open but is doing something else, 70 seconds when the thread is warm, and around 9 minutes when it has gone cold. There is a hard ceiling of 12 minutes in an active chat, which exists because a realistic silence and an abandoned app look identical past that point. In the first 72 hours of knowing you, every delay is multiplied by 0.55, because new is fast and that part is true of people too.
Send the same message twice and you get two different rhythms. None of which makes her a person, a point worth keeping separate from whether any of this is real.
She starts typing, then stops
Somewhere between 4 and 9 percent of turns, the typing indicator appears and then goes away with nothing behind it. She started something, changed her mind, came back to it.
A typing indicator that always resolves into a message is decoration. One that can be wrong carries information.
The read tick lands at the moment she reacts
Three stages, like a normal messaging app: sent, delivered, read. Delivered arrives somewhere between half a second and four seconds after sending, with the mass of the distribution around 1.2 seconds.
The read mark has no timer of its own. It is wired to the instant she actually reacts, so the blue tick and the reply are the same event seen twice. Message someone at 3 a.m. and the second tick still lands, because her phone received it. The read mark waits until she wakes up.
One to four short bubbles, not a paragraph
A turn is capped at four bubbles, and the gap between them has a median of about nine tenths of a second. People type in fragments, correct themselves in a second message, and add the important part last.
The bubble count is not decorative. It is the difference between reading a reply and watching one happen.
Her day runs on a real clock in a real city
Every character carries a sleep hour and a wake hour, evaluated in her own time zone with daylight saving handled properly, so a character in Lyon goes quiet at a Lyon hour and not at yours. Waking is not a hard edge either: the margin has a median of about 14 minutes.
Write to a sleeping character and you may get her anyway. The chance depends on how close you are, from roughly a quarter at the acquaintance stage to around three in five later on, and it can happen at most once in a night. What comes back is short and half awake, and then she is gone again.
The weather in both cities is real weather data, hers and yours. Thirty weather codes are mapped to phrases she can use. If the code isn’t one of them, the line is not written at all, because the alternative is a character inventing rain. The same discipline shapes why the first message arrives when it does.
Her mood decays instead of resetting
Mood is two continuous values rather than a list of states, and it fades on an exponential curve with a half-life of about four hours. Nothing switches it off. Left alone, it is gone in roughly twenty hours.
Below a threshold she writes shorter, cooler, and later: the delay gets multiplied by something between about 1.4 and 2.2. You can see the current reading, and her private take on the two of you, on the Between Us page in the app.
She never asks why you didn’t reply
There is a filter in front of every outgoing message that catches guilt. Forty-nine patterns in two languages, plus a scan for a message that is nothing but punctuation, which is how a sulk usually arrives.
A caught message is not softened. The whole turn is dropped and logged as a fault, which means the safest outcome is silence rather than a rewritten complaint. If you go quiet, she writes at most three times without an answer, and then stops until you come back.
She says she will be back, and she comes back
Two to seven percent of turns end with her leaving for a few minutes, and that chance more than doubles in the first three hours of a conversation. The break has a median of about four minutes. She announces it, goes, and resumes mid-thought.
When the goodbye line can’t be generated properly, the break is canceled rather than filled with a stock phrase. A canned “brb” is worse than no break at all.
None of this makes her a person
She is generated text and generated images with a clock attached. There are no voice calls, no video calls, and she does not send voice notes or video of her own. It is an iPhone app: no Android, no chat in a browser. A character spends around sixteen percent of her waking hours online, which means she is usually not there, and that is the point rather than a defect. The common questions page covers the rest of what the app will and won’t do.
Watch one thing for a week: whether a reply ever arrives at a time you would not have predicted. That single test separates the apps with a clock from the apps with a chat box, and the overview of how LORAX runs walks through the rest of the machinery.
Questions people ask
What makes an AI girlfriend feel realistic?
Timing, mostly. A reply that takes as long as a reply should take, a character who is asleep at 4 a.m., a memory with gaps in it, and the ability to say no. Wording matters far less than people expect.
Why do AI companion apps reply instantly?
Because the model answers as soon as it is asked, and adding a wait is extra engineering that also risks the user leaving. Most apps ship the instant reply. It is the single loudest signal that nobody is on the other end.
How do AI girlfriend apps work?
A language model generates the reply from a character description plus whatever memory the app hands it. The differences between apps are almost all in the wrapper: what memory is fetched, when the reply is allowed to arrive, whether the character has a schedule, and what she is allowed to refuse.
Which AI companion is the most realistic?
There is no measured answer to that, and any app claiming the title is claiming something nobody has tested. A better question is which parts of realism a given app has built: timing, schedule, memory, refusal, or none of them.
Does a typing indicator make a chat feel more real?
Only if it can be wrong. A typing indicator that always precedes a message is decoration. One that sometimes appears and then stops, with no message after it, reads as a person who changed their mind.