We hit an at-least-once delivery trap. Here is how we fixed the race conditions.
If you are running an event-driven architecture with message queues like Kafka, you already know the drill, scalability is awesome, but network partit…
Tech news from the best sources
If you are running an event-driven architecture with message queues like Kafka, you already know the drill, scalability is awesome, but network partit…
The Object-Relational Mismatch Most development takes place in object-oriented programming (OOP) languages, which leads to a common criticism of the S…
Introduction So imagine you are focused on your cappuccino-frappuccino doing something very important on you win laptop and then have a cringe attack …
Most MVPs do not fail because the first version is too small. They fail because the first version is not focused enough. A real MVP is not just a redu…
Imagine you have built a backend server that handles requests perfectly in development. It easily survives a few hundred users. Then, your application…
The industry is currently obsessed with letting Large Language Models (LLMs) output entire microservices, infrastructure layouts, and functional code …
Nobody tells you the day the work stops arriving pre-decided. For two years the work arrives pre-decided. "Add a price filter to search." You open the…
Day 1: the big picture. Day 2: databases. Day 3: caching. Day 4: load balancing, and how the load balancer itself becomes a new single point of failur…
Once you split a monolith into services, a new problem appears: the client now needs to know about twenty endpoints, each with its own auth, its own r…
A rate limiter answers one question on every request: has this client made too many calls, and should I reject this one? It sounds trivial until you h…
Learn TypeScript From First Principles to Senior/Staff-Level Production Engineering If you searched for how to learn TypeScript properly — not just th…
Manufacturing software looks simple from the outside. There are products, orders, inventory, suppliers, machines, customers, and invoices. At first gl…
Reddit looks simple and hides two genuinely hard problems. Comments nest arbitrarily deep, and a naive tree structure makes loading a busy thread slow…
Searching billions of documents for a phrase and getting ranked results in tens of milliseconds looks like magic. It is not. It comes down to two idea…
Speed on Polymarket is not what I thought it was when I started building this. I assumed faster was always better. Get the signal, fire the order, win…
If you build software for Medicare Advantage (MA) plans, "analytics" usually arrives as a vague requirement and leaves as a pile of nightly batch jobs…
Twelve days after I shipped trelix v1.0.0, I was staring at a RetrievalConfig object with two conflicting sets of values and no idea which one was act…
Answer-first: Migrating an e-commerce monolith to 21+ distributed microservices using Golang & DDD. Explore Kratos architecture, Saga patterns, an…
Problem Statement Design a Logger Framework that supports: Multiple Log Levels DEBUG INFO WARN ERROR FATAL Multiple Output Destinations Console File D…
I wrote down the 60 questions I wish someone had handed me years ago. For a long time I thought system design was about memorizing architectures. Draw…
Introduction Every business relies on data, but not all data workloads are the same. Processing a customer's payment, booking a flight, or updating in…
The Architecture Decisions That Turned a Static Website into an Open Source Intelligence Platform Open source organizations grow in a very... interest…
The AI race is quietly changing Months ago, most discussions revolved around one question: "Which model is the smartest?" Today, I'm seeing a differen…
Day 1: the big picture. Day 2: databases. Day 3: caching, and how it's really a consistency problem in disguise. Today: load balancing — how traffic a…
Ask your two services what time it is. They'll give you different answers. Both will be wrong. The Relativity Problem In 1905, Einstein published spec…
After publishing the first few posts about ai-assistant-dot-files , the obvious next question is: Where does this go? The tempting answer is "more age…
We’ve all seen it happen. A engineering team wants to feel like they belong in the "cool kids" club, so they grab Apache Kafka or a massive event brok…
This guide takes you from "I integrate HyperPay/Paymob/Stripe webhooks" to "I can design the payment infrastructure of a fintech company." It's writte…
A highlight reel is a sequence of moments. A recap is a story. Producing a recap automatically while a match is still being played is a different and …
Let me start with the confusion that prompted this post: in a recent mentoring session, a senior engineer described their payment service as "idempote…