Sobes.tech
Middle+

Design a messenger: study functional requirements, formulate non-functional requirements, choose a tech stack, describe frontend architecture and component scheme, interaction with backend, API, and data models, then system design.