Skip to content

System design

All articles
Killed One Service and Nothing Should Break

Killed One Service and Nothing Should Break

May 7, 2026 System design

Speed is only an asset if your engineering culture can keep up. Learn why AI isn't DRY by default and how to manage the "junior developer" context gap before your technical debt spirals.

Read article
Multi-Cloud Redundancy: The Gap in Our Resilience Thinking

Multi-Cloud Redundancy: The Gap in Our Resilience Thinking

March 19, 2026 System design

Multi-region is not enough. Recent outages exposed the gap between region and provider redundancy.

Read article
PostgreSQL's GiST Exclusion Constraint: The Database-Level Answer to Double Bookings

PostgreSQL's GiST Exclusion Constraint: The Database-Level Answer to Double Bookings

March 1, 2026 System design

PostgreSQL's GiST exclusion constraint prevents overlapping hotel bookings at the database layer — making double bookings structurally impossible. One declarative rule that catches what application-le...

Read article
Race Conditions in Hotel Booking Systems: Why Your Technology Choice Matters More Than You Think

Race Conditions in Hotel Booking Systems: Why Your Technology Choice Matters More Than You Think

February 1, 2026 System design

Race conditions in hotel bookings: PHP needs only DB protection, Node.js/FastAPI need both DB and app-level locks. Use atomic updates by default, pessimistic locking for complex logic.

Read article
Lambda Functions and API Gateway: Are You Ready for Your Next Infrastructure Change?

Lambda Functions and API Gateway: Are You Ready for Your Next Infrastructure Change?

January 13, 2026 System design

Can your Lambda functions survive a datacenter migration? Are you prepared for a technology change? Here is how the infrastructure needs to be built.

Read article
The Hidden Performance Killer: How One WHERE Clause Fixed Our 5-Second Notification Query

The Hidden Performance Killer: How One WHERE Clause Fixed Our 5-Second Notification Query

December 3, 2025 System design

Our 5M row notification table caused 4-second queries. Adding WHERE id > cutoff_id improved locality of reference in the clustered index, dropping query time to 250ms. One WHERE clause, 16x faster.

Read article
Beyond pgvector: Choosing the Right Vector Database for Production

Beyond pgvector: Choosing the Right Vector Database for Production

November 14, 2025 System design

When Vector Search Becomes Your Production Nightmare: A Deep Dive into Vectors, Indexes, and the Databases That Handle Them

Read article
Building Resilient Python Applications with Tenacity: Smart Retries for a Fail-Proof Architecture

Building Resilient Python Applications with Tenacity: Smart Retries for a Fail-Proof Architecture

August 18, 2025 System design

Building resilient Python applications requires more than simple retry loops—intelligent retry strategies using Tenacity, combined with exponential backoff, jitter, and precise exception handling, for...

Read article
Search Is Dead. It’s Time for Systems That Understand

Search Is Dead. It’s Time for Systems That Understand

June 23, 2025 System design

Search is undergoing a radical shift—from keyword matching to true intent understanding. Inspired by LinkedIn’s recent blog on their AI-powered job search, this post explores how the future of discove...

Read article

Need help with system design or architecture?

I work with engineering teams on technical audits, architecture reviews, and scaling strategy. Let's discuss your challenges.

Let's talk