Reading paths
Topic
useEffectEvent reads the latest values while keeping a subscription alive. A reproduction and the React source show why it reads a different value from a ref during an uncommitted render.
11 min readReactuseEffectuseEffectEvent
Asking AI for creative ideas kept falling short across models. When I gave it three months of my logs and asked it to build something on its own, I got a tool I use every day. The difference was giving it evidence first and judging the result.
12 min readaideveloperreflection
If AI writes the code, what is my role? Looking back at development work and a one-off demo helped me explore what I need to understand and what I can contribute.
16 min readaideveloperreflection
A case study of replacing written account and screen directions with URL state in a QA workflow, including why I ruled out localStorage, how I split responsibilities with TanStack Query, and what I tested.
7 min readfrontendurl-state
I understood project_doc_max_bytes to apply to the combined size of global and project documents, and wrote the same thing in my wiki. Measuring the model-visible prompt with codex debug prompt-input produced a different result. This post traces how I varied the limit, identified its scope, and retested the finding after the files changed.
9 min readaicodexagents-md
Server response mapping, error handling, cache synchronization, and UI feedback had become mixed inside custom hooks. This post explains how I reassigned them to React-independent data functions, query and mutation options, and components.
11 min readReact Queryfrontend
After deleting pnpm-lock.yaml and reinstalling, caret-range packages all jumped at once and sanitize tests broke. I isolated them one by one and pinned DOMPurify as the culprit, but the same version was fine on jsdom. Here is how I separated the version from the environment and traced it down to the root cause.
17 min readTestingdompurifyhappy-dom
What broke when I replaced blocking window.confirm with a React Dialog. I learned to separate confirmation, cancellation, and execution into request/cancel/confirm flows.
11 min readReactfrontend
How do you handle vague requests like "make it faster" or "make it prettier"?
10 min readfrontendspec
When tests in React Router or TanStack Query fail, I usually inspect my code first. When tests I wrote fail, I sometimes end up re-checking the test itself as well. That difference made me rethink the boundary between unit, integration, browser, and e2e tests.
10 min readTestingVitestplaywright
Two sentences in the React docs looked contradictory at first. useRef stores values not needed for rendering, yet React says not to read ref.current during render. Tracing the source code shows these are about two different dimensions of rendering: trigger vs consistency, all the way to tearing.
6 min readReactuseRefrendering
Tracing just next/navigation through the source reveals where the complexity comes from: re-export entry points, context adapters, and .react-server.ts splits.
7 min readNext.jsSource reading
Small React source-level optimizations explained: Object.freeze in DEV, Hidden Class effects, branch ordering, and Smi/Double choices.
16 min readReact
ESM can be asynchronous and still statically analyzable. This post explains why through the Construction, Instantiation, and Evaluation phases.
8 min readjavascriptesmmodule-system
Why Map and Set often outperform Array: hash-based lookup complexity, insertion behavior, and traversal trade-offs including cache locality.
5 min readjavascriptdata-structurePerformance
Rather than judging the quality of AI tools solely by feel, we have a record of quantifying the extent of improvement through datasets and automatic scoring.
4 min readaiprompt-smith