ALL
POSTS

41 posts so far.

March 12, 2026Architecture10 min read

How a Redis Cache Key Missing One Field Leaked Client Data Across Tenants for 72 Hours

A SaaS platform cached API responses by resource ID alone — when two tenants happened to share the same integer ID, one client spent three days reading another's confidential records.

March 12, 2026Docker8 min read

How a Redis Connection Leak Crashed Our AWS ECS Cluster at 3AM

A Redis client spawned inside getServerSideProps accumulated 8,847 open connections over six hours, OOM-killed every ECS task, and took the service down for 47 minutes before we found the root cause.

March 11, 2026React9 min read

How a Missing useCallback Triggered 10,000 API Requests Per Minute in Production

A React search component's unstable function reference created an infinite useEffect loop that sent 10,400 req/min to our backend until the rate-limiter started blacklisting our own users.

March 11, 2026Python9 min read

The Shared State Trap: How a FastAPI 'Optimisation' Leaked User Data

We replaced Flask's request-scoped g with a plain dict during migration. Under async concurrency, that dict silently served one tenant's data to a completely different user.

March 10, 2026NodeJS11 min read

The Invisible Bottleneck: How One Sync Call Froze Our Node.js API

A single fs.readFileSync buried in a utility function seemed harmless in development — in production under real traffic, it silently froze every request in the system for 700ms at a time.

March 9, 2026Architecture13 min read

We Killed the PHP Monolith. It Took 18 Months and One Client's Data.

What looked like a clean strangler-fig migration turned into 18 months of session bridges, soft-delete mismatches, and hard lessons about the implicit contracts hiding inside every legacy codebase.

March 7, 2026Database12 min read

The Friday Deploy That Taught Me to Respect PostgreSQL

A four-line SQL query worked perfectly in development — in production, with 8 million rows, it held the database hostage for 47 minutes and took down an entire SaaS platform on a Friday afternoon.

March 5, 2026CI/CD9 min read

We Deployed on a Friday. Here's What Happened Next.

A production deploy at 4:30 PM on a Friday turned a routine release into a 6-hour incident — and permanently changed how I think about automation and discipline.

PAGE 5 / 6  ·  41 POSTS

Blog — Page 5 | Darshan Turakhia | Darshan Turakhia