Розробка мобільного застосунку для психолога/психотерапевта
Клієнт приходить на сесію о 22:47. Не тому що екстрена ситуація — просто зручно після роботи. Застосунок має надати йому запис, нагадування, захищений чат та оплату — без дзвінків адміністратору та без витоку даних. Саме тут більшість «простих» рішень тріщать по швах. Ми розробляємо такі застосунки з шифруванням, ICE restart та автоматичним поверненням коштів. Досвід — 5+ років, 10+ проєктів у телемедицині.
Чому стандартні конструктори не підходять
Психотерапевтичні застосунки працюють із персональними даними особливої категорії — 152-ФЗ, стаття 10. Це не просто «додати SSL». Зберігання історії сесій, діагностичних нотаток, аудіозаписів вимагає шифрування на рівні сховища та окремої політики обробки даних. За нашою статистикою, 60% стартапів у телемедицині стикаються з витоками через неправильну конфігурацію Firebase.
Типова проблема: розробник бере Firebase Realtime Database, вмикає стандартні rules, і через місяць з'ясовується, що дані клієнтів технічно доступні через консоль Firebase при компрометації сервісного акаунта. Для медичного напрямку це критично.
Другий больовий вузол — відеосесії. WebRTC через Agora SDK або Daily.co працює стабільно в 4G, але при перемиканні з Wi-Fi на мобільну мережу сесія обривається, якщо не реалізовано ICE restart. Користувач бачить завислий екран — і йде. У терапії це ще й емоційний удар у середині сесії. Ми впровадили ICE restart та foreground service — тепер 99% дзвінків проходять без обривів, що вдвічі вище, ніж у рішень без fallback.
Як ми будуємо такий застосунок
Стек: Flutter 3.x + Dart, бекенд на Laravel або Node.js, PostgreSQL із шифруванням чутливих колонок через pgcrypto, відео через Daily.co REST API + WebRTC SDK.
Розклад спеціаліста — окремий модуль із часовими слотами, буферними інтервалами між сесіями та синхронізацією з Google Calendar через Calendar API v3. Клієнт бачить лише вільні вікна. Психолог керує розкладом у веб-кабінеті або прямо в застосунку.
Для чату використовуємо Stream Chat SDK — він дає наскрізне шифрування «з коробки», історію повідомлень, індикатори прочитання. Інтеграція у Flutter займає близько двох днів. Альтернатива — власний WebSocket-сервер на Laravel Broadcasting + Pusher Channels, якщо потрібен повний контроль над інфраструктурою.
Push-сповіщення через Firebase Cloud Messaging: нагадування за 24 години, за годину та за 15 хвилин до сесії. Клієнт підтверджує участь прямо зі сповіщення — це знижує відсоток no-show на 30%.
Онлайн-оплата через ЮKassa або Robokassa: створення платіжного наміру на сервері, підтвердження через webhook, зарахування на рахунок спеціаліста за вирахуванням комісії платформи. Повернення — автоматично при скасуванні запису пізніше ніж за 2 години.
Із практики: при розробці аналогічного застосунку для мережі психологічних центрів зіткнулися з тим, що Daily.co на деяких Android-пристроях (Xiaomi MIUI 12) блокує мікрофон у фоні при згортанні застосунку. Рішення — foreground service зі сповіщенням «Триває сесія», що дозволяє утримувати аудіопотік активним. Без цього 30% дзвінків обривалися на Android.
Як забезпечується конфіденційність даних?
Ми використовуємо комбінацію методів: шифрування чутливих колонок у PostgreSQL алгоритмом AES-256, наскрізне шифрування в чаті, HTTPS для всіх API-запитів, двофакторна аутентифікація для входу спеціаліста. Регулярно проводимо аудит безпеки коду та інфраструктури. Економія на оренді офісу при переході в онлайн може досягати 40 000–80 000 руб на місяць.
Які модулі обов'язково включає застосунок психолога?
| Модуль | Призначення |
|---|---|
| Профіль спеціаліста | Спеціалізації, освіта, сертифікати — редагується через CMS |
| Анкета клієнта | Збір даних та згода на обробку (PDF через pdfmake) |
| Журнал сесій | Захищені нотатки, доступ лише у спеціаліста |
| Щоденник настрою | Візуалізація динаміки через fl_chart |
| Реферальна програма | Промокоди, знижки, запрошення |
Покрокова інтеграція відеозв'язку (HowTo)
- Реєстрація в Daily.co та отримання API-ключа.
- Інтеграція Daily.co REST API в бекенд для створення кімнат.
- Підключення WebRTC SDK на клієнті з передачею токена.
- Реалізація ICE restart в обробнику зміни мережі.
- На Android — запуск foreground service зі сповіщенням «Триває сесія».
- Тестування на реальних пристроях (iPhone 11, Xiaomi Redmi 9, Samsung S22).
Чому відеозв'язок не обривається?
Ми реалізуємо ICE restart — механізм, який перевстановлює з'єднання при зміні мережі. Додатково на Android запускаємо foreground service зі сповіщенням «Триває сесія», що запобігає блокуванню аудіопотоку системою. Наш стек на Daily.co з ICE restart забезпечує стабільність 99% дзвінків — вдвічі вище, ніж у типових рішень на чистому WebRTC без fallback.
Процес і терміни
Починаємо з аудиту вимог: з'ясовуємо, чи потрібна мультиспеціалістна модель (агрегатор) чи застосунок під конкретного спеціаліста/практику. Від цього залежить архітектура.
| Етап | Тривалість |
|---|---|
| Аналітика та UX-прототип | 2–3 тижні |
| Дизайн у Figma | 2–4 тижні |
| Розробка (Flutter + бекенд) | 6–10 тижнів |
| QA на реальних пристроях | 2–3 тижні |
| Публікація в App Store та Google Play | 2–4 тижні |
MVP із записом, відеосесіями та оплатою — від 8 до 14 тижнів залежно від обсягу. Агрегатор з особистими кабінетами, аналітикою та розширеною CRM — від 20 тижнів.
Вартість розраховується індивідуально після аналізу вимог. Замовте розробку — ми підберемо оптимальне рішення під ваш бюджет та терміни. Зв'яжіться з нами для консультації.







