A few interesting things:
* It's a Django application; if you want to understand how a Django web app does realtime stuff, check out the Zulip architectural overview and "life of a request" narrative.
* There's a mature code base, with a lot of test coverage, which is easier for a new programmer to get started with, and the developer setup docs are clear and well-tested.
* Zulip uses mypy for optional static type checking, which is an interesting way of balancing the flexibility of Python's duck typing with the error-checking of static typing.
* There's a live instance right now where you're welcome to come, lurk, ask questions, give your opinions on the product roadmap for 2016, and get help troubleshooting. If you want to make sure you're there sometime when other users and developers are there, come to the upcoming "office hour" on Monday, August 1, 1700-1800 UTC.
* Unlike Slack, Zulip lets you have individual threads ("topics") within channels ("streams"), and you can mute those threads to reduce notification noise.
Check it out!