
You Own the Outcome: Product Engineering in the Age of AI
Agents are great at producing code. The valuable work left for you is deciding what should exist, how it should behave, and what you're willing to trade for it.
94 articles by Kent C. Dodds.

Agents are great at producing code. The valuable work left for you is deciding what should exist, how it should behave, and what you're willing to trade for it.

Kody turns the good answer into a package you keep.

Semantic search alone wasn't good enough. Here's how I improved search on kentcdodds.com through three rounds of iteration with Cursor and GPT-5.4, each time learning something that the previous design missed.

How I replaced a long-lived Cloudflare Container with a one-shot Cloudflare Sandbox, deleted most of the control-plane code, and let an agent do the heavy lifting in less than an hour of my own time.

The interesting part of moving kentcdodds.com to npm workspaces was not the file moves. It was everything the file moves broke.

How I moved Call Kent podcast episode processing off my primary Fly.io app server and onto Cloudflare Queues and Containers: what broke, what I missed, and whether it was worth the complexity.

I've added some pretty cool AI-powered features to kentcdodds.com and I want to tell you all about it.

Here's how I've made it easier for you to call into the Call Kent podcast without having to record yourself and also make yourself anonymous using AI.

I upgraded kentcdodds.com from Remix v2 to React Router v7 in a day with over 17k lines of code changed. Here's how I did it.

My experience sharing the gospel with Jeremiah and Beiyi Dow

Looking back over my 2025 and looking forward to my 2026

What I'm working on with AI education and why I think it's the future.

AI is changing how hiring works, and that makes in person connections even more important.

Someone asked me this and here's my answer.

A review of what happened in the life of Kent C. Dodds in 2023

The story of how Epic Web came to be

Some advise for people who still consider themselves junior developers

I had a live streamed conversation with Joe Savona and Dan Abramov. Here's a summary of our discussion.

How I found and fixed a memory leak on kentcdodds.com

A review of what happened in the KCD world in 2022

I was involved in a very bad car accident in 2022. Here's the story.

Why and how I migrated from distributed postgres to distributed sqlite on kentcdodds.com

I've struck out on my own again to focus on my most ambitious project yet.

As I move on to my next adventure, I want to take this opportunity to review what I accomplished while at Remix.

Remix fills the missing piece that all React web applications need: The Network Chasm

I’ve built websites that are used by millions of people all over the world. I’ve made more mistakes than I care to count and I’ve had to deal with the

I'm making a career move to more effectively help you make the web (and the world) better.

I've written tens of thousands of lines of code with Remix and I want to tell you why I love using this framework.

A simple pattern used in libraries like downshift and ReachUI to enable component/hook users to initialize your state and even reset it to that initial value.

Let's see how learning React ⚛️ in the right order can make it less overwhelming.

TypeScript forces you to acknowledge you can't know what was thrown making getting the error message a pain. Here's how you can manage it.

How Unsplash's blurred image loading works and why I did mine differently for a more excellent experience on my site.

Remix has this beautifully simple feature for CSS that I want to tell you all about.

This site just experienced a huge rewrite and I want to show you around a bit.

I rewrote kentcdodds.com using the latest technologies and I want to talk about what I did.

How to create and expose React Context providers and consumers

What these mean, why they matter, and why they don't

How to interpret the testing trophy for optimal clarity

A comparison of different approaches to operating on an array

How eliminating problems can drastically simplify your codebases and life

The simplest distraction-free version of a remix app

All supported versions of Node.js support ESModules now. Here's how to get started using them.

How it works and how to work with it... and around it

A handy advanced TypeScript pattern to increase your productivity.

Why and how you can optimize your context provider's value to avoid performance issues

There are plenty of ways to do it, here's how I recommend typing React Components

The syntax for various functions and function types in TypeScript with simple examples.

Make a human readable list from an array in JavaScript.

Some things to think about before you decide to create your own component library.

How to make HTTP requests with fetch and TypeScript

How to make a custom hook that wraps useState with TypeScript properly

Have your JS expressiveness and type it too.

An overview of what I accomplished in 2020 and a bit about my goals for 2021.

How to convince "the business folks" to let you do what you want.

How to get help from Kent

The simple rules for when to use each.

The simplest getting started guide for Firebase Cloud functions

Easily create server code without worrying about managing servers yourself

How to get started using css variables

How I deprecated my most popular open source project in favor of a better library