Разработка мобильного приложения для коучинга
Коучинг-приложение отличается от менторского акцентом: не передача экспертизы, а работа с целями и внутренними состояниями клиента. Инструменты другие — колесо баланса, дневник прогресса, рефлексивные вопросы, медитации. Сессии структурированнее. Бизнес-модель — чаще подписка или пакет сессий.
Бронирование сессий
Интеграция с Calendly или собственный booking flow. Собственная реализация — time_slots таблица, аналогично менторингу. Разница: коучи часто работают по строгому расписанию (например, только по вторникам 10:00–18:00), и нужен гибкий редактор доступности.
Редактор доступности коуча — шаблон по дням недели + исключения. RecurringSchedule модель: dayOfWeek, startTime, endTime. Исключения (отпуск, праздники) — blocked_dates. При бронировании — вычисляем доступные слоты на ближайшие N недель с учётом занятых и заблокированных.
Часовые зоны — обязательно. Коуч в Москве, клиент в Лондоне. Все слоты хранятся в UTC, конвертируются в локальное время на клиенте. TimeZone.current (iOS) / ZoneId.systemDefault() (Android) для определения зоны устройства. DateComponentsFormatter для человекочитаемого отображения "через 2 часа".
Инструменты коучинга в приложении
Колесо баланса — круговая диаграмма по 8–12 сферам жизни (карьера, здоровье, отношения, финансы и др.). Клиент оценивает каждую сферу по шкале 1–10. Рисуем через Core Graphics / Canvas в Compose: UIBezierPath для секторов на iOS, Path в Compose на Android. Анимация при изменении оценок — withAnimation (SwiftUI) / animateFloatAsState (Compose).
История колёс баланса — показываем изменения за месяц/квартал. Два наложённых колеса (текущее и прошлое) — прозрачность через UIColor.withAlphaComponent().
Дневник прогресса — ежедневные/еженедельные записи клиента. Markdown или rich text через UITextView с кастомным тулбаром для жирного/курсива. Сохраняем локально (Core Data / Room) + синхронизация с сервером. Коуч видит записи только если клиент явно поделился — через toggle в настройках.
Рефлексивные вопросы — коуч создаёт шаблоны вопросов для домашних заданий. Клиент отвечает в приложении. Вопрос + форматированный текстовый ответ + возможность прикрепить голосовую заметку (через AVAudioRecorder).
Трекер привычек — простой чеклист привычек на день. UITableView с UISwitch или Compose Checkbox. Streak — серия дней подряд, мотивирующий элемент. Calendar.current.dateComponents([.day], from:to:) для подсчёта стрика.
Сессии: запись и конспект
Видеосессия — встроенная (100ms, Daily.co) или внешняя ссылка. После сессии — поле для конспекта от коуча (основные инсайты, следующие шаги). Клиент получает уведомление, что конспект добавлен.
Аудиозапись сессии (с согласия клиента) — AVCaptureSession с AVCaptureAudioDataOutput. Запись в M4A, загружаем на сервер. Хранение согласия на запись — отдельный consent флаг с timestamp в базе.
Транскрипция аудио — SFSpeechRecognizer (iOS, offline на устройстве для поддерживаемых языков) или OpenAI Whisper API через сервер для точности и мультиязычности.
Подписки и оплата
Stripe PaymentSheet для одноразовых сессий и Stripe Billing для пакетов. iOS App Store подписки (StoreKit 2) только если коучинг продаётся как «контент внутри приложения» — но большинство коучинговых приложений работают через Stripe (веб-форма оплаты) без IAP.
Пакет 10 сессий — Product с type: .nonConsumable в StoreKit (использован 1 раз, не восстанавливается при удалении приложения). Или пакет как подписка с ограниченным сроком использования.
Процесс и сроки
Бронирование + профили + видеосессии + push — 5–7 недель. Колесо баланса + дневник + привычки + рефлексивные вопросы + подписки — 2–3 месяца. Стоимость рассчитывается после анализа требований.







