KivoriKivori
Under the hood

How Kivori thinks.

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.

The memory engine

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.

Step 1

User message

Conversation arrives

Step 2

Embedding

1024-dim vector via Google Gemini

Step 3

Vector store

MongoDB Atlas Vector Search

Step 4

MMR retrieval

Diverse + mood-aware recall

Step 5

Consolidation

Automated nightly memory consolidation / dream state

Step 6

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.

The relationship model

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.

ParameterAt level 1At level 50+
Disclosure depthGuardedVulnerable
PlayfulnessReservedSpontaneous
Pushback thresholdAlways agreeableHonest friction
PossessivenessAbsentWarm attachment
Vulnerability rangeStableRaw

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.

Infrastructure

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.

Next.js 16
Full-stack framework
Vercel
Hosting + edge functions
MongoDB Atlas
Database + Vector Search
AWS Bedrock
Multi-model AI gateway
Google Gemini
1024-dim embeddings
OpenRouter
BYOK model passthrough
cron-job.org
Scheduled crons (4+ jobs)
Background cron schedule
/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+

Privacy + ownership

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.

What we're still working on

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

Want to partner with us?

Cloud partnerships, AWS credits, press, and investor conversations welcome.