S.I.R.A.J is an iOS posture guidance prototype for Pencak Silat beginners. The app helps users practice basic movement accuracy through visual posture feedback.
Beginners learning Pencak Silat often need clearer guidance when practicing movements outside formal training sessions. S.I.R.A.J explores how computer vision can support beginner-friendly posture learning.
- iOS posture guidance flow for Pencak Silat practice
- Camera-based body pose analysis prototype
- Visual feedback to help users compare posture accuracy
- Beginner-focused flow for practice preparation and belt progression
- Pose reference data flow using a converter app
- TestFlight validation flow for early users
This repository contains two connected iOS apps:
PoseToJsonConverter Converts reference Pencak Silat poses into JSON pose data
SilatTrainer Uses camera-based posture feedback for practice sessions
PoseData Stores pose reference data used by the trainer
jurus_1_ipsi Reference pose images for Jurus Satu IPSI
Reference Pose Data
-> Camera Pose Detection
-> Joint Comparison
-> Visual Feedback
-> Practice Progression
- Swift
- SwiftUI
- Vision
- Core ML
- AVFoundation
- Xcode
PoseToJsonConverter/ Utility app for preparing pose reference data
SilatTrainer/ Main training app for posture feedback
PoseData/ JSON pose reference data
jurus_1_ipsi/ Pencak Silat reference images
Developer and researcher. I focused on the iOS implementation, posture-analysis flow, pose reference workflow, and validation with early users.
Published to TestFlight and validated with 5+ users. Users reported that the posture feedback was clear and helpful for understanding basic movement positions.
- Open
SilatTrainer/SilatTrainer.xcodeprojin Xcode to run the training app. - Open
PoseToJsonConverter/PoseToJsonConverter.xcodeprojif you need to adjust or regenerate pose reference data. - Use a physical iPhone for the best camera and Vision framework testing experience.
This repository is a portfolio prototype focused on movement-learning validation. The core value is the workflow: preparing reference poses, detecting user posture, and showing beginner-friendly feedback.