3.0 KiB
title, created, updated, type, namespace, tags, sources, confidence, related
| title | created | updated | type | namespace | tags | sources | confidence | related | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AI Psychologist App (Nolvu) | 2026-05-25 | 2026-05-25 | entity | personal |
|
|
medium |
|
AI Psychologist App (Nolvu)
Mobile app providing AI-powered therapy sessions. Also referred to as "reflect app" or "nolvu" in vault. Status: active development (May 2026).
Architecture — Dual-Agent Session Design
Two-bot system handling a single user session:
Bot 1: Analyst ("Психолог")
→ analyzes user in 3rd person ("user avoids...")
→ generates 1-2 questions per batch
↓
Bot 2: Narrator ("Посредник" / Mediator)
→ translates to 1st person ("you avoid?")
→ produces structured question JSON for UI
↓
UI (deterministic algorithm)
→ serves questions one at a time
→ collects answers → passes numbered summary back to Analyst
Key principle: question delivery is a deterministic algorithm, not an LLM call. Agent generates a batch once; UI manages sequencing.
Session Flow
OPEN: character animation → intro (1-2 sentences + max 2 history hooks)
→ topic selection
DIALOGUE: Analyst generates questions (3rd person)
→ Narrator translates (1st person JSON)
→ UI queues → user answers → numbered summary → next batch
INSIGHT: Analyst crystallizes observation → Narrator reformulates for user
CLOSE: [backend] Analyst writes session summary + updates profile.md
Narrator: warm closing phrase + next session date
"One last thing" (optional open input) → close or reschedule flow
State Persistence
Session state saved at every step (not only on close):
{
"session_id": "2026-05-19",
"phase": "dialogue",
"current_question_idx": 2,
"answered": [...],
"last_activity_ts": 1747612800
}
Abandoned sessions (last_activity_ts > 20h, not closed): backend cron forces partial close → Analyst writes partial summary → profile.md updated.
Analytics — Privacy-First (GDPR)
- No Google Analytics. PostHog (self-hosted or EU Cloud, free tier).
- Split identity:
user_id≠analytics_session_id— no cross-table join. - Demographics stored as buckets (age: 25-34, country: ISO code) — not PII.
- Never log: message text, questionnaire answers, full IP, timestamp+user_id pair.
Key funnel metric: Session 1 completion rate (target > 50%).
Onboarding
"Resonance questionnaire" — cards with real audience voice phrases (e.g. "Устала быть сильной") that encode 5 variables in 4 words. User picks up to 2. Classification maps to archetype for session personalization.
See Also
- concepts/executor-orchestrator — related multi-agent orchestration pattern
- personal-os-architecture — system context in which this is developed