AMAhmed Mahmoudinengahmed.hashnode.dev·1d ago · 10 min readWhy My Next.js Client Bundle Was Bigger Than I Thought: Barrel Files, optimizePackageImports, and the 'use client' Boundary 733678Headline: One 'use client' directive pulls that file's entire import graph into the browser bundle, and a barrel index.ts re-exporting two hundred modules is how that graph gets large without anyone n00
AMAhmed Mahmoudinengahmed.hashnode.dev·3d ago · 11 min readFocus Management in the Next.js App Router: Field Notes on the Route Change That Loses Focus, inert, and Native dialog a51ee9Headline: The Next.js App Router announces client-side route changes to screen readers through its built-in route announcer, but it never moves keyboard focus. Focus is left on a link that React just 00
AMAhmed Mahmoudinengahmed.hashnode.dev·4d ago · 11 min readZero-Downtime Postgres Migrations: Field Notes on Expand/Contract, lock_timeout, and the ALTER TABLE That Queued Behind One Slow Query e25ae7Headline: A Postgres migration usually takes an app down not because the DDL is slow, but because ALTER TABLE waits for an ACCESS EXCLUSIVE lock and every query that arrives after it waits in the same00
AMAhmed Mahmoudinengahmed.hashnode.dev·Sep 20 · 9 min readnpm Supply-Chain Hardening in 2026: Lifecycle Scripts, minimumReleaseAge, and the Postinstall I Stopped Trusting 7f75f9Headline: The npm attacks that actually landed over the past two years executed at install time, through lifecycle scripts, within hours of the malicious version being published. Turning dependency li00
AMAhmed Mahmoudinengahmed.hashnode.dev·Sep 13 · 10 min readHybrid Search in Postgres with pgvector: Field Notes on HNSW, tsvector, and Why Pure Vector Search Missed Exact Matches 8ff978Headline: pgvector is a Postgres extension that adds vector column types and approximate-nearest-neighbour indexes, and used alone it is a mediocre search engine. Every retrieval bug I shipped in a RA00