System Design Prompt: Internal Employee Interest Matching Platform
Context
Design an internal-only platform that connects employees with similar interests to foster collaboration, mentorship, and community. Assume a typical enterprise environment with SSO, an HR directory, and tens of thousands of employees. The system should provide near real-time updates when interests change.
Requirements
-
Features
-
Profile creation and editing
-
Interest tagging (free text with normalization and a suggested taxonomy)
-
Discovery and search (by tags, location, team, etc.)
-
Matching/recommendations (who should I connect with?)
-
Messaging (1:1 and small group)
-
Data model and storage choices
-
APIs (profile, interests, discovery, recommendations, messaging)
-
Matching and ranking approach (signals, algorithm)
-
Privacy and access controls (internal-only visibility, role/attribute-based)
-
Cold start strategy
-
High-level architecture (services, databases/search indices, cache, event/queue)
-
Scaling plan to tens of thousands of employees with near real-time updates
-
Monitoring/metrics and abuse prevention