Розробка мобільного додатку для менторства
Менторство — довгострокові відносини, а не разова сесія. Додаток повинен підтримувати весь цикл: пошук ментора, подача заявки, узгодження цілей, регулярні сесії, прогрес та обратна зв'язок. Складніше чат-додатку — потрібна бізнес-логіка відносин та трекінг прогресу.
Matching ментор/менті
Профіль ментора — експертиза (теги + вільний текст), доступність (розпис у вигляді часових слотів), формат (1-на-1, група, async), мова, досвід в роках, вартість (якщо платний).
Профіль менті — цілі (кар'єра, проект, навик), рівень, бажаний формат зустрічей.
Алгоритм підбору: перетин тегів + фільтр за доступністю + геолокація якщо очний. На PostgreSQL: tsvector + tsquery для повнотекстового пошуку по опису профілю, @> оператор для перетину масивів тегів.
Заявка менті до ментора — сообщення з описом запиту. Ментор приймає або відхиляє. Прийняття → створення mentorship записи зі статусом active.
Сесії та розпис
Планування сесій — один з центральних UI. Ментор задає доступні слоти в своєму профілі. Менті вибирає з доступних. Реалізація через time_slots таблицю: mentor_id, start_at, end_at, is_booked.
Інтеграція з системним календарем — EventKit (iOS) / CalendarContract (Android). При бронюванні сесії — створюємо подію в календарі обох учасників. Скасування сесії — видаляємо подію через EKEventStore.remove().
Нагадування за 24 години та за 1 годину — push через FCM плюс локальне сповіщення як резерв.
Відеосесія — вбудована через WebRTC (Twilio, 100ms) або посилання на Zoom/Google Meet. Вбудований відеозвонок дає кращий UX, але потребує більше часу на розробку. Якщо бюджет обмежений — генеруємо посилання на Zoom через Zoom API (POST /v2/users/{userId}/meetings), передаємо обом учасникам.
Прогрес та цілі
Цілі менті — структурований список: ціль → критерії досягнення → термін. SMART структура на рівні UI: поля для конкретики, вимірюваності, терміну.
Після кожної сесії — краткий звіт: що обговорили, наступні кроки, прогрес по цілям. Форма у додатку, зберігається в історії. Для менті — видимість хронології зростання, для ментора — контекст до наступної зустрічі.
Трекер прогресу по цілям — простий ProgressView (iOS) / LinearProgressIndicator (Android) з ручним оновленням відсотка. Не гейміфікація задля гейміфікації — просто візуальна історія.
Обратна зв'язок
Після завершення менторства (або раз на місяць) — взаємна оцінка. Рейтинг ментора впливає на позицію в пошуку. Форма NPS (UISlider 0–10) + open text.
Асинхронна обратна зв'язок — не тільки під час синхронних сесій. Ментор залишає коментар до матеріалу менті (посилання, документ), менті читає та відповідає. Це як code review, тільки для життєвих/професійних задач. Реалізується через тред коментарів до «завдання» в рамках цілі.
Монетизація та розрахунки
Для платних менторів — вбудовані платежі через Stripe. PaymentSheet з PaymentIntent на кожну сесію або SetupIntent для пакету сесій. Автоматичні виплати ментору через Stripe Connect (прямий переведення або з затримкою після підтвердження сесії).
На iOS нельзя проводити платежі за послуги третіх осіб через свою платіжну форму з комісією — Apple заблокує. Stripe Connect для маркетплейсу послуг — допустимо, якщо додаток не бере комісію за «цифровий контент» у Apple розумінні.
Процес та терміни
Профілі + matching + заявки + розпис + push — 6–8 тижнів. Цілі + прогрес + обратна зв'язок + відеосесії + платежі — 2–3 місяці. Вартість розраховується після аналізу вимог.







