I built a platform in the past with an in-house chat of my own implementation (django channels), unfortunately the platform didn't take off, so I never encountered any scaling issues.
What I found out though is that concurrent websocket connections scale differently from a regular http server and there are a lot of traps one could fall in a chat application. So I did a little digging and found out there are a lot of saas which handle chatting but the caveat is they are too expensive, like $250/month for startups.
So my question is, when you start a startup do you create your own implementation in-house or do you use a service like sendbird, stream etc.?
Thanks for reading!