# Complete UX Customization

Customize the Complete UX (Main View) home page experience.

| Parameter | Type | Description | Effect |
|-----------|------|-------------|--------|
| challenges_home | array | Custom challenges/games for home screen | Defines the two challenge/game options shown on the Complete UX home page |

**challenges_home Configuration:**

The `challenges_home` parameter allows you to customize the challenges and games displayed on the home screen of the Complete UX experience. You must pass exactly **2 objects** in the array.

**Array Object Structure:**
| Property | Type | Required | Description |
|----------|------|----------|-------------|
| id | string | Yes | Exercise ID for challenges, or game ID for games |
| name | string | Yes | Display name shown in the UI |
| isGame | boolean | Yes | Set to `true` for games, `false` for challenges |

**Available Games:**
- `balloonpop` - Balloon Pop game
- `aliensquatshooter` - Alien Squat Shooter game
- `colorchase` - Color Chase game

**Combination Options:**
- Two challenges (both with `isGame: false`)
- Two games (both with `isGame: true`)
- One challenge + one game (mixed `isGame` values)

**Note:** You can pass any exercise ID as a challenge. When specifying a game, ensure `isGame` is set to `true`.

**Complete UX Home Page Customization**

_Swift (iOS)_
```swift
// Customize challenges on Complete UX home page
let exerciseId = "your-exercise-id" // Get from Content API
let exerciseName = "Your Exercise Name"

kinestex.createMainView(
    customParams: [
        "challenges_home": [
            ["id": exerciseId, "name": exerciseName, "isGame": false],
            ["id": "balloonpop", "name": "Balloon Pop", "isGame": true]
        ]
    ]
)
```

_Kotlin (Android)_
```kotlin
// Customize challenges on Complete UX home page
val exerciseId = "your-exercise-id" // Get from Content API
val exerciseName = "Your Exercise Name"

KinesteXSDK.createMainView(
    customParams = mapOf(
        "challenges_home" to listOf(
            mapOf("id" to exerciseId, "name" to exerciseName, "isGame" to false),
            mapOf("id" to "balloonpop", "name" to "Balloon Pop", "isGame" to true)
        )
    )
)
```

_React Native_
```jsx
// Customize challenges on Complete UX home page
const exerciseId = 'your-exercise-id'; // Get from Content API
const exerciseName = 'Your Exercise Name';

const postData: IPostData = {
  key: 'YOUR_API_KEY',
  userId: 'user-123',
  company: 'YOUR_COMPANY',
  customParameters: {
    challenges_home: [
      { id: exerciseId, name: exerciseName, isGame: false },
      { id: 'balloonpop', name: 'Balloon Pop', isGame: true },
    ],
  },
};
```

_Flutter_
```dart
// Customize challenges on Complete UX home page
final exerciseId = "your-exercise-id"; // Get from Content API
final exerciseName = "Your Exercise Name";

KinesteXAIFramework.createMainView(
  customParams: {
    "challenges_home": [
      {"id": exerciseId, "name": exerciseName, "isGame": false},
      {"id": "balloonpop", "name": "Balloon Pop", "isGame": true},
    ],
  },
);
```

_HTML / JavaScript_
```html
// Customize challenges on Complete UX home page
const exerciseId = "your-exercise-id"; // Get from Content API
const exerciseName = "Your Exercise Name";

const postData = {
  userId: "user-123",
  company: "YOUR_COMPANY",
  key: "YOUR_API_KEY",
  challenges_home: [
    { id: exerciseId, name: exerciseName, isGame: false },
    { id: "balloonpop", name: "Balloon Pop", isGame: true },
  ],
};
```

_React (TypeScript)_
```tsx
// Customize challenges on Complete UX home page
const exerciseId = 'your-exercise-id'; // Get from Content API
const exerciseName = 'Your Exercise Name';

const postData: IPostData = {
  key: 'YOUR_API_KEY',
  userId: 'user-123',
  company: 'YOUR_COMPANY',
  customParameters: {
    challenges_home: [
      { id: exerciseId, name: exerciseName, isGame: false },
      { id: 'balloonpop', name: 'Balloon Pop', isGame: true },
    ],
  },
};
```

---
Source: https://kinestex.com/docs/customization-parameters/complete-ux-customization · Index: https://kinestex.com/llms.txt
