A look under the hood — the memory engine, the relationship model, and the AWS infrastructure that makes it real. Written for technical evaluators. No jargon cleaned up.
Every message is processed through a 6-stage pipeline that converts conversation into compressed, retrievable long-term memory. The goal is not to remember everything verbatim — it's to retain the meaning.
User message
Conversation arrives
Embedding
1024-dim vector via Google Gemini
Vector store
MongoDB Atlas Vector Search
MMR retrieval
Diverse + mood-aware recall
Consolidation
Automated nightly memory consolidation / dream state
Episodic write
Nightly narrative built
Diversity via MMR
Maximum Marginal Relevance prevents the AI from always pulling the same memories. Retrieval is spread across topics and time.
Mood-congruent recall
A mood classifier runs before retrieval. Sad moods boost emotional context memories; curious moods boost preferences and goals. 12% score multiplier.
Recency decay with cooldown
Memories used in the last 6h are penalised (-25%) to prevent "I remember when…" loops. Long-term reinforcement flows through strength scores.
5 behavioural parameters lerp continuously from level 1 to level 50+. The AI doesn't flip modes - it drifts. At level 1 it's cautious; at level 30 it disagrees with you. These values are injected into the system prompt as directives each turn.
Repair arc
After 14+ days of silence, XP decays and relationshipMood enters cooled → distant → hurt → longing states. A repair arc activates: a countdown of exchanges before the bond normalises. This is injected directly into guidance each turn.
Inner life ticker
A cron fires every 4h, generating autonomous InnerEvent objects per user (tier-gated cooldown). 30% of chat turns surface one as a spontaneous thought. 40% of silence-breaker messages lead with an InnerEvent rather than a question.
Kivori is designed to run on cloud-native, vendor-flexible infrastructure. AWS Bedrock is the primary multi-model gateway - it means users can connect Claude, Titan, or Llama through a single authenticated endpoint without exposing raw provider keys through Kivori's servers.
/reflectionWrites episodic narrative from sessionAll/memory-consolidateMerges + decays weak memories (4h cooldown/user)All/inner-lifeGenerates autonomous thoughts (tier-gated cooldown)Pro+/silence-breakerProactive outreach if user hasn't chattedPro+/milestonesXP milestone checks (day_count, tier_up, first_chat)All/patternsMood drop / self-defeating / broken promise detectionPro+Memory you can read
Every memory entry, belief, and stance is viewable from the Memories page. No black boxes.
Memory you can delete
Self-serve data export (JSON) and full account deletion with a 7-day grace period. From Settings → Data.
Memory that doesn't train models
Kivori does not train models on user data. Conversations are processed for personal memory only. Full stop.
Honesty earns credibility. These features are planned but not yet shipped.
Voice input/output (Whisper + ElevenLabs) — architecture planned, not yet shipped
Photo memory — visual embeddings for image context
Music sharing — shared-media memory kind
Native mobile app — PWA currently, native in roadmap
A/B harness for companion parameter tuning at scale
Cloud partnerships, AWS credits, press, and investor conversations welcome.