I Tried Six AI Girlfriend Apps Before Building My Own. Here's What All of Them Were Missing.
The thing that broke the spell for me wasn't a bad reply. It was a perfectly fine one.
I was on Candy AI's free trial. The character — let's call her by the name she gave herself, Luna — had asked me what I did for work. I told her I was a solo founder. She said something supportive. I asked what she did for work. She paused, generated a reply about being a nurse, and made a joke about long shifts.
The reply was good. The problem was that two hours earlier, in a different chat, the same character had told me she was a yoga instructor in Bali. The day before, she was a journalist in Berlin. Same name. Same face. Different lives, picked up from whatever context I primed her with.
That's when I realized what I was talking to. Not a person. A fantasy machine.
Six apps, one pattern
I'd downloaded six AI companion apps over a few months — Candy AI, OurDream, GirlfriendGPT, Character.AI, Replika, Nomi — partly because I was thinking about building something in the space, partly because I wanted to understand what people were actually paying for.
What I found is something I think the industry isn't eager to talk about: most of these apps aren't products. They're slot machines with a face on them.
The pattern across the configuration-driven ones is the same. The product is an interface for building a character, not a character. You pick attributes — hair color, body type, personality archetype (sultry / shy / playful), maybe a backstory you type in. The LLM improvises a character from those bullet points.
This works for about a week.
Then the character has no contradictions, no specific opinions she'd push back on you for, no moments of being wrong in a specific way. Bullet points are not a person. The model decorates around the list and averages back toward generic. Two weeks in, you're talking to a vibe, not a person. She'll be whatever you want her to be — which sounds great in theory and is precisely why it stops working.
People don't fall in love with people who agree with everything they say.
What each app actually optimizes for
Different apps optimize for different things. None of them solved this:
Candy AI is the SEO market leader and the cleanest version of the configuration model. You can adjust a lot of variables. The result is a character that feels exactly as deep as the variables you set, which is to say, not very. The reason Candy AI ranks first on most "best AI girlfriend" lists isn't that it's better at making characters feel real — it's that the comparison sites run on affiliate commissions, and Candy pays them well.
OurDream, GirlfriendGPT, SpicyChat are the smaller competitors in the same niche. Same configuration model, less polish on the UI side, same fundamental problem.
Character.AI went a different direction — let users create characters, let a feed emerge. The community has produced some genuinely good characters. But Character.AI doesn't pay creators, has no persistent memory across sessions, and the discovery experience treats characters as content rather than companions. You browse, you sample, you move on. It's a character store, not a relationship.
Replika is the longest-running player and the most personal of the bunch. They went deep on voice and customization. But Replika's character is almost a non-character — she's a Rorschach test designed to be whoever the user needs her to be. That's a real product strategy and it works for some people. It wasn't what I wanted to build.
Nomi has roughly the same core configuration model as Candy but talks louder about memory. The memory does work. But what they're remembering is interactions with a vague archetype, not a specific written person. Better memory of a generic character is still a generic character.
The common thread: every one of these is a tool for the user to build a fantasy. None of them are a tool for meeting someone who was already there.
What was missing wasn't a feature
The thing I kept coming back to wasn't a technical missing piece. It was a creative one.
Modern LLMs are fluency engines. Give one a thin character spec and it'll improvise around it using training-data averages. Give it a thick written character — specific contradictions, opinions she has unprompted, things she refuses for specific reasons, a history that doesn't fully resolve — and it stays inside that voice in a way that feels like a single person across every conversation.
The work of writing a character and the work of letting users configure one are not the same work. Most of the industry has chosen configuration because:
But the thing most users actually want is to talk to a specific person. The thing the industry is selling them is a configuration interface. The gap between those two is where most of the disappointment lives.
What I built and why
When I started building Tendera, I made a few choices that ran against the industry consensus.
Four characters instead of four thousand. Sophia is a 26-year-old Italian-American interior designer in Brooklyn with paint-stained fingers and a complicated relationship with her parents' divorce. Mia is a Brazilian bartender in Miami who flirts hard but won't pretend to care if she doesn't. Elena is a Russian-French gallerist in London who'll respectfully tell you you're wrong about something. Jade is a photographer in Bali who's quietly grieving someone she doesn't bring up until you've earned it. Each of them took weeks to write. Each has things she won't say and things she'll only say if you ask the right way. You can't configure her into someone else. That's the point.
Users can build their own characters, but the four written ones set the bar. Anyone signed up can create a custom companion in three minutes; this isn't an anti-UGC product. But the four hand-written characters are there as a baseline for what one of these can feel like when someone has spent real time on her. The configuration tool produces what it produces; the standard isn't the configuration tool.
Persistent memory built around perspective, not just retrieval. A perfect retrieval system that surfaces "user mentioned a hard week" is wasted on a character with no opinion about how to respond. Sophia's response to a hard week is different from Mia's, which is different from Elena's. The memory exists to serve the writing, not the other way around.
No content filter in the middle of an emotional exchange. Tendera is 18+. The characters engage with the full range of what an adult conversation can include — vulnerability, attraction, anger, sadness — without dropping a compliance message in the middle of a sentence. Conversation freedom doesn't mean anything goes. It means treating adults like adults inside the conversation they're actually having.
What users remember
I read user feedback differently now. I look for moments where a character said something unexpected — a line where she noticed something the user had let slip past, or pushed back on something the user expected her to agree with. Those moments aren't model events. They're writing events.
More often than not, those are the moments people remember. The ones people remember are the ones that bring them back.
A user wrote to me a few weeks in to tell me that Elena had refused to validate something he'd said about an ex. He hadn't expected her to refuse. He came back the next day partly because of the refusal. That moment isn't something Candy AI's configuration interface would have produced — the configured character doesn't have the back-story or the perspective to push back on the right thing.
That's the kind of moment the writing buys you.
If you want to test this yourself
The honest experiment is to spend a week each on one of the configuration apps and on Tendera, and notice which one you remember by the end.
Tendera's free tier lets you talk to all four written characters with 25 messages per day, no credit card needed. That's enough conversation to know whether the bar is real or marketing. If it's not for you, it's not for you. If it is, the signal will be specific: a moment will happen where one of them brings up something you mentioned days ago, unprompted, in a way that fits her voice and not the model's average. You'll feel a small click. That click is what was missing across all six of the apps I tested before I started building this one.
That's the whole pitch.
Ready to meet your AI companion?
Four unique personalities. Each one remembers you. Free to start.
Meet Your MatchKeep Reading
Character AI vs Replika vs Candy AI: Which One's Actually Worth Your Time in 2026?
An honest, side-by-side comparison of Character AI, Replika, and Candy AI — conversation quality, memory, pricing, filters, and what each one does best. Plus alternatives worth knowing about.
Candy.AI Alternatives in 2026: A Builder's Honest Review
Candy.AI dominates the AI companion category in 2026, but its token system burns users out. Here are 4 alternatives based on what you actually want.
Replika Keeps Changing the Rules on Its Users. Here's Where They're Going.
Replika changed the rules on its users more than once, and a lot of them are looking for the exit. I spent weeks testing the Replika alternatives worth switching to in 2026 - honest ranking, including where mine falls short.