static site + websocket api