<YC />
Writing // Active

Notes & Essays

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

Posts
11
Topics
19
Read time
47 min

Featured

frontend-tests-2026-nextjs
post.preview

topic · nextjs

5 min readnextjs
nextjs· SEP 2026· 5 min read
AI ships code faster — and regressions too. A practical Testing Trophy for a Next.js App Router blog: Vitest for lib logic, Playwright for list → detail → 404.
nextjstestingvitestplaywright
Read article

More writing

10 posts
react4 min read
A home-only overlay, sessionStorage (not localStorage), useSyncExternalStore, Motion's AnimatePresence, and a CSS flag so the hero does not finish animating under the loader.
reactnextjsmotion
Read article
security6 min read
XSS, cookies, CSRF, CORS, CSP, and lockfiles — what React and Vue already escape, where v-html and dangerouslySetInnerHTML still bite, and how that maps onto App Router and Nuxt.
securitynextjsnuxt
Read article
javascript7 min read
Call stack, microtasks, closures, this, and prototypes — then the TypeScript you use every day: narrowing and discriminated unions. Why it behaves that way, not just the syntax.
javascripttypescript
Read article
css6 min read
A custom font is a family name plus real files for each weight. The browser only uses bold, medium, or italic if you registered those faces — usually as WOFF2 via @font-face.
cssfontstailwind
Read article
react5 min read
Share state across related UI pieces without prop wiring — and when a single component or shadcn is still the better choice.
reactpatternscontext
Read article
react2 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.
reacthooks
Read article
react3 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.
reactfundamentals
Read article
react3 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.
reactperformance
Read article
react3 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.
reactforms
Read article
react3 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.
reactperformancehooks
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 via WhatsApp, email, or LinkedIn.