Rumors say Facebook likes to ask candidates how they would design messenger. That’s probably why there are so many materials online for this topic. Utilitarian reasons aside, I think it’s indeed a good system design question to practice. After all, there is no shortcut to system design ability; only practice makes perfect. Facebook messenger has a rich feature set. I can’t cover all of them in one post, so I am going to willfully pick the areas I see as the core of messenger and dive into those.