Skip to main content

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 PersonalizationClient can use attributes from the @archibald/auth package (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/analytics to track which users are exposed to which features, enabling A/B testing and performance analysis.