> ## Documentation Index
> Fetch the complete documentation index at: https://docs.featkit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

> Add FeatKit to your iOS app in 5 minutes

# Quick Start

Add a feature request portal to your iOS app in 5 minutes. Your users can submit ideas, vote, and see your roadmap — all with a single line of code.

## Step 1: Add the SDK

Add FeatKit to your project using Swift Package Manager.

**In Xcode:**

1. Go to **File → Add Package Dependencies**
2. Enter the repository URL: `https://github.com/featkit/featkit-ios`
3. Select **Up to Next Major Version** from `1.0.0`
4. Click **Add Package**

## Step 2: Get your credentials

1. Sign up at [featkit.com](https://app.featkit.com)
2. Create a project (usually one per app)
3. Go to **Project Settings → API Keys**
4. Copy your **Project ID** and **API Key**

## Step 3: Configure the SDK

Initialize FeatKit when your app launches:

```swift theme={null}
import FeatKit

// In AppDelegate
func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FeatKit.configure(projectId: "YOUR_PROJECT_ID", apiKey: "YOUR_API_KEY")
    return true
}

// Or in SwiftUI App
@main
struct MyApp: App {
    init() {
        FeatKit.configure(projectId: "YOUR_PROJECT_ID", apiKey: "YOUR_API_KEY")
    }

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
```

## Step 4: Identify users

After a user logs in, identify them so their feedback is associated with their account:

```swift theme={null}
// After user login
await FeatKit.identify(
    userId: user.id,
    email: user.email,
    name: user.displayName
)
```

<Tip>
  For apps without user accounts, use `FeatKit.identifyAnonymous()` instead. The SDK generates a stable device identifier.
</Tip>

## Step 5: Open the portal

Open the feedback portal from anywhere in your app:

```swift theme={null}
// That's it — one line!
try await FeatKit.openPortal()
```

The SDK handles authentication automatically. Users see the portal in a native Safari view and can submit feature requests, vote on ideas, and view your roadmap.

***

## Full example

```swift theme={null}
import SwiftUI
import FeatKit

struct SettingsView: View {
    var body: some View {
        List {
            Button("Feature Requests") {
                Task {
                    try await FeatKit.openPortal()
                }
            }
        }
    }
}
```

***

## What's included

The SDK provides much more than just opening the portal:

| Feature        | Method                                      |
| -------------- | ------------------------------------------- |
| Open portal    | `FeatKit.openPortal()`                      |
| Get portal URL | `FeatKit.getPortalURL()`                    |
| List features  | `FeatKit.getFeatures()`                     |
| Submit feature | `FeatKit.submitFeature(title:description:)` |
| Vote           | `FeatKit.vote(featureId:)`                  |
| Events         | `FeatKit.onEvent { }`                       |

## Next steps

<CardGroup cols={2}>
  <Card title="Customize your portal" icon="palette" href="/customization">
    Match your app's look and feel
  </Card>

  <Card title="Build custom UI" icon="code" href="/sdk-reference">
    Use the SDK API for native experiences
  </Card>
</CardGroup>
