PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Asana

Design a Collaborative Todo List

Last updated: May 23, 2026

Quick Overview

This question evaluates expertise in designing collaborative, real-time services and the associated competencies in distributed systems, concurrency control, real-time synchronization, authentication and authorization, offline handling, notification systems, scalability, reliability, observability, and consistency trade-offs.

  • medium
  • Asana
  • System Design
  • Software Engineer

Design a Collaborative Todo List

Company: Asana

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a collaborative todo-list service. The service should allow users to create shared lists, add and edit todo items, assign owners, set due dates, reorder items, mark items complete, and see other collaborators updates in near real time. Clarify and design for: - Multiple users editing the same list concurrently. - Authentication and per-list permissions. - Real-time synchronization across web and mobile clients. - Offline or intermittent connectivity support if time permits. - Notifications for assignment, comments, due dates, or completed tasks. - Reliability, observability, and data consistency trade-offs. Assume a consumer or team-product scale, such as millions of users and tens of thousands of concurrent collaborators.

Quick Answer: This question evaluates expertise in designing collaborative, real-time services and the associated competencies in distributed systems, concurrency control, real-time synchronization, authentication and authorization, offline handling, notification systems, scalability, reliability, observability, and consistency trade-offs.

Related Interview Questions

  • Design a Twitter-like microblogging service - Asana (medium)
  • Design a Twitter-like service - Asana (medium)
Asana logo
Asana
Apr 2, 2026, 12:00 AM
Software Engineer
Onsite
System Design
7
0

Design a collaborative todo-list service.

The service should allow users to create shared lists, add and edit todo items, assign owners, set due dates, reorder items, mark items complete, and see other collaborators updates in near real time.

Clarify and design for:

  • Multiple users editing the same list concurrently.
  • Authentication and per-list permissions.
  • Real-time synchronization across web and mobile clients.
  • Offline or intermittent connectivity support if time permits.
  • Notifications for assignment, comments, due dates, or completed tasks.
  • Reliability, observability, and data consistency trade-offs.

Assume a consumer or team-product scale, such as millions of users and tens of thousands of concurrent collaborators.

Solution

Show

Submit Your Answer

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Asana•More Software Engineer•Asana Software Engineer•Asana System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.