Medium
Atlassian
Design a Cross-Product Tagging System System Design Interview
Design a shared tagging service that lets users apply tags to entities across multiple Atlassian products, with consistent search and deduplication.
1. Problem Statement
Design a tagging system that lets users attach tags to different types of entities (such as issues, documents, or repositories) across multiple products. The system should support searching by tag and keeping tags consistent. Where would you start?
2. Architecture Discussion Map
Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.
Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
A["Design a Cross-Product Tagging System"]
A --> F1["Tag entity model canonical tags, aliases, namespacing"]
A --> F2["Tagging API across multiple entity types issues, pages, repos"]
A --> F3["Tag normalization and deduplication"]
A --> F4["Search by tag full-text, prefix, faceted"]
A --> F5["Eventual consistency when entities are deleted or merged"]
A --> F6["Scale - tag fan-out and reverse index"]3. Key Focus Areas
- 1Tag entity model (canonical tags, aliases, namespacing)
- 2Tagging API across multiple entity types (issues, pages, repos)
- 3Tag normalization and deduplication
- 4Search by tag (full-text, prefix, faceted)
- 5Eventual consistency when entities are deleted or merged
- 6Scale: tag fan-out and reverse index
Want interactive feedback?
Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.
Start InterviewCore Concepts
System DesignSearch and IndexingCross-Product PlatformData Modeling
