Auto play blocking in browsers could become an issue in future though - gifs will work, while videos will popup a permission dialog (I know muted video will work fine _now_, but who’s to say that will last? There are certainly good reasons to block even muted auto playing video)
A little project I made to make communication over websockets as easy as calling an async local function, using Proxies to "proxy" function calls to a node server.