Разработка мобильного приложения для коучинга
Представьте: коуч тратит 20% времени на ручное согласование времени с клиентами через мессенджеры. Каждая сессия — переписка, напоминания, переносы. Клиенты забывают оплатить, а коуч теряет доход. Коучинговое приложение решает эти проблемы автоматизацией: бронирование, оплата, дневник, трекер привычек — всё в одном месте. Но реализация сложнее, чем кажется: нужно учесть безопасность данных, часовые пояса, гибкие сценарии оплаты. Мы разработали десятки коучинговых приложений за 5+ лет и знаем, как избежать типовых ошибок. В этой статье разберём ключевые модули: от колеса баланса до push-уведомлений. Покажем, как реализовать гибкое бронирование с учётом тайм-зон, и почему Stripe часто выгоднее встроенных покупок Apple — экономия на комиссиях достигает 27%.
Бронирование сессий: гибкий редактор доступности
Интеграция с 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 часа".
Выбор между Calendly и собственной разработкой: Calendly даёт быстрый старт и готовый UI, но ограничивает кастомизацию и требует оплаты API. Собственный booking flow требует 1–2 недель разработки backend, но даёт полный контроль над дизайном и логикой — например, можно добавить кастомные правила доступности или интеграцию с CRM. Для проектов с уникальными требованиями второй вариант окупается гибкостью.
Инструменты коучинга в приложении
Колесо баланса — круговая диаграмма по 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, а не App Store?
Stripe PaymentSheet для одноразовых сессий и Stripe Billing для пакетов. iOS App Store подписки (StoreKit 2) только если коучинг продаётся как «контент внутри приложения» — но большинство коучинговых приложений работают через Stripe (веб-форма оплаты) без IAP. Пакет 10 сессий — Product с type: .nonConsumable в StoreKit (использован 1 раз, не восстанавливается при удалении приложения). Или пакет как подписка с ограниченным сроком использования.
Сравнение подходов к платежам:
| Аспект | Stripe (внешние платежи) | App Store / Google Play (IAP) |
|---|---|---|
| Комиссия | ~2.9% + $0.30 | 15–30% на доход до $1M |
| Гибкость | Полный контроль над продуктами | Ограниченные типы подписок |
| Отчётность | Интеграция с любой бухгалтерией | Только отчёты Apple/Google |
| Пользовательский опыт | Веб-форма, переключение контекста | Бесшовный внутри приложения |
Stripe обходится дешевле в 5–10 раз при типичных объёмах продаж сессий.
Что входит в работу
- Техническое задание и прототип UI/UX
- Разработка backend (REST/GraphQL) + клиент (iOS/Android)
- Интеграция платежей (Stripe / StoreKit)
- Публикация в App Store и Google Play
- Документация по API и администрированию (Swift Package Manager для зависимостей, Fastlane для CI/CD)
- Передача доступов и обучение команды
- Гарантийная поддержка 3 месяца
Процесс и сроки
| Этап | MVP | Полный функционал |
|---|---|---|
| Бронирование + профили + видеосессии + push | 5–7 недель | 2–3 месяца |
| Колесо баланса + дневник + привычки + рефлексия + подписки | — | 2–3 месяца |
Стоимость рассчитывается после анализа требований. Свяжитесь с нами для оценки вашего проекта — мы подберём оптимальное решение под ключ. Получите консультацию по архитектуре вашего приложения — расскажем, как избежать типовых ошибок при выборе стека.







