← Back to Blog

Not Everything Should Go Through a Server

Not Everything Should Go Through a Server
December 19, 2025NotesQR Team

For a long time, I believed something almost religiously: if data matters, it should go through a server. Centralize it, log it, secure it, back it up, watch it. That belief shaped how I designed systems, how I explained architecture to others, and how safe I felt shipping things to production.

WebRTC was the first technology that made me seriously question that instinct.

The comfort of the middleman

Servers feel comforting. They sit in the middle like responsible adults, keeping an eye on everything. If something breaks, you check logs. If something goes wrong, you replay events. If someone asks what happened, you usually have an answer. For years, modern web development reinforced this idea that everything should flow through a central point, because control equals safety, and safety equals good engineering.

The problem is that this comfort comes at a cost we stopped noticing. Latency becomes acceptable because it is familiar. Bandwidth waste becomes normal. Privacy becomes abstract. We convince ourselves that users do not mind, mostly because they cannot compare it to anything else. When everything goes through a server, the architecture feels clean, but the experience often feels heavier than it needs to be.

WebRTC quietly breaks that pattern by refusing to put a server in the spotlight.

When direct connections change how you think

The first time you build something peer to peer, it feels wrong. There is no central authority watching every packet. Data flows directly between people. You do not automatically get logs, replays, or full visibility. At first, that feels like losing control. Then something interesting happens.

Things feel faster in a way that is hard to measure. Not just milliseconds, but responsiveness, flow, rhythm. Users stop waiting for things they never realized they were waiting for. Files appear instead of loading. Conversations feel more natural. You also realize that some data does not need to exist anywhere once the moment has passed. A file transfer does not need to be stored. A message does not need to be archived. A connection can exist, do its job, and disappear.

That realization changes your priorities. You start asking different questions. Do I really need to see this data, or do I just like knowing that I could? Is this server solving a real problem, or is it just making me feel in control?

WebRTC does not eliminate servers, and it should not. Signaling still exists. Coordination still matters. But it forces you to justify every server you introduce. If something can happen directly, securely, and temporarily between two devices, routing it through infrastructure starts to feel excessive rather than professional.

What this means for how we build

This is not an argument against servers, clouds, or platforms. It is an argument against reflexes. For years, the default answer to any communication problem was add a backend. WebRTC introduces an uncomfortable but healthy alternative: maybe the shortest path is also the best one.

When you embrace that idea, you build systems that leak less data, waste less bandwidth, and feel more human. You also accept that not everything needs to be observed, stored, or monetized to be valuable. Some interactions are better precisely because they leave no trace.

That shift is subtle, but once it clicks, it is hard to unsee. Not everything should go through a server. Sometimes, the best architecture is the one that steps out of the way.


Want to see how we use WebRTC? Check out NotesQR for file transfers.

Building a WebRTC business? Let’s talk: LinkedIn | X.com

Not Everything Should Go Through a Server - NotesQR Blog