<YC />

Notes & Essays

Practical notes on React, Next.js, Vue, product UI, and shipping reliable software across health-tech and logistics.

Topic · React

Featured

ReactJS & TypeScript· SEP 2026· 17 min read
Working implementations of debounce, abortable fetch, backoff polling, and windowed lists — plus the JavaScript event loop and React engine that decide whether those patterns actually hold.

More writing

09 posts
5 min read
Forget the engine. Picture a search box and a 2,000-row list. Fiber is why the letters can appear now while the slow list is allowed to catch up.
Read article
A home-only overlay, sessionStorage (not localStorage), useSyncExternalStore, and Motion's AnimatePresence — with the hero painted underneath so LCP is not gated on the intro.
Read article
5 min read
Share state across related UI pieces without prop wiring — and when a single component or shadcn is still the better choice.
Read article
2 min read
Both run after render, but timing decides whether the user sees a flicker. Start with useEffect; reach for useLayoutEffect only when you must measure or sync layout before paint.
Read article
3 min read
Reconciliation is how React compares the next UI tree with the previous one so it can update the real DOM as little as possible.
Read article
3 min read
Re-renders are normal. Unnecessary ones usually come from unstable props, broad state, or overused context — fix the cause before sprinkling memo everywhere.
Read article
3 min read
Controlled inputs keep form data in React state. Uncontrolled inputs keep it in the DOM. Prefer controlled for app forms; use uncontrolled for simple cases and file inputs.
Read article
3 min read
memo caches a component, useMemo caches a value, useCallback caches a function. Use them together when prop identity matters — not on every line of code.
Read article
Stay in the loop

Follow new posts

No marketing newsletter. Grab the RSS feed for occasional notes on frontend craft, APIs, and shipping product UI — or email me directly.

No trackers · occasional updates only/feed.xml
Open to opportunities

Want to talk about a role or a product problem?

Open for Software Engineer roles (frontend-heavy) — full-time or contract. Reach out by email or LinkedIn (WhatsApp works too).