System design
All articlesMulti-Cloud Redundancy: The Gap in Our Resilience Thinking
Multi-region is not enough. Recent outages exposed the gap between region and provider redundancy.
Read articlePostgreSQL's GiST Exclusion Constraint: The Database-Level Answer to Double Bookings
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 articleRace Conditions in Hotel Booking Systems: Why Your Technology Choice Matters More Than You Think
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 articleLambda Functions and API Gateway: Are You Ready for Your Next Infrastructure Change?
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
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
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 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 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
LangGraph vs ReAct: When Should You Use Which for Your Next AI Agent?
Building an AI Agent? Should you trust your LLM to decide what to do next or control every step? This short guide explains when to use a ReAct agent for flexible tool use and when LangGraph makes sens...
Read article