Youll

About Youll

A platform to rapidly develop iOS and Android apps for content-on-demand subscription-based businesses.

What is Youll?

Youll is a platform to rapidly develop iOS and Android apps for content-on-demand subscription-based businesses. Created by the former Headspace team, the same people who built the Headspace iOS and Android apps, Youll enables anyone to create a Headspace-like experience for their communities.

Whether it's meditation, fitness, education, or any other content-driven domain, Youll provides the foundation to launch a fully-featured mobile app without building from scratch.

Architecture

Youll is the platform. Bricks is the shared core of Youll, the reusable codebase that every customer app consumes as a git submodule. This gives each app access to a battle-tested set of modules while keeping customer-specific code separate.

Modules

Youll offers a catalog of product modules that customers choose from when building their app:

ModuleCategoryDescription
Home ScreenContentPersonalized home feed with three implementations: Home (v1, UIKit/GraphQL, deprecated), Showcase (v2, SwiftUI/GraphQL), and Slices (v3, SwiftUI/REST)
ExploreContentBrowse content by categories, subcategories, and facilitators
SearchContentFind content with filters and advanced search
LibraryContentSaved content, favorites, and user-created playlists
JourneysContentStructured multi-session programs with progress tracking
EventsContentLive and scheduled events with agenda management
ActivityContentActivity history, workout tracking, and session stats
MealsContentMeal plans and nutrition content
PlayerPlaybackAudio/video playback with mini player, workout player, and Now Playing
TimerWellnessMeditation/session timer with bell intervals and background sounds
BiometricsWellnessHealthKit integration for HRV, heart rate, sleep, steps, and calories
CommunitySocialChannels, posts, replies, reactions, and moderation
TuyaHardwareIoT device control: 5 device types, BLE/WiFi pairing, scheduling
OnboardingCoreAuth flows (email, Apple, Google, anonymous) and onboarding screens
ProfileCoreUser profile, settings, subscriptions, reminders, and badges
WidgetsExtensioniOS home screen widgets for content recommendations and streaks

Each customer app activates only the modules it needs. A meditation app might use Home, Explore, Library, Player, and Timer. A hardware wellness app might use Home, Biometrics, Tuya, and Timer.

Technical Structure

Under the hood, Bricks organizes these product modules into 13 Swift packages under Bricks/modules/. Most content modules (Home, Explore, Search, Library, Journeys, Events, Activity, Meals) share enough infrastructure that they live inside the Core and Client packages. Modules that are fully independent (Timer, Biometrics, Community, Tuya) have their own packages and are injected at runtime.

For the full technical architecture, see the Architecture Overview.

How Modules Are Activated

Customers control which modules appear in their app through two mechanisms:

Tab selection. The customer app declares which tabs to show by implementing makeTabItems():

// A content-focused meditation app
func makeTabItems() -> [TabItem] {
    [.home, .explore, .library, .journeys, .profile]
}

// A hardware wellness app (using Showcase v2)
func makeTabItems() -> [TabItem] {
    [.showcase, .biometrics, .profile]
}

// An app using the newest home screen (Slices v3)
func makeTabItems() -> [TabItem] {
    [.slices, .explore, .library, .profile]
}

Runtime module injection. Modules with their own Swift packages (Timer, Biometrics, Community, Tuya) are instantiated in SceneDelegate and injected into AppCoordinator. Modules the customer doesn't need are simply omitted.

Feature flags via Firebase Remote Config provide additional granular control within active modules.

For the full technical details on configuration injection, design tokens, coordinator wiring, and module interfaces, see the Architecture Overview.

What's Next

On this page