June 11th, 2025

Admin dashboard

Admin Dashboard 1.0.0

πŸš€ Enhanced Translation System

Improved Performance & Reliability

  • Faster translations: Migrated from GPT-based translation to Google Translate API

  • Higher accuracy: Eliminates inconsistent formatting and unreliable results

  • Better reliability: More consistent translation quality across all languages


🎀 Voice Control System

New Voice Actor Options We've added customizable voice actors to enhance user experience:

  • Glinda (Default female voice)

  • Sarah (Voice ID: Nhs7eitvQWFTQBsf0yiT)

  • Jessica (Voice ID: cgSgspJ2msm6clMCkdW9)

SDK Integration To use a custom voice actor, specify the voiceActor parameter in customParams when initializing:

kinestexKit.createWorkoutView(
    ..., 
    customParams: ["voiceActor": "cgSgspJ2msm6clMCkdW9"]
)

⚠️ Important Notes:

  • Generate feedback audio for ALL exercises using your chosen voice actor

  • Users may experience missing voice guidance if audio isn't available for the selected voice actor

  • Default voice (Glinda) doesn't require specifying voiceActor parameter

  • Ensure audio generation uses the correct voice model in the admin dashboard


⏱️ Independent Rest Audio Management

Enhanced Workout Sequence Control

  • New Feature: Add custom rest audio directly in the workout sequence

  • Improved Flexibility: Rest audio is now independent from individual exercises

  • Multi-language Support: Specify custom audio for all available languages

API Changes The workout fetching API now includes rest audio from the sequence when specified.

Example Workout Structure:

{
  "workout_sequence": [
    {
      "Rest": {
        "rest_speech": "Relax for 15 seconds, next up is Squats!",
        "countdown": 15
      }
    },
    {
      "Squats": {
        "rest_speech": "For Squats please sit down, ensure your knee angle is at 90 degrees"
      }
    },
    {
      "Rest": {
        "countdown": 15
      }
    },
    {
      "Jumping Jack": {
        "rest_speech": "Jump high and spread your legs while jumping"
      }
    }
  ]
}

Logic Explanation:

  • Squats exercise: Will use custom rest speech "Relax for 15 seconds, next up is Squats!" from the preceding Rest object

  • Jumping Jack exercise: Will use its own rest speech "Jump high and spread your legs while jumping" since the preceding Rest object doesn't override it

Migration Impact:

  • No code changes required if you were previously using this functionality

  • Same logic applies for fetching and playing rest audio in camera components