Three months in. Here's what the React Compiler is doing for us, and where we're still hand-rolling memoization.
What the compiler does well
It catches the cases junior engineers miss: list rendering with stable callbacks, derived values that should be memoized, props that flatten into hooks.
Where we still help it
Anything where the compiler can't prove referential stability across renders. Some of our oldest hooks were written before the rules of React were even formalized — we're rewriting them gradually.
Our LCP is 12% faster on the routes we've migrated. That's enough to keep going.