I’ve been experimenting with something I’m calling Differential Sync Protocol (DSP).
It’s an HTTP/2 layer (written in Rust) that reduces payload sizes by sending binary diffs instead of full resource bodies. The server tracks resource versions per client session, computes minimal deltas, and only transmits what’s changed. If that’s not possible, it falls back to a normal full response.
In practice, this cuts bandwidth dramatically (often ~90%) for high-frequency polling APIs — things like dashboards, log streams, chat threads, IoT feeds. Not as useful for tiny or highly volatile resources.
Under the hood it’s built in Rust using similar for diffing, with a compact binary wire format, session management (TTL, memory limits, cleanup), and comes with a demo client + server.
I’ve been experimenting with something I’m calling Differential Sync Protocol (DSP).
It’s an HTTP/2 layer (written in Rust) that reduces payload sizes by sending binary diffs instead of full resource bodies. The server tracks resource versions per client session, computes minimal deltas, and only transmits what’s changed. If that’s not possible, it falls back to a normal full response.
In practice, this cuts bandwidth dramatically (often ~90%) for high-frequency polling APIs — things like dashboards, log streams, chat threads, IoT feeds. Not as useful for tiny or highly volatile resources.
Under the hood it’s built in Rust using similar for diffing, with a compact binary wire format, session management (TTL, memory limits, cleanup), and comes with a demo client + server.