Design User Engagment platform.

Medium
Company: Premium
GoogleAmazon

Low-Level Design: User Engagement Scoring Engine

Problem Statement

You are tasked with designing a flexible and thread-safe User Engagement Scoring Engine. Modern analytics platforms need to track user actions (events) in real-time to assign an "Engagement Score" to every user. This score determines how active a user is.

The system must ingest various types of user interaction events (like viewing a page or clicking a button), calculate a score based on a pluggable logic strategy, and maintain a history of these scores. Crucially, if a user's calculated score indicates a drop in activity (low engagement), the system must trigger alerts via multiple channels (like Email or Slack).

The design must emphasize extensibility (to easily add new event types or calculation logic without breaking code) and concurrency (handling multiple event streams simultaneously).

Requirements

Interview Simulation

Experience a realistic interview conversation. The interviewer will ask clarifying questions,and you'll reveal your understanding of the requirements.

Interviewer

Let's start by understanding the scope. What are the core functionalities this system needs to provide?

💡 Interview Tip

Identify the Actors (Who uses the system?) and their Use Cases (What are they trying to achieve?). Start with the 'Happy Path' scenarios.

Press ⌘ + Enter to submit

Premium Content

View detailed solutions.

UNLOCK PREMIUM