I worked for a while at a company in this space. The chat part really is as easy as it looks. Any competent programmer absolutely could implement it in a couple of weekends. Hell, we used the hardest parts as interview questions.

Now making it into an actually viable business is very hard (I'm not sure we ever managed it), but the hard parts aren't the technical side of implementing a chat app.