This site runs best with JavaScript enabled.

Hi, I'm Kent C. Dodds. I help people make the world better through quality software.

Kent C. Dodds



We all want to have codebases that are easy to maintain, so we start out with the best of intentions to make our codebase (or our corner of the codebase) maintainable and easy to understand… Read →

When to useMemo and useCallback

Current Available Translations: Korean Here's a candy dispenser: Here's how it's implemented: Now I want to ask you a question and I want you to think hard about it before moving forward. I… Read →

What open source project should I contribute to?

This is a question I've had countless times: Pranu first pull request soon after tweeting this… Read →

Avoid the Test User

The two users your UI code has are 1) The end user that's interacting with your component and 2) the developer rendering your component. Imagine you have the following UI (taken from my… Read →

Authentication in React Applications

Skipping to the end Here's the secret to this blog post in one short code example: That's it. Most apps which require authentication of any kind can be drastically simplified by that one… Read →

View all articles

Your essential guide to flawless testing.

Jump on this self-paced workshop and learn the smart, efficient way to test any JavaScript application. 🏆

Start Now


My YouTube channel where I livestream every weekday about Web Development. Come join me and learn something new.






3 Minutes with Kent

3 Minutes with Kent