Posted today·3 min·intermediateReact memo vs useMemo vs useCallback — When to Use WhichThree React APIs that all say 'memoize' — but they do different things. Clear explanations, examples, and a cheatsheet.
Posted on June 20·3 min·intermediateCDN Explained: What It Is, How It Works, and How to Use It in Next.jsA CDN speeds up your app by serving assets from servers close to your users. Here's how it works and how Next.js takes advantage of it.
Posted on December 31·1 min·intermediatequeueMicrotask Explained: The Smallest Async Queue in JavaScriptWhat queueMicrotask does, how it differs from Promise.then, and how microtasks really work under the hood.
Posted on December 30·3 min·intermediateWhy async/await Doesn’t Make JavaScript Code ParallelAsync/await feels like parallel code, but it isn’t. Here’s why JavaScript is still single-threaded and how async really works.
Posted on December 30·2 min·intermediateHow Promise.all Works in a Single-Threaded JavaScript WorldIf JavaScript is single-threaded, how can Promise.all handle multiple requests at the same time? A deep dive into the event loop and async I/O.
Posted on December 30·3 min·intermediatePromise APIs Compared: all vs race vs any vs allSettledA practical and conceptual comparison of Promise.all, Promise.race, Promise.any, and Promise.allSettled.
Posted on December 30·3 min·intermediateAre TypeScript Enums a Good Idea? (Bundle Size & Runtime)A practical guide to TypeScript enums, their runtime cost, and better alternatives for modern frontend apps.
Posted on December 30·3 min·intermediateWeb Workers Explained for Frontend DevelopersHow Web Workers work, why they matter, and when to use them to achieve real parallelism in frontend apps.
Posted on December 12·1 min·intermediateuseDeferredValue Explained: Keeping React UIs ResponsiveHow useDeferredValue works under the hood, when to use it, and how it differs from useTransition.
Posted on December 12·3 min·intermediateuseTransition Explained: Make React Feel InstantHow useTransition works under the hood, when to use it, and how it differs from useDeferredValue.
Posted on October 14·3 min·intermediateUnderstanding HttpOnly Cookies in DepthHow HttpOnly cookies work, why they're essential for security, and how to use them safely in Next.js and Express.
Posted on October 8·4 min·advancedReact Fiber Explained: How React’s Engine Actually WorksA deep but clear explanation of React Fiber — the engine that powers modern React rendering and concurrency.
Posted on October 6·3 min·intermediateReact Context Explained: How It Works Under the HoodUnderstand what React Context is, how it works internally, and best practices for using it effectively.
Posted on October 5·3 min·intermediateBroadcastChannel API in JavaScriptHow to communicate between browser tabs, windows, or iframes easily using the BroadcastChannel API.
Posted on October 4·2 min·intermediatePrefetching in Next.js Links ExplainedHow Next.js prefetch works in <Link>, why it makes navigation fast, and when to disable it.
Posted on September 29·3 min·intermediateWhy MUI Avoids Theme Flash on First Load (Dark/Light Mode)How MUI applies the correct color scheme on the very first paint, and why other UI kits often flash light before switching to dark.
Posted on September 26·2 min·beginnerDeep Copy vs Shallow Copy in JavaScriptUnderstand the difference between shallow and deep copies, with examples and pitfalls.
Posted on September 26·2 min·intermediateWhy setState Doesn’t Cause Hydration ErrorsUnderstanding why calling setState after hydration doesn’t produce hydration mismatches in React/Next.js.
Posted on September 23·4 min·intermediateAbortController & AbortSignalEverything you need to cancel async work in JS: fetch, streams, custom tasks, React patterns, Node notes, timeouts, races, and common pitfalls.
Posted on September 23·4 min·intermediateHow useState Works Under the Hood (and Why It Needs use client)Deep dive into React's useState, how it works internally, and why client components are required in Next.js App Router.
Posted on September 23·5 min·intermediateJavaScript Closures — A Simple Deep DiveWhat closures are, how they work (lexical scope), and how to use them without pitfalls.
Posted on September 23·2 min·beginnerJavaScript Promises ExplainedA simple but deep dive into how Promises work in JavaScript and why they matter.
Posted on September 23·2 min·beginnerJavaScript is Single-ThreadedUnderstand what it means when people say JS is single-threaded.
Posted on September 23·2 min·beginnerWhat is 'use client' in Next.js?Understand 'use client' in Next.js App Router: what it means, when to use it, and how it works under the hood.
Posted on September 23·2 min·beginnerNext.js Page Router vs App RouterUnderstand the key differences between the old Page Router and the new App Router in Next.js.
Posted on September 21·4 min·intermediateJavaScript Event Bus 🚍 (JS + TypeScript)A polished, practical event bus pattern with minimal JS, a strongly-typed TS version, wildcards, once-handlers, and React usage tips.
Posted on September 21·2 min·intermediateReact Higher-Order Components (HOC)Understand Higher-Order Components (HOCs) in React with examples, use cases, downsides, and a comparison to hooks.
Posted on September 20·1 min·beginnerJavaScript's Event Loop — Simple Guide (with SVG Timeline)Event loop explained with a clean SVG timeline showing the actual execution order: Start → End → Promise → Timeout.
Posted on September 20·3 min·advancedMicrotask vs Macrotask in JavaScript — With Node.js vs Browser NotesUnderstand microtasks and macrotasks across browsers and Node.js, including process.nextTick, setImmediate, and event loop phases.
Posted on September 20·2 min·intermediateNext.js App Router Caching — Cheat SheetA compressed reference of Next.js caching layers and controls (App Router).
Posted on September 17·2 min·intermediateReact useRef vs useState — When to Use WhichA simple guide to understanding when to use useRef and useState in React, with examples, mental models, and a quick cheatsheet.
Posted on September 17·3 min·intermediateWhen Should You Use Dynamic Import in React/Next.js? (With Performance Comparison)A practical guide to dynamic imports with real-world examples and a before/after bundle-size comparison using next-bundle-analyzer.
Posted on September 16·1 min·beginnerGit Rebase vs Git Merge — Simple GuideUnderstand the difference between git rebase and git merge with analogies, ASCII diagrams, and visual commit history diagrams.
Posted on September 15·4 min·advancedFrontend Design Patterns — A Practical GuideA concise, example‑driven overview of the most useful frontend patterns for modern React/Next.js apps.
Posted on September 15·6 min·advancedMVVM, Micro‑Frontends, and Domain‑Driven Frontend — A Practical GuideClear, practical explanations of MVVM, micro‑frontends, and domain‑driven design for modern React/Next.js teams, with examples, folder structures, and trade‑offs.
Posted on September 13·1 min·beginnerEvent Bubbling vs Event Capturing in JavaScriptUnderstand how events travel through the DOM: bubbling (bottom-up) vs capturing (top-down) with simple examples and mental models.
Posted on September 13·1 min·beginnerAsync vs Sync in JavaScriptUnderstand the difference between synchronous and asynchronous code in JavaScript with simple examples and analogies.
Posted on September 13·2 min·beginnerSOLID Principles Explained SimplyAn easy-to-understand guide to SOLID principles for cleaner, more maintainable code.
Posted on August 11·1 min·beginnerWhat is Docker? The 2-minute mental modelUnderstand containers like folders for apps—portable and predictable.