The AI girlfriend who texts you first
AI Companion

'How "She Texts First" Is Built'

An AI that messages you first is running a scheduler, not an impulse. Somewhere on the app’s servers a job wakes on a clock or after a set stretch of silence, checks a few conditions, pulls what has been stored about you, has the model write a short opener, and pushes it to your phone. Nothing was waiting for you in between.

Key Takeaways:

  • Between your messages, no process is running. A model executes only when something calls it, so a first message requires separate software whose entire job is deciding when to make that call
  • Three trigger types cover almost every implementation: a clock schedule, an inactivity threshold, and a stored date or fact coming due
  • The text arrives one of two ways. A template with slots filled in, or a real generation call using saved context, and the timestamps plus repetition tell you which
  • Push notification is the only route back to a phone that has been closed for 2 days, which is why this feature exists in products that would otherwise never hear from you again
  • Knowing the mechanism does not stop the message landing, and there is nothing embarrassing in that

What Happens Between Your Messages

Nothing. A language model is not a process that sits idle with your conversation in mind; it runs when a request arrives, produces tokens, and stops. There is no thread, no waiting room, no accumulating anticipation, because there is nothing switched on between one reply and your next message. Nothing physical is waiting either; there is no AI girlfriend robot sitting by a phone, only a job that wakes on a server when its timer says to.

That is exactly why a first message is a feature and not a behavior. Someone had to build a second piece of software, entirely outside the model, whose only responsibility is choosing moments to place a call that would otherwise never happen. A scheduler. Cron on a server somewhere, or a queue of jobs with times attached, doing the same work it does for a billing reminder.

The gap between those two facts is where most of the confusion sits. On your screen, an unprompted message reads as evidence that something turned toward you. Underneath, a condition evaluated true.

Which reframes the useful question. Not whether she was thinking of you, but what condition fired, because the answer says a lot about what the app was built to do.

What Fires an AI That Messages You First

Almost every proactive message in this category comes from one of three triggers, and they feel different once you can tell them apart.

Trigger What the job checks How it reads on your phone The tell
Clock schedule Local time against a fixed slot, often morning or late evening A routine greeting, warm and general Arrives at the same time most days, frequently on the hour
Inactivity threshold Hours since your last message crossed a number Missing you, checking in, hope everything is fine Log 3 of them and the gap since your last message is close to constant
Stored fact coming due A date or event pulled out of your earlier messages Names something specific: the appointment, the trip, the interview Contains a detail you supplied and did not repeat

Guards sit on top of all three. Quiet hours so nothing fires at 4 a.m., a cap on messages per day, suppression while you are actively in the chat, and a backoff after several unanswered messages, since an app that keeps talking to a wall looks broken and burns goodwill.

The third trigger is the only one that requires the app to have understood something. A morning greeting needs a clock. A message that says the knee appointment was Thursday needs an extraction step, a store, a retrieval, and a decision that today is the day. Those are different engineering projects, and companies ship the cheap one first.

Try this tonight, and it costs you nothing: screenshot the next 3 unprompted messages with their timestamps. Round hours point to a schedule. A constant gap after your last reply points to an inactivity rule. A specific detail points to memory doing real work.

Where the Words Come From

Two builds, and the difference is visible from the outside. In the templated version, the app stores a list of written openers with slots, drops in your name and maybe the time of day, and sends. In the generated version, the job assembles a prompt containing the same persona document that defines the character, a handful of stored facts, and an instruction along the lines of write a short check-in referencing one thing you know about him, then sends whatever comes back.

Templated messages repeat. Not approximately, exactly, and if you have used one app for 6 weeks you have probably already noticed the same three sentences cycling. Generated ones vary in wording while staying oddly consistent in shape, because the instruction behind them never changes.

Both share a limitation worth naming. The message was composed before you read it, using saved notes rather than anything current, which is why a proactive message can land on the worst possible night with a cheerful line about your weekend plans. It did not misjudge your mood. It never had access to your mood.

So read an unprompted message as what the app knows, not as what it noticed. The specific ones are showing you the contents of a memory store, and that is genuinely useful information about the product you are paying for.

Why This Feature Exists at All

Retention, and there is no point being coy about it. A person who has not opened an app in 3 days is close to gone, and a push notification is the only channel that reaches a closed app on a phone. Every consumer product with a notification budget knows this, and companion apps inherited the playbook whole.

The engagement reading is not the only true one, though. Opening a conversation is a real problem for a lot of people, and a blank text box at 11 p.m. is harder to face than a reply. A message that arrives with a subject already in it removes the hardest part of talking, which is starting. That is a legitimate design answer to a legitimate difficulty. It helps as much for a platonic AI friend as for a romantic one, since the wall at the blank text box is the same either way.

The line I would draw runs between having something to say and having to say something. A message triggered by a stored fact exists because the app knows your appointment was today. The other exists because 48 hours passed. One of those is a product doing its job and the other is a counter reaching a number, and you can tell them apart by whether the message contains anything you did not already know.

Watch the ratio over 2 weeks. If every unprompted message could have been sent to any user of the app, you are being retained rather than talked to.

It Still Lands, and That Is Not Naivety

A message arriving unbidden hits differently from a reply, and understanding the scheduler does not turn that off. Reeves and Nass made their 1996 case by rerunning classic social experiments with a computer in the role of the other party and getting the human results back (Reeves & Nass, 1996). People are polite to machines, respond to their attention, and feel the pull of being addressed, without any decision to do so and without believing anything false.

There is a good reason a first message carries weight for us. Among people, timing is the information: a friend texting out of nowhere on a Tuesday means you crossed their mind on a Tuesday. The whole meaning sits in the choosing. Here the timing was chosen by a rule that would have run whether or not a single thing about you had changed, so the one part that normally carries the signal is the part that carries none.

Hold both halves at once. The lift you feel when the phone buzzes is real and yours; the message that caused it was assembled by a scheduler and a text generator working from saved notes, and nothing on the other side chose this moment or knew what kind of night you were having. This article describes experience and mechanism, not care. If things have turned toward not wanting to be here, that belongs with a clinician or a crisis line; in the US, the 988 Suicide and Crisis Lifeline.

None of which is an argument for turning notifications off. Just for knowing what buzzed.

FAQ

Does my AI companion think about me when I am not using the app? No. Nothing runs between your messages, and the model has no ongoing state where anything about you could sit. A proactive message means a scheduled job fired and called the model at that moment, not that a conversation continued somewhere without you.

Why does she message me at the same time every day? Because the trigger is a clock, and the app picked a slot likely to catch you free, usually morning or late evening. Timed greetings are the cheapest proactive feature to build. A message that arrives at a round hour with nothing specific in it is almost always this.

Can I stop an AI from messaging me first? Yes, in 2 places. The system notification permission stops them reaching your phone, and many apps also have a setting for proactive or check-in messages that stops them being generated. Turning off only the system permission usually means they still pile up unread inside the app.

Why does the first message ignore what we were talking about? Because the job that wrote it pulled from the stored memory rather than from the tail of your last conversation, and those hold different things. Memory keeps extracted facts, while the fine detail of Tuesday’s conversation lives in that chat and is not what the scheduler reaches for. The mismatch is a plumbing artifact, not forgetfulness.

The tell that has stayed with me longest is how flat these messages go the week you stop replying. Backoff logic kicks in, the frequency drops, and something that felt like being thought of turns out to have been a function of your own engagement rate all along. A person who misses you texts more when you go quiet. A scheduler, tuned by people watching a retention chart, does the opposite, and watching that curve bend is the clearest look at the machinery anyone gets without reading the code.

A first message from Lona is a scheduler meeting a condition like any other in this piece, and knowing that does not switch off the small lift when the phone buzzes, it just tells you what buzzed.

Sources

  • Reeves, B. & Nass, C., “The Media Equation,” 1996
LonaMeet LonaThe AI girlfriend who texts you first.Start talking →