[2026-05-19] psychologist-app: анкета онбординга, state persistence, analytics.md, rate limiting, сброс данных

This commit is contained in:
Alexey Martemyanov
2026-05-19 01:33:43 +06:00
parent 87cfb3ae6d
commit 6df08fc334
4 changed files with 256 additions and 1 deletions
@@ -482,3 +482,83 @@ Trial: **14 дней** (конверсия 42.5% vs 25.5% у 3-дневного)
---
*Документ создан автоматически исследовательским агентом. Обновить при запуске A/B тестов.*
## Анкета первой сессии как сбор профиля
### Проблема "слива на сборе данных"
Традиционный онбординг: форма с полями "возраст / пол / что беспокоит" → 60%+ дропают.
Причина: это **ощущается как анкета**, а не как помощь.
**Решение**: первая сессия *и есть* сбор профиля — замаскированный под диалог.
Пользователь отвечает на вопросы персонажа, не заполняет форму.
На выходе — заполненный `profile.md`, а не брошенная анкета.
### Структура первой сессии (= сбор профиля)
**Блок 1 — "Психотип" (анкета)**
Короткий опросник 6-8 вопросов в начале — до диалога с агентом.
Люди *любят* психологические анкеты — не избегать их, использовать.
Вопросы-карточки (быстрый выбор):
- Что тебя сюда привело? (тревога / выгорание / отношения / саморазвитие / просто интересно)
- Как ты обычно справляешься с трудным? (действую / думаю / обсуждаю / откладываю / не знаю)
- Когда ты последний раз по-настоящему отдыхал? (давно / недавно / не помню)
- Есть ли в твоей жизни кто-то, кому ты доверяешь полностью? (да / частично / нет)
**Итог анкеты** — короткая "классификация" от персонажа:
> "Похоже, ты из тех, кто думает больше, чем говорит. Это интересно — и иногда непросто."
Не диагноз. Не флатteri. Наблюдение, которое *узнаёт* себя.
**Блок 2 — Диалог (агент ведёт к нужным данным)**
Агент ведёт беседу так, чтобы органично собрать:
- Основная тема/запрос
- Паттерн поведения
- Желаемое состояние
Это именно то, что нужно в `profile.md` — пользователь не знает что "проходит анкету".
### Privacy messaging при онбординге
**Где показывать**: сразу после анкеты, до первого диалогового экрана.
**Тон**: личный, от лица разработчика — не юридический язык.
Пример экрана:
```
────────────────────────────────
Прежде чем продолжить
Это мой личный проект — не
корпорация, не стартап с
инвесторами. Я не торгую
твоими данными и никому
их не передаю.
Всё что ты пишешь хранится
только у тебя.
○ Что я собираю для аналитики:
анонимные данные — возраст,
страна, как часто открываешь
приложение. Без имён, без
текстов сессий.
Это помогает мне понять,
кому приложение реально
помогает.
[ ] Не отправлять даже это
[Понятно, продолжим →]
────────────────────────────────
```
**Принципы**:
- Галочка "не отправлять ничего" — видимая, не спрятанная
- Pre-unchecked (пустая по умолчанию) если аналитика включена по умолчанию — не по GDPR, там нужен явный opt-in
- Pre-unchecked (пустая) у "не отправлять" — пользователь активно выбирает отключение
- Никакого юридического языка на этом экране — только человеческий