Postmortem: Post-Incident Analysis
Postmortem purpose and writing method

Writing about development and technology.
Postmortem purpose and writing method

Fixing the crash caused by props coming through as undefined from the parent component.

Users rage-quit my shopping app because hitting 'Back' reset their scroll position. Here's how I fixed Scroll Restoration in Next.js SPA.

How closures referencing outdated values caused bugs in my React app, and how I fixed them.

Running a service means failures will happen. Reading Google's SRE book made me realize that operations is a high-level engineering problem, not just toil. I walk through how the concepts of SLI, SLO, and Error Budget shift your mindset from firefighter to architect.

I achieved 100% test coverage, but production crashed immediately. The culprit? Overusing 'fake objects'. I share my failure story caused by confusing Mocks, Stubs, and Spies, and explain the correct way to use Test Doubles.

My experience getting stuck in an infinite loop due to useEffect dependency arrays, and how I escaped.

I was once obsessed with reaching 100% test coverage. After lighting up every line green, I deployed with confidence, only to face a critical bug. I discuss what coverage doesn't tell you, the dangers of meaningless tests, and the true metric of test quality.

Differences and usage of test types

Network requests don't always arrive in order. Here is how I fixed the Race Condition in my search bar using Cleanup Functions and AbortController.

Why banks use RDBMS over NoSQL. A deep dive into Atomicity, Consistency, Isolation, Durability, Transaction Isolation Levels, Deadlock prevention, and how to ace this topic in technical interviews.

I thought React was broken because console.log(state) showed old values. Here is why React batches updates and acts asynchronously.

PWA characteristics and implementation

I chose React Native because I couldn't afford two dev teams. Productivity doubled, but then came the Dependency Hell. Here's my honest review and why Expo is the ultimate game changer.

My React code crashed with 'window is not defined' in Next.js. Here's why Server Side Rendering (SSR) breaks browser APIs and 3 robust ways to fix it (useEffect, typeof check, Dynamic Import).

When I had to build both iOS and Android apps with zero budget, I ditched Native (Swift/Kotlin) for Flutter. I share how I achieved 2x dev speed and 50% cost reduction, and the realistic pros and cons of Cross-Platform development from a 'Startup Survival' perspective.

I imported a Server Component inside a Client Component, and it broke everything. Here’s how to use the Composition Pattern (Donut Pattern) to fix it and correctly separate Context Providers.

For developers, a tech blog is not an option but a necessity. Beyond just recording what you learn, it becomes a powerful weapon in the job market and the best tool for practicing metacognitive learning. I share the changes that happened 6 months after starting my blog and tips for consistency.

Stop adding 'use client' to every file. I explain the clear boundary between Server and Client Components, and how to implement interactivity without sacrificing performance in Next.js App Router.

It was a simple logic: Create User -> Upload Image. Why did it fail randomly? Here's how I fixed async race conditions and optimizing performance with Promise.all.
