I'm really excited about using Matrix for more than instant messaging. This November I spent a week reading all the specs (which were really well documented!) and some spec proposals that I think are really important for non-IM clients (room types, event relations (replies), portable identities). I was able to get a simple web client up and running in ~300 lines of clojurescript.
Cerulean is looking great! Does it support e2e threads? I'm about to take a stab at implementing e2e in my application and I'm curious how much overhead it is.