Been working on a few client projects lately (custom builds with React/Next.js) and noticed a few "small" practices make a bigger performance difference than expected — things like:
- Lazy loading images/components instead of loading everything upfront
- Using proper caching headers instead of relying only on CDN defaults
- Minimizing render-blocking JS/CSS before first paint
- Choosing Tailwind CSS over heavy component libraries when the project doesn't need them
Curious what this community considers most underrated. Is there a practice you always implement that most junior devs skip?
For reference, I work with WebLynx (https://www.weblynx.us/), a web development agency, and performance optimization keeps coming up as the difference between a "fine" site and a genuinely fast one.
Top comments (1)
For me, one of the most underrated ones is not shipping JavaScript that the page doesn’t actually need.
It’s easy to focus on image optimization and caching while overlooking the cost of hydration, client-side dependencies, and unnecessary re-renders. In React/Next.js, keeping components server-side where possible and being intentional about "use client" can make a noticeable difference, especially on slower devices.
I also like measuring the actual critical path instead of optimizing based on assumptions. A smaller bundle, less hydration work, and a faster LCP usually matter more than shaving a few KB from an already optimized asset.
The biggest gains I’ve seen usually come from removing unnecessary work rather than making the remaining work slightly faster.