I’ve published flick, a small library that replaces JSON with Erlang’s native binary format (ETF) for Phoenix WebSocket connections.
Why ETF? You call :erlang.term_to_binary/1 on any map, list, or atom and send it directly — no custom serialization, no string parsing overhead.
What’s included:
-
Raw
WebSockmode - push{:binary, etf_bytes}frames directly, minimal overhead -
Phoenix Channels mode -
Flick.Socket.Serializerswaps the JSON serializer for ETF, keeping full Channels semantics -
A zero-dependency browser client (
flick.js) that decodes ETF frames viawindow.Flick.decode(event.data) -
mix flick.install- generates all boilerplate (WebSock module, controller, router route, JS hook) and vendors the pre-built JS asset
{:flick, "~> 0.1"}
mix deps.get && mix flick.install
GitHub:
Hex.pm:






















