All problems
Foundational·📋 Productivity·Atlassian · Microsoft · Google +1

Design
Task Management System

Design a task management system (like Trello or JIRA) where users create projects, add tasks with priorities and due dates, assign them to team members, track status, and receive notifications on updates.

This is a Low-Level Design (LLD) problem. New to LLD vs HLD? Start here.

#OOP#Observer Pattern#Collaboration
8F + 3NF requirements inside

01 -  Why interviewers ask this

Task Management tests breadth of OOP: you must model a domain with multiple interacting entities, enforce business rules like valid status transitions, handle many-to-many relationships (tasks ↔ assignees), and apply patterns like Observer for real-time updates — all in a system interviewers can relate to.

02 -  Where this system exists in the real world

You interact with this design every day.

Powers project management tools like Jira, Trello, Asana, and Linear

Underlies agile sprint boards and kanban workflow systems

Foundation for issue trackers in open-source projects (GitHub Issues)

Core of enterprise work management platforms used by millions of teams

03 -  What you'll master

Solve this once. Know it forever.

01

Model status as an enum and enforce valid transitions

02

Apply the Observer pattern to decouple notification logic from business logic

03

Design composable, chainable filter predicates for query flexibility

04

Handle role-based access control within a collaborative domain model

04 -  What you'll design

8 functional · 3 non-functional requirements.

Create and manage projects with members and roles

7 more requirements inside

Sign in to unlock the full brief and start designing

05 -  Companies that ask this

You may face this exact question in your next interview.

A
Atlassian
M
Microsoft
G
Google
N
Notion

Ready?

Open the canvas.
Design it yourself.

See all requirements, use staged hints, run your code, and compare with community discussions - all on the same canvas.