Faza Tazakka

← Kembali ke karya

Aura Fitness — AI Posture & Workout Tracker

Aplikasi mobile pelatih kebugaran berbasis Flutter yang mendeteksi postur latihan fisik secara otomatis dan real-time langsung di HP, dilengkapi asisten suara (TTS) dan kurikulum terstruktur.

PeranMobile & AI Engineer
StatusProduction-Ready Prototype / Capstone Project
PeriodeJuni 2026 – Agu 2026
Tim2 Orang Tim Tugas Akhir
StackFlutter · Dart · Provider · Google ML Kit (Pose Detection) · Supabase · PostgreSQL · Google Gemini API · Flutter TTS

Inferensi kamera Google ML Kit Pose Detection mendeteksi 33 titik sendi tubuh langsung di HP dengan evaluasi postur latihan

1 / 4

Gambaran & Masalah

Latihan fisik mandiri di rumah (seperti push-up dan squat) rentan menimbulkan cedera jika postur tubuh keliru—misalnya pinggul merosot atau punggung terlalu melengkung. Di sisi lain, menyewa pelatih kebugaran pribadi memerlukan biaya yang cukup tinggi, sedangkan aplikasi kamera kebugaran yang mengirim rekaman video ke server internet menimbulkan jeda waktu (latency) serta kekhawatiran atas privasi rekaman video pengguna.

Tantangan rekayasa utama proyek ini adalah membangun aplikasi mobile cerdas yang mampu menganalisis biomekanika tubuh secara 100% lokal langsung di ponsel (on-device, tanpa mengirim rekaman video ke internet), membaca 33 koordinat sendi secara akurat dan mulus di kecepatan 30+ FPS, serta memberikan koreksi suara seketika tanpa jeda.

Fitur & Implementasi Teknis

  • Deteksi Pose AI Langsung di HP (On-Device 30+ FPS): Mengintegrasikan google_mlkit_pose_detection untuk memetakan 33 titik sendi tubuh (body landmarks) secara lokal dari aliran kamera ponsel (ImageFormatGroup.nv21). Menerapkan mekanisme pengunci frame asinkron (_isBusy lock) agar beban pemrosesan kamera tidak menumpuk di memori dan tampilan kamera tetap lancar di atas 30 FPS.
  • Peredam Getaran Koordinat (EMA Smoothing Filter): Kamera ponsel sering menghasilkan sedikit getaran (jitter) pada titik koordinat sendi. Diterapkan filter matematika Exponential Moving Average (EMA, $\alpha = 0.35$) untuk menghaluskan perpindahan koordinat sendi secara real-time, sehingga garis kerangka tubuh stabil dan tidak melompat-lompat.
  • Hitungan Repetisi Presisi & Validasi Form (FSM & Trigonometri atan2): Mengembangkan mesin tahapan logika (Finite State Machine) yang membagi siklus latihan ke dalam tahapan terstruktur (idle $\to$ persiapan $\to$ turun $\to$ titik balik $\to$ naik $\to$ selesai). Menggunakan rumus trigonometri atan2 untuk mengukur sudut tekukan sendi (misalnya siku $\le 90^\circ$ saat push-up) dengan toleransi ambang (hysteresis) agar repetisi hanya terhitung jika gerakan dilakukan penuh dan benar, mencegah hitungan palsu atau curang.
  • Panduan Suara Real-Time (Hands-Free TTS): Mengintegrasikan flutter_tts sebagai pelatih suara otomatis. Saat pengguna berada dalam posisi tengkurap atau squat, mereka tidak perlu memaksakan diri menatap layar HP; aplikasi langsung menyuarakan hitungan repetisi serta koreksi bentuk tubuh (seperti "Luruskan pinggul" atau "Turun lebih dalam").
  • Kurikulum Latihan Otomatis (Gemini API): Memanfaatkan Google Gemini API (google_generative_ai) untuk merancang program latihan 30 hari yang dipersonalisasi sesuai profil kebugaran, menerapkan prinsip penambahan beban bertahap (+3% volume per hari latihan aktif) dan pengaturan jadwal istirahat.
  • Bisa Berjalan Tanpa Internet (Offline-First) & Sinkron Cloud: Deteksi kamera AI, penilaian postur, audio suara TTS, dan perancang latihan kustom dapat berjalan 100% tanpa sambungan internet (Guest Mode). Begitu ponsel terhubung kembali ke jaringan, data profil dan riwayat latihan otomatis disinkronkan ke Supabase (PostgreSQL).

Hasil & Status Proyek

Aplikasi berhasil diselesaikan dan diuji sebagai prototipe siap pakai (capstone project), membuktikan bahwa pelacakan postur tubuh 33 titik sendi dan instruksi suara pelatih dapat berjalan lancar secara 100% lokal di perangkat HP tanpa latensi server, hemat daya, dan menjamin privasi visual pengguna secara penuh.