Design Slack
HardSystem design · Collaboration
Design Slack. Users belong to workspaces (up to 100K+ members), post messages and threaded replies in channels and DMs, search history across years, and get unread badges and push notifications. Focus on what differs from a 1:1 chat app: per-channel unread state, workspace multi-tenancy and permissions, permission-aware search, and retention/export. Out of scope: calls/huddles, file storage internals, bots/app platform.
Requirements
- Support channels, direct messages, workspace membership, and permissions
- Index messages for search while preserving access control
- Deliver messages in real time and notify offline users
- Discuss multi-tenancy, retention, exports, and compliance boundaries