# User Profile

Parameters that define user characteristics for personalized content and recommendations.

| Parameter | Type | Description | Effect |
|-----------|------|-------------|--------|
| age | number | User's age in years | Affects workout intensity recommendations and exercise selection |
| gender | string | User's gender (male, female, other) | Affects BMI calculations and content personalization |
| height | number | User's height (in cm or inches based on locale) | Used for BMI calculation and exercise calibration |
| weight | number | User's weight (in kg or lbs based on locale) | Used for BMI calculation and calorie estimations |
| fitness_level | string | User's fitness level | Determines workout difficulty and progression |
| lifestyle | string | User's lifestyle type (e.g., sedentary, active) | Affects personalized plan recommendations |
| body_parts | string[] | Target body parts for workouts | Filters and prioritizes exercises targeting specific areas |
| plan_type | string | Type of workout plan | Determines the structure and focus of generated plans |

**SDK Support:** Most platforms have direct support via UserDetails object or postData fields.

**User Profile Configuration**

_Swift (iOS)_
```swift
// Direct SDK support via UserDetails
let user = UserDetails(
    age: 30,
    height: 180,
    weight: 75,
    gender: .Male,
    lifestyle: .Active
)

kinestex.createView(
    user: user,
    // ... other params
)
```

_Kotlin (Android)_
```kotlin
// Direct SDK support via UserDetails
val userDetails = UserDetails(
    age = 30,
    height = 180,
    weight = 75,
    gender = Gender.MALE,
    lifestyle = Lifestyle.ACTIVE
)

KinesteXSDK.createView(
    user = userDetails,
    // ... other params
)
```

_React Native_
```jsx
// Direct support in postData
const postData: IPostData = {
  key: 'YOUR_API_KEY',
  userId: 'user-123',
  company: 'YOUR_COMPANY',
  // User profile - direct support
  age: 30,
  height: 180, // cm
  weight: 75, // kg
  gender: 'Male',
  lifestyle: Lifestyle.Active,
};
```

_Flutter_
```dart
// Direct SDK support via UserDetails
final userDetails = UserDetails(
  age: 30,
  height: 180,
  weight: 75,
  gender: Gender.male,
  lifestyle: Lifestyle.active,
);

KinesteXAIFramework.createView(
  user: userDetails,
  // ... other params
);
```

_HTML / JavaScript_
```html
// Direct in postData object
const postData = {
  userId: "user-123",
  company: "YOUR_COMPANY",
  key: "YOUR_API_KEY",
  // User profile
  age: 30,
  height: 180,
  weight: 75,
  gender: "Male",
  lifestyle: "active",
};
```

_React (TypeScript)_
```tsx
// Direct support in postData
const postData: IPostData = {
  key: 'YOUR_API_KEY',
  userId: 'user-123',
  company: 'YOUR_COMPANY',
  // User profile - direct support
  age: 30,
  height: 180, // cm
  weight: 75, // kg
  gender: 'Male',
  lifestyle: Lifestyle.Active,
};
```

---
Source: https://kinestex.com/docs/customization-parameters/user-profile · Index: https://kinestex.com/llms.txt
