Posts tagged 'software-architecture'

Tag: software-architecture

Your scientists were so preoccupied with whether or not they could that they didn't stop to think if they should.

Mediasoup DataChannels: When Replacing WebSockets Actually Makes Sense

July 8, 2026

DOI

For years, the default answer for real-time bidirectional communication on the web has been simple:

  • Need a chat? Use WebSockets.
  • Need signaling? Use WebSockets.
  • Need lightweight control messages? Use WebSockets.

And honestly, most of the time, that answer is still correct… although not necessarily the most optimal (I still find XMPP / Jabber a pretty robust alternative, and my default choice for certain scenarios where a battle-tested solution with scalability, resilience and chat features matter).

But while working with WebRTC and SFU architectures, I kept running into the same question:

If we already have a fully encrypted, low-latency, bidirectional transport through WebRTC DataChannels (based on SCTP protocol), why introduce a second parallel communication stack with WebSockets?

Read More
Developers panicking as they are overwhelmed by a tsunami of AI-generated code

Who Watches the Watchmen? AI Code Generation and the Limits of Code Review Signature Post

May 19, 2026

Some weeks ago I read an article that captured something many experienced developers have been feeling for some time: software development is changing rapidly in the age of generative AI, and not always in ways we fully understand.

One quote from the article especially resonated with me in particular:

An MIT professor called AI “a brand new credit card that lets us accumulate technical debt in ways we were never able to before”. That credit card now writes 41% of the code.

Whether the exact number is accurate or not (Stability AI Ex-CEO Emad Mostaque has been saying so since 2023… and he predicts that it will be 100% by end of the decade), the point is clear: a large and growing portion of modern codebases is now generated with the help of AI tools. This has undeniable benefits: developers can prototype faster, explore ideas quickly, and automate repetitive tasks that previously consumed valuable time.

But this acceleration also introduces a structural challenge: we are producing code faster than we can reasonably understand and validate it. Some years ago, AI systems started to be so much more complex that we started to lose track of understand how they think, becoming increasingly opaque. And now that they are starting to write our code, we are in a situation where we start to don’t understand how our code works too, nor how well it does.

In many teams, the question is no longer whether AI-generated code should be used, but how we can maintain quality and reliability when the volume of generated code keeps increasing.

And increasingly, it raises a deeper question: we may start to need AI to review and explain the code generated by AI, but who watches the watchmen?

Read More

Bringing Class-Based Views to Fastify (Inspired by Django) Signature Post

September 29, 2025

Why doesn’t Node.js have something like Django’s Class-Based Views (CBVs)?

I love Django key features like its class-based views or ORM, and I usually miss them when working with Node.js. So yesterday night, in the middle of my usual insomnia, I wondered if anyone had already built something like that for Node.js.

I did a quick search, and what I found were just a few experiments from ~8–9 years ago. Nothing robust, modern, or maintained.

Django Class-Based Views (CBVs) provide a clear structure, lots of built-in functionality, and still enough flexibility to adapt them to different use cases. So I decided to sketch out a design for Fastify (and Node.js in general) that feels natural to use, contract-first, and TypeScript-friendly. This post is a walk-through of that exploration during the rest of the Sunday.

Read More

Manifest of a perfectionist

December 7, 2021

I’m a bit obsesive with code and architecture quality, and having them done like they could be put down on a textbook, or at least about they being used by others as reference of how things can be done right. I’ve always feel a bit frustrated that newcomers get and perpetuate bad habits, just because they learned them that way on the first place by thinking that was the way to do the things… Later, if things are working, people don’t give a sh*t on thinking about if there’s a better way to do it, both to improve their work quality or processes, or for learning and improve themselves, they just move on… So it’s better to do things right from the beginning, since later they are more difficult to fix, or simply you forget to do it. And at the end, just by doing things right on a first approach, you get used to it and do them that way by default :-)

Read More

Types of WebRTC networks

December 30, 2020

When it comes to WebRTC architectures, there is no silver bullet. Depending on each use case, the optimal architecture may vary from project to another. For this reason, I am going to explain the main network architectures that are usually applied in projects based on WebRTC (and mainly applied to the streaming video), and what are the pros and cons of each one of them.

Read More

Tipos de redes WebRTC

December 30, 2020

Respecto a arquitecturas WebRTC, no hay una bala de plata. Dependendiendo de cual sea el caso de uso, la arquitectura óptima puede variar de un proyecto a otro. Por este motivo, voy a explicar las principales arquitecturas de red que suelen aplicarse en proyectos basados en WebRTC (y principalmente aplicadas al streaming de video), y cuales son los pros y contras de cada uno de ellos.

Read More