Architecture: Personalization
This section describes the architectural setup for feature flags and personalized content.
High-Level Architecture
The Personalization module provides a way to toggle features and customize the user experience based on specific attributes or experiments, often using an external platform like GrowthBook.
Connection with Other Areas
- Context-Aware: The
PersonalizationClientcan use attributes from the@archibald/authpackage (like user ID or segment) to request the correct feature flags. - Isomorphic Delivery: Feature flags are fetched on both the server (for initial SSR state) and the client (for dynamic updates), ensuring a consistent experience without layout shifts.
- Experimentation: It connects with
@archibald/analyticsto track which users are exposed to which features, enabling A/B testing and performance analysis.