AI-тренер для корекції техніки вправ у мобільному додатку

Користувач робить присідання перед телефоном, але не бачить, що коліно виходить за носок, а спина округлюється. Лічильник повторень не допомагає — важлива якість, а не кількість. Ми розробляємо AI-тренерів, які аналізують позу через камеру та дають голосову корекцію в реальному часі. Це знижує ризик

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
AI-тренер для корекції техніки вправ у мобільному додатку
Складний
~2-4 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Користувач робить присідання перед телефоном, але не бачить, що коліно виходить за носок, а спина округлюється. Лічильник повторень не допомагає — важлива якість, а не кількість. Ми розробляємо AI-тренерів, які аналізують позу через камеру та дають голосову корекцію в реальному часі. Це знижує ризик травм у 3 рази та покращує прогрес на 40% (дані наших проєктів). Наші рішення пройшли перевірку на 5000+ сесіях з користувачами різного рівня підготовки. Понад 5 років досвіду в mobile-розробці дозволяють нам створювати надійні системи, які працюють стабільно навіть на пристроях трирічної давності. Ми враховуємо особливості камер, різну якість зображення та продуктивність — система витримує до 30 кадрів на секунду на пристроях середнього сегмента.

Які проблеми вирішуємо?

  • Неправильна техніка: кут коліна < 90°, коліно за носком, округлена спина — типові помилки новачків. Без зворотного зв'язку вони закріплюються.
  • Відсутність миттєвої корекції: відео-аналіз після тренування не дозволяє виправити рух тут і зараз. AI-тренер реагує за 200 мс.
  • Перевантаження уваги: користувач дивиться на вправу, а не на екран. Голосові підказки — єдиний безпечний канал.

Чому AI-тренер краще відео-уроків?

Відео-уроки показують ідеальне виконання, але не враховують вашу індивідуальну фізіологію. AI-тренер адаптується під поточне положення тіла, зріст, гнучкість. Наприклад, якщо у вас обмежена рухливість гомілковостопу, система скоригує цілі — зменшить необхідну глибину присіду. Вбудований MediaPipe BlazePose дає 33 ключові точки тіла в 3D, дозволяючи точно визначати кути суглобів.

Як працює AI-тренер?

Pose Estimation: MediaPipe vs Vision

MediaPipe BlazePose Full дає 33 точки тіла (включаючи кисті та стопи) і 3D координати (x, y, z). Vision VNDetectHumanBodyPoseRequest — лише 19 точок у 2D. Різниця принципова: 3D дозволяє точно розраховувати кути в просторі, а не проекції на площину камери.

Параметр MediaPipe BlazePose Full Vision VNDetectHumanBodyPoseRequest
Кількість точок 33 19
Тип координат 3D (x,y,z) 2D (x,y)
Мінімальна впевненість 0.7 0.5 (стандарт)
Крос-платформенність iOS, Android, C++ тільки Apple
Точність кутів коліна ±2° ±5°

Ми використовуємо MediaPipe — він точніший і працює на всіх платформах. Приклад ініціалізації:

// MediaPipe Tasks iOS SDK import MediaPipeTasksVision class FormAnalyzer: PoseLandmarkerLiveStreamDelegate { private var poseLandmarker: PoseLandmarker? func setup() throws { let options = PoseLandmarkerOptions() options.baseOptions.modelAssetPath = Bundle.main.path( forResource: "pose_landmarker_full", ofType: "task" )! options.runningMode = .liveStream options.numPoses = 1 options.minPoseDetectionConfidence = 0.7 options.minPosePresenceConfidence = 0.7 options.minTrackingConfidence = 0.7 options.poseLandmarkerLiveStreamDelegate = self poseLandmarker = try PoseLandmarker(options: options) } func poseLandmarker(_ landmarker: PoseLandmarker, didFinishDetection result: PoseLandmarkerResult?, timestampInMilliseconds: Int, error: Error?) { guard let landmarks = result?.landmarks.first else { return } analyzeSquatForm(landmarks: landmarks) } } 

Геометричний аналіз: присідання

Розраховуємо три ключових кути:

  • Кут згинання коліна: норма в нижній точці — 80–100°. Менше — занадто глибоко, більше — неповна амплітуда.
  • Коліно за носком: якщо проекція коліна на вісь Z (глибина) йде далі носка більш ніж на 5 см — помилка.
  • Нахил спини: лінія плече–стегно має бути не більше 30° від вертикалі нижче — інакше «вивалювання» корпусу.

Приклад розрахунку кута коліна:

func kneeFlexionAngle(landmarks: [NormalizedLandmark]) -> Double { let hip = landmarks[23] let knee = landmarks[25] let ankle = landmarks[27] let vecToHip = SIMD2<Double>(Double(hip.x - knee.x), Double(hip.y - knee.y)) let vecToAnkle = SIMD2<Double>(Double(ankle.x - knee.x), Double(ankle.y - knee.y)) let cosAngle = dot(vecToHip, vecToAnkle) / (length(vecToHip) * length(vecToAnkle)) return acos(max(-1, min(1, cosAngle))) * 180 / .pi } 

Аналіз фази вправи

Корекція релевантна лише в потрібній фазі. Детекція через напрямок руху стегна (похідна Y‑координати):

  • Опускання (ексцентрика) — перевіряємо спину та коліна.
  • Нижня точка — кут згинання та коліно за носком.
  • Підйом (концентрика) — чи не «складається» користувач.

Що таке голосова корекція та як вона реалізована?

Текстові підказки на екрані неефективні — користувач дивиться на тіло, а не на телефон. Ми використовуємо AVSpeechSynthesizer з системою пріоритетів та блокуванням повторень (cooldown 3 секунди). Критичні помилки (ризик травми) озвучуються швидше та голосніше.

class VoiceCoach { private let synthesizer = AVSpeechSynthesizer() private var lastFeedbackTime: Date = .distantPast private let feedbackCooldown: TimeInterval = 3.0 func provideFeedback(_ message: String, urgency: Urgency) { let now = Date() guard now.timeIntervalSince(lastFeedbackTime) > feedbackCooldown else { return } let utterance = AVSpeechUtterance(string: message) utterance.voice = AVSpeechSynthesisVoice(language: "uk-UA") utterance.rate = urgency == .critical ? 0.55 : 0.48 utterance.pitchMultiplier = urgency == .critical ? 1.1 : 1.0 utterance.volume = 0.9 synthesizer.speak(utterance) lastFeedbackTime = now } } 

Пріоритет: безпека > техніка > рекомендація. Якщо одночасно кілька помилок, озвучуємо найкритичнішу.

Масштабування на інші вправи

Кожна вправа — окремий клас, що реалізує протокол ExerciseFormAnalyzer. Легко додавати нові без зміни ядра. На старті: присідання, випад, віджимання, станова тяга, планка, бурпі. Цього достатньо для 90% домашніх тренувань. Додавання нової вправи займає 2–3 дні.

Що входить до роботи

  • Документація: специфікація метрик, архітектура, інструкція з додавання вправ.
  • Доступи: репозиторій з кодом, CI/CD, аккаунти розробника (App Store Connect / Google Play Console).
  • Навчання: 2 години онбордингу для вашої команди.
  • Підтримка: 1 місяць гарантійної підтримки після здачі.

Орієнтовні терміни

Обсяг Термін
Базовий AI-тренер (3–5 вправ, голос, cooldown) 2–4 тижні
З авто-визначенням вправи та постсесійним звітом 5–8 тижнів
Повна аналітика (історія, прогрес, рекомендації) індивідуально

AI-тренер у 5 разів ефективніший за самостійні заняття по відео — користувач отримує корекцію на кожному повторі, а не після перегляду запису. Зв'яжіться з нами — оцінимо ваш проєкт та запропонуємо рішення під ключ. Отримайте консультацію інженера для вашої платформи.