TweakCode
Design Method lessons

Requirements · Design drill

Scope a chat app

Design messaging for two people. Messages should arrive while both are online and still be there tomorrow.

Produce these

Write them in order. A diagram that is not forced by a requirement does not count.

  1. 01

    Functional requirements for send, receive, and history.

  2. 02

    A delivery rule: what the sender is promised if the recipient is offline.

  3. 03

    A retention rule with a duration.

  4. 04

    The feature you refuse in the first design, and the box it would have added.

Pressure

Group chats of 500 people are now in scope.

Leave out

Voice calls, encryption design, and contact discovery.

Finished this drill?

Mark it complete after you have written the artifacts above.