July 31, 2026

Buffering? More like browser beef

Simulating TCP loss and congestion in browser using Go/WASM

This browser demo turns internet traffic jams into must-see nerd theater

TLDR: A developer built a browser demo that shows, in real time, how online connections choke when too much data is pushed through at once. Commenters were impressed by the live visuals and called it amazing, while also immediately asking for side-by-side comparisons and a peek behind the tool choices.

A wildly nerdy browser experiment somehow turned into the internet’s latest tiny spectacle: one developer rebuilt a real traffic-jam simulator for online data and made it run live in your browser using Go, WebAssembly, and JavaScript. In plain English, it shows what happens when a sender blasts out more data than a connection can handle: things pile up, delays grow, and eventually the line is so clogged that much of the traffic becomes useless repeats. The demo also compares two different ways of controlling speed, and the result is exactly the kind of visual chaos that makes performance geeks lean in like it’s reality TV.

And the comments? Pure admiration with a side of feature requests. The loudest reaction was basically, “This is incredible, inject these graphs directly into my veins.” User wuschel led the applause, calling the live visualization amazing and praising the mashup of tools. But in classic comment-thread fashion, the praise immediately came bundled with “okay, but now give us side-by-side graph battles” and “please explain why these tools were chosen.” That’s the closest thing to drama here: not outrage, but the very specific, very online energy of people being impressed enough to demand a deluxe edition.

The vibe was less scandal, more smart-people fan club with notes. The unspoken joke is that the browser is now doing work that feels absurdly too serious for a tab next to cat videos. And that contrast — heavyweight internet science inside a webpage — is exactly why people seemed so delighted.

Key Points

  • The article describes a browser-based TCP simulation built with Go and WebAssembly using full gVisor sender and receiver netstacks.
  • The simulation compares stock Cubic with a from-scratch BBRv3 implementation and recreates figures from the BBR paper.
  • In a 150 Mbps offered load over a 100 Mbps bottleneck, the queue fills, tail drops occur, and output remains capped by link capacity.
  • The RTT visualization shows raw RTT varying with jitter and queueing while smoothed RTT stays nearly unchanged under sustained loss with many packets in flight.
  • The delivery graph demonstrates congestion collapse, with full link utilization but goodput falling to about one quarter of link rate due to duplicate retransmissions.

Hottest takes

"Quite incredible" — wuschel
"compare different graphs next to each other" — wuschel
"Amazing work!" — wuschel
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.