Week 3 Recap: Patterns + Debugging
Week 3 is done. Six posts, all circling the same idea — the difference between using a tool and actually understanding it shows up exactly when things get subtle, not when they're simple.

Search for a command to run...
Week 3 is done. Six posts, all circling the same idea — the difference between using a tool and actually understanding it shows up exactly when things get subtle, not when they're simple.

Module Federation (Day 6) solves how to share code between microfrontends. It doesn't solve how to share state — that's a separate problem, with its own set of tradeoffs.

Most code review feedback focuses on style — semicolons, naming, formatting. The reviews that actually catch problems focus somewhere else entirely.

These 5 bugs show up in almost every React codebase I've worked in — juniors and seniors alike. Here's why each one happens and the actual fix.

"Just add 'use client' to fix it" is the JavaScript equivalent of turning it off and on again — it works, but you've skipped understanding why it was broken.

If you've used `<select><option>` in HTML, you've already used the pattern this post is about — you just haven't built one yourself yet.

Most explanations of generics use <T> with no context, which is exactly why they never click. Here's what generics actually solve, with real code.

Week 2 is done. Seven posts, all built around the same theme — most technical debates aren't about right vs. wrong, they're about matching the tool to the actual problem.

Most React performance advice jumps straight to `useMemo` everywhere. That's usually not where the real bottleneck is. Here are 7 fixes, roughly in the order they actually matter.
