Skip to content
@KinesteX

KinesteX

Personal AI Fitness Trainer For Your Project

Stay Ahead with KinesteX AI Motion Tracking.

White-labeled motion tracking SDK with ready-made or custom AI experiences, boosting your app’s user engagement and revenue

Jump to an example in your programming language:

FlutterReact NativeSwiftKotlinHTML & JS
0b36f063-376b-4c30-a543-9112c4dc7e92.mp4

KinesteX offers a powerful motion tracking SDK that seamlessly integrates into your platform. Choose between ready-made workouts, plans, challenges, AI assessments, or create custom experiences with our advanced motion tracking.

Our white-label solution supports any camera-enabled device across Android, iOS, web, and gaming platforms, with SDKs for React Native, Flutter, Kotlin, Swift, Java, PWA, and JavaScript for quick integration.

KinesteX’s real-time AI motion tracking boosts engagement, retention, and revenue while providing valuable data insights to create personalized, growth-driving experiences

PostMessage Events Documentation

PostMessage events are sent to parent windows/webviews for integration with native apps and external systems, they work in real-time, safely, and can even send data back to you offline!

Application Lifecycle

Event TypeData FieldsDescription
kinestex_launcheddata: string (format: "dd mm yyyy hh:mm:ss")When KinesteX application is launched
kinestex_loadeddate: string (ISO format)When KinesteX is fully loaded and ready
exit_kinestexdate: Date, time_spent: string (format: "hh:mm:ss")User exits KinesteX with total time spent
main_page_openeddate: string (ISO format)Main/home page is opened

Workout Management

Event TypeData FieldsDescription
workout_openedtitle: string, id: string, date: string (format: "dd mm yyyy hh:mm:ss")Workout details page opened
workout_startedid: string, date: string (format: "dd mm yyyy hh:mm:ss")Workout session started
workout_started (alt)workoutId: stringAlternative workout start event
workout_completedworkout: string, date: string (format: "dd mm yyyy hh:mm:ss")Workout finished and user exits overview
workout_overviewdata: object - see belowComplete workout summary statistics

Workout Overview Data Structure

{workout_title: string,// Workout nameworkout_id: string,// Unique workout IDtarget_duration_seconds: number,// Target workout durationcompleted_reps_count: number,// Total completed repstarget_reps_count: number,// Total target repscalories_burned: number,// Calories burned (2 decimal places)completion_percentage: number,// Workout completion % (2 decimal places)total_mistakes: number,// Total mistake countaccuracy_score: number,// Overall accuracy (0-100)efficiency_score: number,// Efficiency metric (0-100)total_exercise: number,// Number of exercisesactual_hold_time_seconds: number,// Time in correct position (timer-based)target_hold_time_seconds: number// Target hold time (timer-based exercises)}

Exercise Tracking

Event TypeData FieldsDescription
exercise_completeddata: object - see belowIndividual exercise completed
exercise_overviewdata: array of exercise objectsAll exercises summary

Exercise Completed Data Structure

{exercise_title: string,// Exercise nametime_spent: number,// Seconds spentrepeats: number,// Reps completedtotal_reps: number,// Required repstotal_duration: number,// Countdown timecalories: number,// Calories burnedexercise_id: string,// Exercise IDmistakes: Array<{// Mistakes mademistake: string,count: number}>,average_accuracy?: number// Average accuracy (0-1, optional)}

Exercise Overview Item Structure

{exercise_title: string,// exercise nameexercise_id: string,// Unique exercise IDtime_spent: number,// Time on exercise in secondsperfect_hold_position: number,// Time in correct position (timer-based)repeats: number,// Reps completedtotal_required_reps: number,// Target repstotal_required_time: number,// Target time in secondscalories: number,// Calories burned (2 decimal places)mistakes: Array<{// Detailed mistake breakdownmistake: string,// Mistake descriptioncount: number// Occurrence count}>,mistake_count: number,// Total mistakes for exerciseaccuracy_reps?: number[],// Optional: Per-rep accuracy scoresaverage_accuracy?: number// Optional: Average accuracy (0-100)}

Camera & Frame Tracking

Event TypeData FieldsDescription
left_camera_framedate: string (format: "dd mm yyyy hh:mm:ss")User left camera view
returned_camera_framedate: string (format: "dd mm yyyy hh:mm:ss")User returned to camera view
check_frame_completedmessage: string ("Person stepped into frame")Frame check completed
camera_selector_openedmessage: array (available cameras)Camera selector opened
camera_selectedid: string, label: string, isMirrorCamera: booleanCamera selected by user

Plans & Programs

Event TypeData FieldsDescription
plan_unlockedid: string, img: string, title: string, date: string (format: "dd mm yyyy hh:mm:ss")Plan unlocked/selected
personalized_plan_exitworkout: string, date: string (format: "dd mm yyyy hh:mm:ss")Exit from personalized plan

Challenges & Experiences

Event TypeData FieldsDescription
challenge_startedexerciseId: stringChallenge exercise started
challenge_completedrepCount: number, mistakes: numberChallenge completed
challenge_exitworkout: string, date: string (format: "dd mm yyyy hh:mm:ss")Exit from challenge

Leaderboard

Event TypeData FieldsDescription
highlighted_userdata: object - see belowUser's leaderboard position

Highlighted User Data Structure

{username: string,// User's usernamescore: number,// User's scoreposition: number// Leaderboard position (1-based)}

Home & Navigation

Event TypeData FieldsDescription
kinestex_home_exitworkout: string, date: string (format: "dd mm yyyy hh:mm:ss")Exit from KinesteX home

Error Handling

Event TypeData FieldsDescription
error_occurreddata: stringGeneral error message
error_occurredmessage: stringAlternative error format
error_occurreddata: string, error: anyError with details
warningdata: stringWarning message

Active Time Tracking

Event TypeData FieldsDescription
total_active_secondsnumberSent every 5 seconds with active workout time (not sent when user leaves camera frame)

Assessment Data Documentation

Overview

  • assessment_overview: Sent when the results page loads
  • assessment_completed: Sent when user clicks restart or finish buttons

Common Fields (All Assessments)

FieldTypeDescription
type"assessment_overview" | "assessment_completed"Event type identifier
assessmentTypestringAssessment identifier (e.g., "tug", "sls", "balloonpop")
dateDateTimestamp when the assessment was completed
timenumberTotal assessment time in seconds
stepsnumber | undefinedEstimated step count (for walking assessments)

TUG (Timed Up and Go) Assessment

Assessment Type: "tug"

FieldTypeDescription
timenumberTotal completion time in seconds
stepsnumberEstimated step count during the test
standingUpTimenumberTime to stand up from seated position (seconds)
sittingDownTimenumberTime to sit down at end of test (seconds)
walkingForwardTimenumberTime walking to the 3m marker (seconds)
walkingBackwardTimenumberTime walking back to the chair (seconds)
turningTimenumberTime spent turning at the marker (seconds)
backBendingAngleSittingnumber[]Array of back angle measurements during sitting countdown (degrees)
backBendingAngleStandingnumber[]Array of back angle measurements during movement (degrees)
averageSpeedMs_tugnumberAverage walking speed in m/s. Formula: 6m / time
avgBackBendingSittingnumber | nullAverage back bending angle while sitting (degrees)
avgBackBendingStandingnumber | nullAverage back bending angle while standing/moving (degrees)

Gait Speed Test Assessment

Assessment Type: "gaitspeedtest"

FieldTypeDescription
timenumberTotal test time in seconds
stepsnumberEstimated step count during the walk
standingTimenumberTime spent in standing phase (seconds)
walkingTimenumberActive walking time (seconds)
averageGaitSpeednumberGait speed in m/s. Formula: 4m / time

SLS (Single Leg Stand) Assessment

Assessment Type: "sls"

FieldTypeDescription
rightTimenumberDuration standing on right leg (seconds)
leftTimenumberDuration standing on left leg (seconds)
symmetryScore_slsnumber | nullLeg symmetry percentage (0-100). Formula: (min(right, left) / max(right, left)) * 100
riskLevel_sls"low" | "moderate" | "high"Balance risk assessment

Risk Level Calculation (SLS)

  • Low: Min time ≥20s AND good symmetry (difference ≤5s)
  • Moderate: Min time ≥10s AND average time ≥15s
  • High: All other cases

STS (Sit-to-Stand 30 Second) Assessment

Assessment Type: "sts"

FieldTypeDescription
repsnumberTotal repetitions completed in 30 seconds
averageSittingTimenumberAverage time in sitting position per rep (seconds)
averageStandingTimenumberAverage time in standing position per rep (seconds)
avgTimePerRep_stsnumber | nullAverage seconds per repetition. Formula: 30 / reps
repTimeVariance_minRepTimenumber | nullFastest rep time (seconds)
repTimeVariance_maxRepTimenumber | nullSlowest rep time (seconds)
repTimeVariance_minRepIndexnumber | nullWhich rep number was fastest (1-indexed)
repTimeVariance_maxRepIndexnumber | nullWhich rep number was slowest (1-indexed)

Five Times STS Assessment

Assessment Type: "fivetimessts"

FieldTypeDescription
timenumberTotal completion time for 5 repetitions (seconds)
averageSittingTimenumberAverage time in sitting position (seconds)
averageStandingTimenumberAverage time in standing position (seconds)

FRT (Functional Reach Test) Assessment

Assessment Type: "frt"

FieldTypeDescription
reachnumberMaximum forward reach distance (cm)
maxHeelLiftnumberMaximum heel lift detected during test (cm)
heelLiftCountnumberCount of heel lift violations
legLiftCountnumberCount of leg lift violations
testCompletedbooleanWhether test finished normally (true) or was terminated early (false)
endReasonstring | nullReason for early termination if applicable
riskLevel_frt"low" | "moderate" | "high" | nullFall risk assessment

End Reason Values

  • "Feet moved out of zone"
  • "User left zone"
  • "User turned forward"
  • "Arm dropped completely"
  • "Reference lost"
  • "Unhandled state"

Risk Level Calculation (FRT)

  • High: Test not completed OR reach ≤15cm
  • Moderate: Reach 15-25cm
  • Low: Reach >25cm

SBSS (Side-by-Side Stand) Assessment

Assessment Type: "sbss"

FieldTypeDescription
timeInProperPosition_sbssnumberTime maintained in correct stance (seconds, max 10s)
maxShoulderShift_sbssnumberMaximum lateral shoulder shift (% of shoulder width)
maxHipShift_sbssnumberMaximum lateral hip shift (% of hip width)
feetMoved_sbssbooleanWhether feet moved during the test
riskLevel_sbss"low" | "moderate" | "high"Balance risk assessment

Risk Level Calculation (SBSS)

  • High: Feet moved OR (time <7s AND sway ≥30%)
  • Moderate: Time ≥7s AND sway <30%
  • Low: Time ≥9.5s AND sway <15%

STSS (Semi-Tandem Stand) Assessment

Assessment Type: "stss"

FieldTypeDescription
timeInProperPosition_stssnumberTime maintained in correct stance (seconds, max 10s)
maxShoulderShift_stssnumberMaximum lateral shoulder shift (% of shoulder width)
maxHipShift_stssnumberMaximum lateral hip shift (% of hip width projection)
feetMoved_stssbooleanWhether feet moved during the test
riskLevel_stss"low" | "moderate" | "high"Balance risk assessment

Risk Level Calculation (STSS)

Same as SBSS calculation.


Full Tandem Stand Assessment

Assessment Type: "fulltandem"

FieldTypeDescription
timenumberTotal test time (seconds)
timeInProperPosition_fulltandemnumberTime in correct heel-to-toe stance (seconds, max 10s)
maxShoulderShift_fulltandemnumberMaximum lateral shoulder shift (% of shoulder width)
maxHipShift_fulltandemnumberMaximum lateral hip shift (% of hip width)
feetMoved_fulltandembooleanWhether feet moved during the test
testFailed_fulltandembooleanWhether the test was failed/terminated early
terminationReason_fulltandemstring | nullReason for early termination if applicable
riskLevel_fulltandem"low" | "moderate" | "high"Balance risk assessment

Risk Level Calculation (Full Tandem)

  • Low: Time ≥10s AND no feet movement
  • Moderate: Time ≥5s
  • High: Time <5s

Balloon Pop Game

Assessment Type: "balloonpop"

FieldTypeDescription
gameScorenumberTotal balloons popped
averageReactionTimestringAverage time to pop a balloon (seconds)
maxIdleTimestringMaximum time without any action (seconds)
averageSpeed_balloonpopnumberBalloons popped per second. Formula: gameScore / 30
masteryTitle_balloonpopstringAchievement tier identifier

Mastery Titles (Balloon Pop)

Score RangeTitle Key
≥30pop_tastic_hero
≥25magic_popper
≥20super_duper_popper
≥15sparkly_popper
≥10giggly_popper
≥5bouncy_bubbler
<5tiny_popper

Color Chase Game

Assessment Type: "colorchase"

FieldTypeDescription
gameScorenumberTotal score achieved
levelReachednumberHighest level completed
totalDurationstringTotal game duration (seconds)
averageReactionTimestringAverage reaction time per tap (seconds)
maxIdleTimestringMaximum time between taps (seconds)
masteryTitle_colorchasestringAchievement tier identifier

Mastery Titles (Color Chase)

Level RangeTitle Key
≥10color_chase_legend
≥8magic_color_wizard
≥6super_color_star
≥4shiny_sequencer
≥2rainbow_chaser
≥1color_buddy
<1little_color_finder

Alien Squat Shooter Game

Assessment Type: "aliensquatshooter"

FieldTypeDescription
gameScorenumberTotal aliens destroyed
squatsPerformednumberNumber of squats completed
totalDurationstringTotal game duration (seconds)
averageSquatRatestringSquats per second
maxTimeBetweenSquatsstringMaximum idle time between squats (seconds)
averageAlienDestroyTimestringAverage time to destroy each alien (seconds)
masteryTitle_aliensquatshooterstringAchievement tier identifier

Mastery Titles (Alien Squat Shooter)

Score RangeTitle Key
≥25alien_annihilator
≥20cosmic_blaster
≥15star_shooter
≥10galactic_gunner
≥5space_squatter
<5rookie_defender

Health Benefits (Games Only)

Included in payload for all game types (balloonpop, colorchase, aliensquatshooter).

FieldTypeDescription
healthBenefits.heartDiseaseReductionnumberEstimated heart disease risk reduction % (max 15)
healthBenefits.diabetesReductionnumberEstimated diabetes risk reduction % (max 20)
healthBenefits.obesityReductionnumberEstimated obesity risk reduction % (max 10)
healthBenefits.depressionReductionnumberEstimated depression risk reduction % (max 15)

Health Benefit Calculation

reduction = min((gameScore / 100) * maxReduction, maxReduction)

Risk Level Reference

ValueMeaning
"low"Good performance, minimal fall/balance risk
"moderate"Some limitations detected, may benefit from training
"high"Significant limitations, balance training recommended

Example Payload

{
"type": "assessment_completed",
"assessmentType": "tug",
"date": "2025-12-09T10:30:00.000Z",
"time": 12.5,
"steps": 18,
"standingUpTime": 1.8,
"sittingDownTime": 2.1,
"walkingForwardTime": 3.2,
"walkingBackwardTime": 3.1,
"turningTime": 2.3,
"backBendingAngleSitting": [15.2, 14.8, 15.1],
"backBendingAngleStanding": [8.5, 9.2, 8.8],
"averageSpeedMs_tug": 0.48,
"avgBackBendingSitting": 15.0,
"avgBackBendingStanding": 8.8,
"standingTime": null,
"walkingTime": null,
"averageGaitSpeed": 0.32,
"rightTime": 0,
"leftTime": 0,
"symmetryScore_sls": null,
"riskLevel_sls": "high",
"reps": 0,
"avgTimePerRep_sts": null,
"repTimeVariance_minRepTime": null,
"repTimeVariance_maxRepTime": null,
"repTimeVariance_minRepIndex": null,
"repTimeVariance_maxRepIndex": null,
"averageSittingTime": null,
"averageStandingTime": null,
"reach": 0,
"maxHeelLift": null,
"heelLiftCount": null,
"legLiftCount": null,
"testCompleted": true,
"endReason": null,
"riskLevel_frt": "high",
"maxShoulderShift_sbss": 0,
"maxHipShift_sbss": 0,
"feetMoved_sbss": false,
"timeInProperPosition_sbss": 12.5,
"riskLevel_sbss": "low",
"maxShoulderShift_stss": 0,
"maxHipShift_stss": 0,
"feetMoved_stss": false,
"timeInProperPosition_stss": 12.5,
"riskLevel_stss": "low",
"maxShoulderShift_fulltandem": 0,
"maxHipShift_fulltandem": 0,
"feetMoved_fulltandem": false,
"testFailed_fulltandem": false,
"terminationReason_fulltandem": null,
"timeInProperPosition_fulltandem": 12.5,
"riskLevel_fulltandem": "low",
"gameScore": 0,
"averageReactionTime": "0",
"maxIdleTime": "0",
"averageSpeed_balloonpop": 0,
"masteryTitle_balloonpop": "tiny_popper",
"levelReached": 0,
"totalDuration": "0",
"masteryTitle_colorchase": "little_color_finder",
"squatsPerformed": 0,
"averageSquatRate": "0.00",
"maxTimeBetweenSquats": "0.00",
"averageAlienDestroyTime": "0.00",
"masteryTitle_aliensquatshooter": "rookie_defender",
"healthBenefits": {
"heartDiseaseReduction": 0,
"diabetesReduction": 0,
"obesityReduction": 0,
"depressionReduction": 0
}
}

Notes

All fields are included in every payload regardless of assessment type. Fields not relevant to the current assessment will have default/null values.

Event Flow Examples

Complete Workout Flow

  1. kinestex_launched → Application starts
  2. workout_opened → User views workout details
  3. workout_started → Workout begins
  4. returned_camera_frame / left_camera_frame → Frame tracking
  5. Multiple exercise_completed → Each exercise finished
  6. workout_overview → Summary statistics
  7. exercise_overview → All exercises summary
  8. workout_completed → User exits statistics
  9. exit_kinestex → Application closed

Challenge Flow

  1. challenge_started → Challenge begins
  2. exercise_completed → Exercise finished
  3. challenge_completed → Challenge complete
  4. challenge_exit → Exit from challenge

To get demo access and your api key, please fill out a form on our website

Or, alternatively:

  • Send us an email to support@kinestex.com
  • In the email subject write: B2B Demo Access
  • In the email body include any supporting details (company / project name, site, programming language your project is written in, etc.)

Once you have contacted us, you may

Refer to packages based on your programming language:

FlutterReact NativeSwiftKotlinHTML & JS

For any questions, please contact: support@kinestex.com

Pinned Loading

  1. KinesteX-SDK-SwiftKinesteX-SDK-SwiftPublic

    Powerful motion analysis & tracking Swift SDK that easily integrates into your platform. Ready made Workouts, Plans, AI assessments, movement & exercise rep-count, movement calorie-burn rate, worko…

    Swift 6

  2. KinesteX-SDK-ReactNativeKinesteX-SDK-ReactNativePublic

    Powerful motion analysis & tracking React SDK that easily integrates into your platform. Ready made Workouts, Plans, AI assessments, movement & exercise rep-count, movement calorie-burn rate, worko…

    TypeScript 14

  3. KinesteX-SDK-FlutterKinesteX-SDK-FlutterPublic

    Powerful motion analysis & tracking Flutter SDK that easily integrates into your platform. Ready made Workouts, Plans, AI assessments, movement & exercise rep-count, movement calorie-burn rate, wor…

    Dart 4 1

  4. KinesteX-SDK-KotlinKinesteX-SDK-KotlinPublic

    Powerful motion analysis & tracking Kotlin SDK that easily integrates into your platform. Ready made Workouts, Plans, AI assessments, movement & exercise rep-count, movement calorie-burn rate, work…

    Kotlin 4

  5. KinesteX-SDK-HTML-JSKinesteX-SDK-HTML-JSPublic

    Integrate Personal AI Fitness Trainer in your app in minutes

    JavaScript

Repositories

Showing 10 of 12 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…