Ontwerp een messenger: bestudeer functionele vereisten, formuleer niet-functionele vereisten, kies een technische stack, beschrijf de frontend-architectuur en componentenschema, interactie met backend, API en datamodellen, en ontwerp vervolgens het systeem.