A little bit of a ShopTalk spoiler but at one point I mentioned regretting that I used polling instead of web sockets on a home-cooked chat app/site.
Well, over the weekend I integrated Pusher which is a web-sockets-as-a-service product. It worked great. Their free plan is more than enough for a home-cooked app.
Backstory: https://blakewatson.com/journal/building-our-own-private-discord-knockoff/