HTML over WebSockets: real-time SPAs with barely any JavaScript

This ‘less JavaScript’ trick sparked cheers, eye-rolls, and ‘just make a website’ chaos

TLDR: The article argues you can build fast, live-updating web apps by sending finished page pieces from the server instead of relying on lots of browser code. Commenters were sharply split: some called it elegant, while others mocked it as overcomplicated and begged developers to just make a normal website.

A developer pitched a bold idea in HTML over WebSockets: instead of the browser building pages piece by piece, the server sends over ready-made HTML through a live connection, letting apps feel instant and interactive with barely any JavaScript. The promise is simple enough for non-experts: one main codebase, less glue holding things together, and real-time updates for things like chat, collaboration, or games. Sounds neat, right? The comments promptly turned into a mini food fight.

The loudest reaction was pure disbelief. One commenter basically asked if the whole post was satire, while another sniped, “Just make a normal website!” and accused the concept of reinventing the multi-page site with extra drama. Others were less offended and more practical, arguing that for most everyday apps, a simpler one-way live feed would do the job without all this architectural gymnastics. Then came the doomsday crowd: one commenter warned that if your live connection server gets overwhelmed, you get nothing at all.

But the funniest shade came from people mocking developer culture itself. One comment sarcastically celebrated how this approach still leaves room for build steps, Jira story points, and getting in the way of the happy path—a devastating little roast of modern software habits. In other words, this wasn’t just a debate about web design. It became a classic internet showdown between “this is elegant” and “you have invented extra work and called it innovation.”

Key Points

  • The article describes HTML over WebSockets as a way to build real-time SPAs by sending server-rendered HTML to the browser instead of JSON.
  • It places HTML over WebSockets within a broader HTML-over-the-wire pattern that also includes HTTP and SSE transport variants.
  • The article says transport choice affects application architecture, latency, and whether communication is bidirectional.
  • Chris McCord's LiveView presentation at ElixirConf 2019 is cited as a key milestone in popularizing this model.
  • According to the article, client-side JavaScript remains necessary for WebSocket communication and DOM updates, but not for primary view rendering.

Hottest takes

"Just make a normal website!!" — ChiperSoft
"Until someone bombs your websocket server and you then have nothing at all" — doublerabbit
"build steps and put story points in Jira" — hyperhello
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.