Розробка мобільного додатку для коучингу
Коучинг-додаток відрізняється від менторського акцентом: не передача експертизи, а робота з цілями та внутрішніми станами клієнта. Інструменти інші — колесо баланса, дневник прогресу, рефлексивні питання, медитації. Сесії структурованіше. Бізнес-модель — частіше підписка або пакет сесій.
Бронювання сесій
Інтеграція з 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. Стрик — серія днів поспіль, мотивуючий елемент. 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 (web-форма) без IAP.
Пакет 10 сесій — Product з type: .nonConsumable у StoreKit (використаний 1 раз, не відновлюється при видаленні додатку). Або пакет як підписка з обмеженим терміном використання.
Процес та терміни
Бронювання + профілі + відеосесії + push — 5–7 тижнів. Колесо баланса + дневник + привички + рефлексивні питання + підписки — 2–3 місяці. Вартість розраховується після аналізу вимог.







