Software Architecture
A Composition Root for React + Hexagonal Architecture
I work in a React app organized with hexagonal architecture (a.k.a. ports and adapters, Alistair Cockburn, 2005). Each feature is split into domain, application, infrastructure, and presentation. The domain defines ports — interfaces like DocumentRepository — and the infrastructure layer provides adapters that implement them, like createDocumentRepository(httpClient). Dependencies always point inward; the domain never knows […]
Clean Frontend Architecture: How to Use React Query Without Breaking Your Use Cases
React Query solves real problems: caching, background refetching, invalidation, retries. But in many codebases, it ends up solving them by becoming the architecture itself. Not just supporting it. In a previous article, we talked about organizing frontend code by business domains using clean architecture: Domain, Application, Infrastructure, and Presentation. The main idea was simple: business […]
Story of a Memory Leak in Node JS: A Debugging Journey
Designing and creating web systems can be very hard. I’ve been developing software using microservices architectures and Node.js for the last years, and from time to time you can get into situations that force you to learn a lot. This is a story about one of those moments. The Setup: Event Tracking at Scale One […]
The 10 Commandments of Changing a Microservice
Microservices as a term has become increasingly popular in recent years, and is used to describe a variant of the SOA architectural style that creates an application as a collection of loosely coupled services. Every microservice has its own purpose, and will implement different interfaces or communication protocols. Therefore, any problems within a microservice will […]
Clean Frontend Architecture: How to Organize React Code by Business Domains
You start a frontend project with organized folders. Three months later: where does this component go? Which file has that validation? Why does this component have 500 lines mixing API calls with business logic? The symptoms are always the same: messy folders, business logic mixed with UI, scattered APIs with no pattern, and impossible testing […]
Building Smart “Plug & Play” Businesses
Looking back from 2025, the COVID crisis taught us lessons on how technology can help make businesses more resilient, flexible, and adaptative. Many of us at Orbitant lived through that period together in different roles, watching firsthand how companies with the right platform architecture were able to pivot their business model in record time while […]
Transforming Fragmented Data into a Competitive Advantage for Afianza
Growth through acquisitions is a common strategy in the advisory and financial services sectors. However, each integration adds not only clients and revenue, but also fragmented systems, processes, and data that hinder operations and limit scaling potential. Afianza was living this reality. A company in accelerated expansion that, with each acquisition, moved further away from […]
How Decoupled Architecture Reduces Time-to-Market
As organizations grow, their technology often lags behind. Legacy infrastructures, long development cycles, and cross-team dependencies slow down what should be agile: launching new features, testing hypotheses, adapting to the market. In this context, architecture is no longer just a technical concern. It becomes a critical factor that can either speed up or hold back […]
Legacy migrations: You will fail (and that’s fine)
Rebuilding a legacy platform from scratch is really fun. Sometimes you need to replicate a lot of business logic placed somewhere inside a really big monolith full of unreadable hacks, massive functions, or lacking any sort of tests. Sometimes it even shares responsibilities with stored procedures in different databases with restricted access, or no one […]