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.
- Studio Overview -- How the editor works
- AI Generation -- Generating screens with chat
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.
- Projects and Versioning -- How versions are created and managed
- Publishing -- The publish workflow in the Studio
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.
- Campaigns Overview -- How campaigns work
- Triggers and Goals -- Configuring when campaigns fire
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.
- Experiments -- Running and analyzing A/B tests
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.
- Segments Overview -- How segmentation works
- Segment Builder -- Creating segment rules in the dashboard
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.
- Products and Prices -- Defining what you sell
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).
- Features and Entitlements -- How entitlements connect products to 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).
let access = try await NuxieSDK.shared.hasFeature("premium_content")
if access.isAllowed {
// Show premium content
}- Features and Entitlements -- Defining features in the dashboard
- Features and Entitlements (SDK) -- Checking access from your app
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.
- Data and Bindings -- Creating view models and binding data to screens
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.
NuxieSDK.shared.trigger("onboarding_completed", properties: [
"steps_viewed": 5
])- Events and Taxonomy -- Event naming and properties
- Tracking Events (SDK) -- Sending events from your app
How they connect
Here is how the 10 concepts flow together in a typical paywall scenario:
- You create a project in the Studio and design a paywall screen
- You define a view model to bind product names and prices to the screen
- You publish, which creates a version (versioned bundle) inside a campaign
- You configure the campaign to trigger on a
paywall_requestedevent - You optionally attach an experiment to test two paywall variants
- You add a segment to target only free-tier users
- The SDK evaluates the trigger, segment, and experiment on-device, then presents the version
- The paywall displays products with real prices pulled from view model data
- When the user purchases, the entitlement grants access to a feature
- Your app checks the feature and unlocks the content
Next steps
- Quickstart -- Build and ship your first paywall in 10 minutes
- Studio Overview -- Explore the visual editor
- iOS SDK Overview -- Integrate Nuxie into your app