Mobile Applications
Completed
July 2026
SwimMark
Aplikasi mobile berbasis Flutter dan TensorFlow Lite untuk menganalisis teknik renang secara otomatis melalui foto dan video, lengkap dengan feedback koreksi gerakan secara instan di perangkat (on-device).
SwimMark.view
LIVE
Ringkasan Proyek
Latar belakang dan cakupan sistem
SwimMark adalah aplikasi mobile asisten pelatih renang digital yang memanfaatkan Machine Learning (on-device inference) untuk mengevaluasi teknik berenang pengguna. Melalui input kamera atau galeri, aplikasi memproses visual gerakan tubuh dan mengklasifikasikan apakah teknik yang dilakukan sudah tepat atau memiliki kesalahan spesifik (seperti posisi kaki, postur tubuh streamline, maupun gerakan tangan). Selain menampilkan tingkat akurasi dan confidence score, SwimMark memberikan rekomendasi drill latihan yang relevan serta menyimpan riwayat evaluasi latihan pengguna secara terstruktur.
Latar Belakang & Kebutuhan
Kendala operasional dan kebutuhan spesifikasi sistem
Mendapatkan umpan balik objektif saat latihan renang biasanya membutuhkan kehadiran pelatih di tepi kolam secara intensif. Sebagian besar perenang rekreasi maupun atlet pemula sering kali tidak menyadari kesalahan mendasar pada teknik kayuhan, posisi streamline, atau ritme tendangan kaki yang berisiko memperlambat laju dan memicu cedera bahu atau punggung. Di sisi lain, solusi analisis video konvensional sering kali lambat, bergantung pada server cloud mahal dengan latensi tinggi, serta sulit diakses langsung di pinggir kolam tanpa koneksi internet yang stabil.
Solusi & Desain Sistem
Pendekatan arsitektur dan struktur logika sistem
Membangun aplikasi mobile mandiri dengan arsitektur edge AI menggunakan TensorFlow Lite. Alih-alih mengirim frame gambar/video ke server eksternal, seluruh proses inferensi berjalan langsung di ponsel (on-device), sehingga hasil evaluasi keluar dalam hitungan detik tanpa membebani kuota data. Aplikasi dirancang dengan alur yang ringkas: ambil tangkapan gambar/video, proses normalisasi visual, jalankan model klasifikasi gerakan, dan tampilkan kartu hasil evaluasi beserta saran perbaikan teknis yang mudah dipahami atlet maupun pelatih.
Pendekatan Teknis & Pemilihan Teknologi
Alasan pemilihan teknologi dan alur proses data
Mobile Architecture & State Management: Menggunakan Flutter dengan pola arsitektur GetX (Service-Controller-View) untuk pemisahan logika bisnis, penanganan reaktivitas UI, dan manajemen lifecycle memori yang bersih saat memproses kamera dan model AI.
On-Device ML Inference: Integrasi TensorFlow Lite (tflite_flutter) dengan model terkuantisasi (Float16/Float32) untuk menyeimbangkan akurasi deteksi dan efisiensi konsumsi RAM/CPU perangkat mobile.
Image Preprocessing Pipeline: Pipeline pemrosesan gambar otomatis menggunakan package image (resizing ke tensor input 224x224 RGB, normalisasi piksel [0, 1], dan softmax post-processing untuk ekstraksi distribusi probabilitas kelas).
Multi-Class Movement Evaluation: Klasifikasi 4 kategori utama (Benar, KesalahanKaki, KesalahanPostur, KesalahanTangan) yang langsung dipetakan ke modul error description & corrective action.
Local Persistence & Auth: Penyimpanan riwayat evaluasi lokal berbasis JSON/shared_preferences dan file path management via path_provider, dipadukan dengan Firebase Auth untuk manajemen akun pengguna.
On-Device ML Inference: Integrasi TensorFlow Lite (tflite_flutter) dengan model terkuantisasi (Float16/Float32) untuk menyeimbangkan akurasi deteksi dan efisiensi konsumsi RAM/CPU perangkat mobile.
Image Preprocessing Pipeline: Pipeline pemrosesan gambar otomatis menggunakan package image (resizing ke tensor input 224x224 RGB, normalisasi piksel [0, 1], dan softmax post-processing untuk ekstraksi distribusi probabilitas kelas).
Multi-Class Movement Evaluation: Klasifikasi 4 kategori utama (Benar, KesalahanKaki, KesalahanPostur, KesalahanTangan) yang langsung dipetakan ke modul error description & corrective action.
Local Persistence & Auth: Penyimpanan riwayat evaluasi lokal berbasis JSON/shared_preferences dan file path management via path_provider, dipadukan dengan Firebase Auth untuk manajemen akun pengguna.
Peran & Tanggung Jawab
Tanggung jawab langsung dalam pengembangan modul
Mobile Architecture & State Management: Menggunakan Flutter dengan pola arsitektur GetX (Service-Controller-View) untuk pemisahan logika bisnis, penanganan reaktivitas UI, dan manajemen lifecycle memori yang bersih saat memproses kamera dan model AI.
On-Device ML Inference: Integrasi TensorFlow Lite (tflite_flutter) dengan model terkuantisasi (Float16/Float32) untuk menyeimbangkan akurasi deteksi dan efisiensi konsumsi RAM/CPU perangkat mobile.
Image Preprocessing Pipeline: Pipeline pemrosesan gambar otomatis menggunakan package image (resizing ke tensor input 224x224 RGB, normalisasi piksel [0, 1], dan softmax post-processing untuk ekstraksi distribusi probabilitas kelas).
Multi-Class Movement Evaluation: Klasifikasi 4 kategori utama (Benar, KesalahanKaki, KesalahanPostur, KesalahanTangan) yang langsung dipetakan ke modul error description & corrective action.
Local Persistence & Auth: Penyimpanan riwayat evaluasi lokal berbasis JSON/shared_preferences dan file path management via path_provider, dipadukan dengan Firebase Auth untuk manajemen akun pengguna.
On-Device ML Inference: Integrasi TensorFlow Lite (tflite_flutter) dengan model terkuantisasi (Float16/Float32) untuk menyeimbangkan akurasi deteksi dan efisiensi konsumsi RAM/CPU perangkat mobile.
Image Preprocessing Pipeline: Pipeline pemrosesan gambar otomatis menggunakan package image (resizing ke tensor input 224x224 RGB, normalisasi piksel [0, 1], dan softmax post-processing untuk ekstraksi distribusi probabilitas kelas).
Multi-Class Movement Evaluation: Klasifikasi 4 kategori utama (Benar, KesalahanKaki, KesalahanPostur, KesalahanTangan) yang langsung dipetakan ke modul error description & corrective action.
Local Persistence & Auth: Penyimpanan riwayat evaluasi lokal berbasis JSON/shared_preferences dan file path management via path_provider, dipadukan dengan Firebase Auth untuk manajemen akun pengguna.
Hasil & Dampak Proyek
Pencapaian fungsional dan pengujian hasil implementasi
Inferensi Cepat & Offline-First: Berhasil menjalankan evaluasi gerakan dalam waktu di bawah 1–2 detik secara lokal di perangkat tanpa ketergantungan server/cloud API berbayar.
Ukuran Aplikasi Ringan & Efisien: Penggunaan model kuantisasi Float16 menjaga ukuran build aplikasi tetap ramping serta minim konsumsi baterai saat inferensi berulang.
Akurasi & Feedback Actionable: Menyediakan diagnosis gerakan 4 kelas yang transparan dengan skor keyakinan (confidence level), membantu pengguna memperbaiki teknik renang secara mandiri dengan panduan latihan terarah.
Ukuran Aplikasi Ringan & Efisien: Penggunaan model kuantisasi Float16 menjaga ukuran build aplikasi tetap ramping serta minim konsumsi baterai saat inferensi berulang.
Akurasi & Feedback Actionable: Menyediakan diagnosis gerakan 4 kelas yang transparan dengan skor keyakinan (confidence level), membantu pengguna memperbaiki teknik renang secara mandiri dengan panduan latihan terarah.