As an aside, have you looked at Zulip?