Get Started

Concepts

Core concepts and features at a glance

Concepts

Nuxie has 10 core building blocks. Understanding how they connect will help you navigate the platform and the rest of these docs.

Project (Editable)

A project is your design workspace in the Studio. It contains one or more screens arranged on an infinite canvas, plus view models, interactions, and design system settings. You edit projects in the browser using the visual editor or AI chat.

Projects are where you create. When you are ready to ship, you publish a project to create a new version.

Version

A version is a versioned, compiled snapshot of a project. When you publish, Nuxie takes your screens, data bindings, and interactions, bundles them into an optimized package, and delivers it from the edge.

Versions are immutable. Each publish creates a new version. Your campaign always points to a specific version, so you can roll back or compare across publishes.

Campaign

A campaign is the delivery container that connects a version to your users. It controls which version is active, when it fires (triggers), what conditions must be met (goals), and whether it is live or paused.

Think of a campaign as the "when and who" layer. A version defines what users see; a campaign defines when they see it.

Experiment

An experiment is an A/B test attached to a campaign. Define two or more variants with traffic allocation percentages, and Nuxie randomly assigns users to variants. Each variant shows a different screen or layout from the same project.

Experiments track conversion metrics so you can measure which variant performs best. You can start, pause, and conclude experiments from the campaign dashboard.

Segment

A segment is a named set of rules that groups users based on properties, behavior, or other segment membership. For example: "users on the free plan who opened the app 3+ times this week."

Segments are evaluated on-device using rules synced from the server. You can use segments to target campaigns at specific audiences or to filter analytics.

Product

A product is a purchasable item -- a subscription plan, a one-time purchase, or a consumable. You define products in the Nuxie dashboard and connect them to your App Store catalog.

Products have one or more prices (monthly, yearly, introductory) and grant entitlements when purchased. The SDK maps product placements in your paywall screens to real purchase actions.

Entitlement

An entitlement is a grant from a product to a feature. When a user buys a product, they receive the entitlements defined on that product -- for example, "Premium subscription grants access to the unlimited_exports feature with no usage limit."

Entitlements can be boolean (on/off), metered (a usage allowance that resets on an interval), or credit-based (a shared balance consumed across features).

Feature

A feature is a named capability you expose to your app through the SDK. Features are the unit of access control. Your app code checks "does this user have access to feature X?" and Nuxie answers based on the user's purchased products and entitlements.

Features come in three types: boolean (allowed or not), metered (has a balance), and credit system (a shared pool that multiple metered features can draw from).

swift
let access = try await NuxieSDK.shared.hasFeature("premium_content")
if access.isAllowed {
    // Show premium content
}

View Model

A view model is a typed data schema that defines the dynamic values a screen can display -- product names, prices, user attributes, toggle states, and more. View models are created at the project level and bound to component properties in the editor.

At runtime, the SDK populates view model instances with real data (actual product prices, user properties, localized strings) and the screen renders accordingly. This separation keeps your designs reusable across different products and locales.

Event

An event is a named action tracked by the SDK. Events drive three systems: campaign triggers (fire a campaign when an event occurs), segment evaluation (include users who performed an event N times), and analytics (measure what users do).

Nuxie tracks system events automatically (app opened, flow shown, purchase completed) and lets you track custom events from your app code.

swift
NuxieSDK.shared.trigger("onboarding_completed", properties: [
    "steps_viewed": 5
])

How they connect

Here is how the 10 concepts flow together in a typical paywall scenario:

  1. You create a project in the Studio and design a paywall screen
  2. You define a view model to bind product names and prices to the screen
  3. You publish, which creates a version (versioned bundle) inside a campaign
  4. You configure the campaign to trigger on a paywall_requested event
  5. You optionally attach an experiment to test two paywall variants
  6. You add a segment to target only free-tier users
  7. The SDK evaluates the trigger, segment, and experiment on-device, then presents the version
  8. The paywall displays products with real prices pulled from view model data
  9. When the user purchases, the entitlement grants access to a feature
  10. Your app checks the feature and unlocks the content

Next steps