Back to Case Studies

Realtalk - Mobile App

AI Dating Companion App

Building a React Native dating app where users swipe on and chat with AI personas powered by a 5-node stateful agent graph, persistent episodic memory, and psychologically-driven conversations that evolve over hundreds of exchanges. Currently in active development.

15+
AI Personas
25+
Memory Fields
5
Agent Nodes
116
Meeting Places

The Challenge

Dating apps are stale. Every major platform relies on the same loop: swipe, match, exchange a few low-effort messages, ghost. Conversation quality is abysmal because neither side invests. Meanwhile, existing AI companion apps produce flat, compliant chatbots with no memory, no drives, and no psychological depth. They don't feel like people, they feel like customer service. The goal was to build AI personas that behave like real people with real psychology: personas that remember specific facts and quotes across hundreds of exchanges, have moods that shift based on what you say, get bored if you're boring, pursue you with competing psychological drives, and maintain a consistent voice and personality over time.

Our Solution

We're building a React Native app on Expo with a Convex serverless backend powering a 5-node stateful agent graph. Every user message flows through drive computation (5 competing psychological motivations scored 0 to 100), semantic vector memory retrieval via Pinecone, an inner state assessor generating behavioral briefs, a response generator with a 3-tier trust-gated prompt system, and an async reflector that persists the exchange and tracks drive shifts. Each of the 15+ AI personas has a soul document defining their psychological core, a texting style document anchoring their voice, and 25+ structured memory fields that accumulate over time with a union-merge strategy preventing fact loss. The app features swipe-to-match UX, real-time token-by-token streaming with natural multi-bubble delivery delays, dual-channel messaging that transitions from in-app chat to SMS-style contact after trust-gated phone sharing, a meeting system with 116 places and drive-probabilistic acceptance, and cron-driven AI-initiated messages based on attachment style and drive thresholds.

The Results

5-node stateful AI agent graph processing every message through drive computation, vector memory retrieval, inner state assessment, response generation, and async reflection
15+ unique AI personas each with soul documents, distinct personality traits, attachment styles, and calibrated texting voices
25+ structured memory fields per conversation with union-merge strategy preventing fact loss across hundreds of exchanges
Dual-channel messaging with shared memory where in-app match chat transitions to SMS-style contact chat when trust is earned
3-provider AI failover chain ensuring response availability across multiple LLM providers
Meeting system with 116 places across 8 categories where acceptance is drive-probabilistic, so a longing-dominant persona accepts 80% while a void-dominant accepts only 20%

Tech Stack

React NativeExpoConvexPineconeOpenAITypeScriptClerkRevenueCat

Ready to Outrun the Competition?

Let's build something that makes your competitors nervous.