Youll

Documentation Master Plan

Tracking the progress of documenting every module, architecture pattern, and integration point in the Youll platform.

Overview

This master plan tracks the documentation effort for the entire Youll platform. Each item below represents a documentation page or section that needs to be written. The plan is ordered by dependency: foundational topics first, then modules that build on them.

Use this page as the single source of truth for what has been documented and what remains.

Status Legend

SymbolMeaning
DonePage is written and reviewed
In ProgressCurrently being worked on
PlannedScoped and ready to write
BlockedWaiting on another page or decision

Phase 1: Foundation (Architecture)

These pages explain how the platform works at a structural level. They should be written first because every module page will reference them.

#PageStatusPriorityNotes
1.1Architecture OverviewDoneCriticalThree-layer model, dependency graph, how customer apps consume Bricks
1.2Dependency GraphDoneCriticalVisual module dependency map, which modules depend on which
1.3Bootstrap SequenceDoneCriticalAppDelegate and SceneDelegate setup flow, initialization order
1.4Design Token SystemDoneHighFigma export to runtime theming: ConfigParser, TypographyParser, UIConfigurator
1.5Coordinator PatternDoneHighNavigation architecture, parent/child coordinators, coordinator flows
1.6Module InterfacesDoneHighHow optional modules are defined in Core and injected at runtime
1.7Communication PatternsDoneMediumCombine publishers, delegates, NotificationCenter, singletons

Phase 2: Infrastructure (Technical Modules)

These are the foundational technical modules that all other modules depend on. Document them before the product modules.

#PageStatusPriorityNotes
2.1YoullNetworkDoneCriticalGraphQL (Apollo) + REST dual transport, API classes, data models, token management
2.2CoreDoneCritical~672 files. Foundation layer + screens for all core product modules (Home, Explore, Search, Library, Journeys, Events, Activity, Meals, Quiz, Favorites, Playlists). Also: coordinator protocol, settings, feature flags, UI infrastructure, theming, storage property wrappers, services
2.3ClientDoneCriticalOrchestration layer: Config singleton, AppCoordinator, MainCoordinator, tab coordinators (Home, Explore, Library, Journeys, Events, Activity, Meals, etc.), screen config factory, analytics, notifications, tab selection via makeTabItems()

Phase 3: Product Modules

Each product module gets documentation covering what it does, how to activate it, its configuration options, and integration points. Product modules that live in their own Swift packages (Timer, Biometrics, Community, Tuya) also document their technical module structure.

Content modules (screens live in Core, coordinators in Client):

#PageStatusPriorityNotes
3.1Home ScreenDoneHighThree home screen versions: Home v1 (UIKit/GraphQL), Showcase v2 (SwiftUI/GraphQL), Slices v3 (SwiftUI/REST). Home v1 fully documented; v2 and v3 at overview level
3.2ExploreDoneHighBrowse by categories, subcategories, facilitators, tagged content. Two modes: generic (tag-based grid) and custom (home-like feed)
3.3JourneysPlannedHighStructured multi-session programs, journey details, progress tracking, completion
3.4LibraryPlannedHighSaved content, favorites, user-created playlists, playlist management
3.5SearchPlannedMediumContent search with filters, advanced search, search pills
3.6EventsPlannedMediumLive and scheduled events, event details, agenda management
3.7ActivityPlannedMediumActivity history, workout tracking, session statistics
3.8MealsPlannedLowMeal plans and nutrition content
3.9QuizPlannedLowInteractive quizzes and assessments

Standalone product modules (own Swift packages, injected at runtime):

#PageStatusPriorityNotes
3.10PlayerPlannedHighAudio/video playback, mini player, workout player, map routes, Now Playing integration
3.11ProfilePlannedHigh~100 files. User profile, settings, subscriptions/paywall (including SuperPaywall), reminders, badges, Apple Health UI, sharing
3.12OnboardingPlannedHighAuth flows (email, Apple, Google, anonymous), onboarding screens (splash, slider, social proof, video), email verification
3.13TimerPlannedMediumMeditation/session timer, bell intervals, background sounds, Tuya IoT integration during sessions, live activities
3.14TimerSharedPlannedMediumShared types for Timer and widget extension, ActivityKit live activities, TimerLiveActivityManager
3.15BiometricsPlannedMediumHealthKit integration, HRV, resting heart rate, sleep, steps, calories, workout data, period-based averages
3.16CommunityPlannedMediumSocial features: channels, posts, replies, reactions, post creation with attachments, admin moderation, report management
3.17TuyaPlannedMediumIoT device integration: 5 device types, BLE/WiFi pairing, scheduling, settings, maintenance reminders
3.18CoreWidgetPlannedLowiOS home screen widgets: content recommendations, streak tracking, App Groups data sharing, image caching
3.19UITestsPlannedLowShared UI test infrastructure, BaseTests, per-section test classes, accessibility identifiers

Phase 4: Integration Guides

Practical guides for developers and agents working with the platform.

#PageStatusPriorityNotes
4.1Creating a New Customer AppPlannedHighStep-by-step guide: submodule setup, Keys, AppDelegate, SceneDelegate, screen configs
4.2Screen Config Factory GuidePlannedHighHow to implement ScreenConfigFactoryType and all ~20 sub-factory protocols
4.3Adding a New ModulePlannedMediumHow to create a new Bricks module with proper interface protocol and injection
4.4Design Token WorkflowPlannedMediumFigma export to JSON to runtime: end-to-end guide
4.5Analytics IntegrationPlannedMediumImplementing AnalyticsManagerType and the ~15 analytics protocol conformances
4.6Feature FlagsPlannedLowFlaggingManager, FlagProvider, Firebase Remote Config integration
4.7Push NotificationsPlannedLowNotificationManager, local notifications, remote notification handling

Product Module Catalog

Complete list of all product modules available to customers. Modules are activated via tab selection (makeTabItems()), feature flags, or runtime injection.

Product ModuleActivationTechnical HomeDescription
Home ScreenTab (.home / .showcase / .slices)Core + ClientPersonalized feed in three versions: Home v1 (UIKit/GraphQL), Showcase v2 (SwiftUI/GraphQL), Slices v3 (SwiftUI/REST)
ExploreTab (.explore)Core + ClientBrowse by categories, subcategories, facilitators
SearchSettings + TabCore + ClientContent search with filters
LibraryTab (.library) + FlagCore + ClientSaved content, favorites, playlists
JourneysTab (.journeys) + FlagCore + ClientMulti-session structured programs
EventsTab (.events) + FlagCore + ClientLive and scheduled events
ActivityTab (.activity) + FlagCore + ClientActivity history, workout tracking
MealsTab (.meals) + FlagCore + ClientMeal plans and nutrition
QuizFlagCore + ClientInteractive assessments
PlayerAlways activePlayer packageAudio/video playback
ProfileAlways activeProfile packageUser profile, settings, subscriptions
OnboardingAlways activeOnboarding packageAuth flows and onboarding screens
TimerRuntime injectionTimer packageSession timer with sounds and live activities
BiometricsRuntime injection + TabBiometrics packageHealthKit integration
CommunityRuntime injection + TabCommunity packageSocial features: channels, posts, moderation
TuyaRuntime injectionTuya packageIoT device control
WidgetsApp extensionCoreWidget packageHome screen widgets

Technical Module Inventory

The 13 Swift packages under Bricks/modules/ and their relationships.

Swift PackageFilesDependenciesUsed by Reference AppHas Module Interface
YoullNetwork~130None (leaf)YesNo
Core~672YoullNetworkYesDefines all interfaces
Client~65Core, Onboarding, Player, ProfileYesNo
Player~80Core, YoullNetworkYesNo
Profile~100Core, YoullNetworkYesNo
Onboarding~60Core, YoullNetworkYesNo
Timer~17Core, TimerSharedYesYes (TimerModuleInterface)
TimerShared5None (leaf)YesNo
Biometrics~24CoreYesYes (BiometricsModuleInterface)
Community~47Core, YoullNetworkNoYes (CommunityModuleInterface)
Tuya~60Core, YoullNetworkYesYes (TuyaModuleInterface)
CoreWidget~23Core, YoullNetworkNoNo
UITests~20None (leaf)IndirectlyNo

Dependency Graph

YoullNetwork (no deps)
    |
    v
   Core (YoullNetwork)
    |
    +---> Biometrics (Core)
    +---> Community (Core, YoullNetwork)
    +---> CoreWidget (Core, YoullNetwork)
    +---> Player (Core, YoullNetwork)
    +---> Profile (Core, YoullNetwork)
    +---> Onboarding (Core, YoullNetwork)
    +---> Timer (Core, TimerShared)
    +---> Tuya (Core, YoullNetwork)
    +---> Client (Core, Onboarding, Player, Profile)

TimerShared (no deps, standalone)
UITests (no deps, standalone)

How to Use This Plan

  1. Pick the next "Planned" item following the phase order (Phase 1 before Phase 2, etc.)
  2. Create a separate plan for that documentation page using the /workflows:plan command
  3. Write the documentation following the plan
  4. Update this page by changing the status from "Planned" to "Done"
  5. Move to the next item

Each documentation page should follow this structure:

  • Purpose: What the module does and why it exists
  • Public API: Key types, protocols, and classes developers interact with
  • Configuration: How to set up and configure the module
  • Integration: How the module connects with other modules
  • Usage Examples: Code snippets showing common usage patterns
  • For Agents: Guidance for AI agents working with the module

On this page