97 lines
3.0 KiB
Markdown
97 lines
3.0 KiB
Markdown
---
|
|
title: AI Psychologist App (Nolvu)
|
|
created: '2026-05-25'
|
|
updated: '2026-05-25'
|
|
type: entity
|
|
namespace: personal
|
|
tags: [project, psychology, reflect-app, ios, startup]
|
|
sources:
|
|
- personal/projects/psychologist-app/session-design.md
|
|
- personal/projects/psychologist-app/analytics.md
|
|
- personal/projects/psychologist-app/onboarding-archetypes.md
|
|
confidence: medium
|
|
related:
|
|
- "[[personal-os-architecture]]"
|
|
- "[[concepts/executor-orchestrator]]"
|
|
---
|
|
|
|
# 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):
|
|
|
|
```json
|
|
{
|
|
"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
|