
The Call Kent Podcast
The Call Kent podcast is a regular podcast where you call in with a question and Kent answers. Call in with your questions right from your web browser with any device at https://kentcdodds.com/call.
Episodes

FSL-1.1-ALv2 Permitted Purpose for Kody
Bidhan Bhandari asks about using Kody as a private backend for a customer-facing voice/SMS application. Kent explains that self-hosting Kody for internal use is a permitted purpose under FSL-1.1-ALv2, but reselling Kody as a hosted service is not.
FSL-1.1-ALv2 Permitted Purpose for Kody

Exploring Interests at 15
A 15-year-old caller asks Kent about his advice for the next 5 years if he were 15 again, knowing everything he knows today. Kent suggests exploring different technologies and AI coding tools to broaden horizons and avoid focusing on specific frameworks too early. He emphasizes the importance of understanding what AI is doing and using it as a tool to learn.
Exploring Interests at 15

Exposing internal styles from design system
A caller wants to expose internal styles from their component library to consumers. Kent suggests using a variable to export the class names and using a library like CVA to create multiple variants of a set of class names. He also recommends against using disabled buttons as a workaround and instead suggests creating individual components for each use case.
Exposing internal styles from

What to learn
Kent C. Dodds answers a question about what to focus on in the future of software development, including the role of agents, MCPs, and workflows. He shares his thoughts on how to bring clarity to problems and how software developers will continue to be needed in the future.7 developer skills you’ll need in 2026Building Semantic Search on my ContentWhat to learn

Bridging the Gap to Community Influence as a Senior Engineer
Kent C. Dodds shares his insights on navigating the transition from a senior engineer to a recognized leader in the community. He emphasizes the importance of having a solid proof of work, creating a tight feedback loop, and using your SaaS products to guide your teaching. Kent also relates to the hesitation of losing hands-on engineering edge and provides a practical solution to maintain

Call Kent Podcast Updates
Kent discusses the new features on the Call Kent Podcast, including the ability to type questions and have them answered with an AI voice, and the option to remain anonymous. He also explains how these changes will improve the relevance of answers and titles.
Call Kent Podcast Updates

From AI Automation to Full-Stack Engineering
How to build toward full-stack software engineering while already working in AI automation, without starting over or losing career stability.
https://www.EpicWeb.dev/faq
From AI Automation to Full-Stack Engineering

Conference Workshop Advice
Asking for advice on workshops at tech conferences. I'm one of the planners for a conference we host in Chattanooga, https://sceniccitysummit.com/. Last year we hosted our first day of workshops. It wasn't as successful as we had planned. We want to try this again for our next event that will be on June 5th, 2025. I know that you have held workshops at conferences. So I was wondering if

Getting a Developer Job in the AI chaos
I ask Kent -- how to get a full-stack role at a great product-focused team given the AI scenario around.
I added a mini-question as well that -- I want to build my own small things on the side, may be they can turn out to be a SaaS business, so will a full-time role be viable to let me do my own small things on the side...?
Looking forward to your thoughts Kent!
-- Vivek
Getting a Develo

Significance of '===' in typescript applications
As '===' compares both type and value, what is the significance of '===' in Typescript app when variables are already typed. When the same functionality can be achieved with '==', why do we need to use '===' esp in Typescript applications
Significance of '===' in typescript applications

In which situations would you recommend using RSC with React Router?
Follow up to our little discussion on Twitter / X. What is the advantage of using RSCs? When is it better to use loaders and actions? What are the trade-offs?
In which situations would you recommend using RSC with React Router?

Web Framework Choice
Recently, I asked you about the career suggestion which definitely had helped me clear certain of my goals.. However, I would like to know about the framework that is more efficient and as per industry.
Web Framework Choice

Suggestion on Career Advice
I'm currently learning React.js and building small
projects to strengthen my fundamentals. From this
stage, what would be the right next steps to grow
further in web application development? (e.g.,
backend, full-stack, or advanced React concepts),
I'd also like to understand the earning potential in
this field as a career. What skills or milestones do
you think contribute the most towards

Request for oAuth implementation
I want to learn how you have managed oAuth flow in your mcp server that let's you connect your mcp server with chat gpt and other clientshttps://github.com/kentcdodds/kentcdodds.comRequest for oAuth implementationMCP Cohort 2025

How far can nested UI loaders go for UIs with list of components
the UI at https://nothing.tech/products/phone-3 renders a list of "widgets". I would like each of these widgets to have their own loaders to maximise page speed, furthermore I'd be able to "deeplink" a user straight into a widget. But how do I do that when a route can only have one Outlet?
Here's an example with Promise.all. Before:
// routes/dashboard.tsx
export async function loader() {

What should I learn next?
I know that Epic React 2 and Epic Web are completely different courses. Given that I’m already on the verge of completing Epic React 1, I’m currently confused about how to proceed next.
Should I go for Epic React 2 to solidify my React knowledge and learn about React 19?
Or should I pivot towards Epic Web, which offers a broader, full-stack curriculum that could help me become a more well

Does MCP make sense confined to a single app to rethink UX?
I was wondering if you could also use the tool calling, etc. inside of a single app to rethink the way that user interfaces work?
The future of AI interaction: Beyond just text
Does MCP make sense confined to a single app to rethink UX?

Stuck in Stack Switching: How Do You Commit to One?
In this recording, I talk about a recurring challenge I face when building proprietary solutions—constantly switching between frameworks like Next.js, React Router, and TanStack. I tend to shift tools when I hit roadblocks (like authentication issues), which makes it hard to commit and go deep with one tech stack. I’m reaching out to ask Kent for advice on how to stay focused and build wi

Building and Maintaining a Software Blog
What does it take to start a blog about software - and actually keep it going?
Blog Recorder
Building and Maintaining a Software Blog

Securing Routes in React Router Framework
I’m transitioning from SPAs with REST APIs to SSR applications using React Router Framework. While I’ve used layout routes and tools like SWR/React Query for route protection in React Router DOM, I just found out that actions in React Router Framework are still vulnerable to unauthorized POST requests. I use JWT auth with tokens stored in cookies—do I need to verify the JWT in every actio

Adding Auth to MCPs
How could a user authenticate themselves to access certain information that isn't public. Referring to Epicstack's MCP example.
MCP Spec on Authorization
Cloudflare Blog Post on MCPs
Adding Auth to MCPs

Running audio in background while still offline
In a web application what are the ways one can use custom audio file for notification on user devices while the user is offline.
Running audio in background while still offline

What do you think about mutation testing applied to components?
I’d love to hear your thoughts on mutation testing when applied to components. In my experience, it doesn’t seem to make much sense because it often reports that tests still pass after altering aspects that aren’t relevant to the component’s behavior. To me, this type of testing seems more suited for pure unit tests. What’s your perspective on this?
Make your test fail
Should I write a t

When is a Promise not good enough, and I need a Web Worker?
I just finished Expensive Calculations in React Performance. Why do we need a Web Worker instead of just wrapping the long-running function in a Promise that resolves when the function completes?
Expensive Calculations - Epic React Performance Workshop
When is a Promise not good enough, and I need a Web Worker?

How Useful is LiteFS in 2025?
In 2022 you migrated a blog from postgres to LiteFS. Is that generally recommended in 2025?
How Useful is LiteFS in 2025?

What are your thoughts about Qwik and hydration?
What do you think about resumability and Qwik? About 9 months ago, there was talk about Wiz and Angular working more closely together (Wiz was the tool that inspired Qwik). But Angular only committed to working on partial hydration support, not the full resumability like Qwik. So do you think React developers should care about this? If so, should they use partial hydration tools like Astr

Dependent driven motivation and embracing AI
I would like to know how you get motivated knowing that you have dependents and stay strong in the event of layoff.
How do you handle the fear of AI taking over job?
My original post
Jyoti's response
P.S. I didn't really mention much about AI so feel free to ask a follow-up on this for a more specific answer, but I would say that AI is just an important tool we need to learn and keep us

Does the testing trophy need updating for 2025?
In 2024, we live in a world where the defacto for creating React applications is SSR (e.g. Remix, react router v7, Next, TanStack). Coupled with the rise in performance, reliability and reduction of cost in running e2e tests by playwright and now vitest's Browser Mode, is it time to consider reworking the Testing Trophy to make e2e tests the largest proportion of the trophy?
This is start

Balancing Conventions and Flexibility in Large Codebases
I’m curious about your thoughts on balancing conventions in large codebases. For context, I’m working in a project with ~20 developers across four separate teams. Where do you think we should draw the line between enforcing conventions for consistency and leaving room for flexibility in individual contributions?
EpicWeb config
Balancing Conventions and Flexibility in Large Codebases

I'm a React dev... What now?
I build UI and UX for a company using React. What should I do next? How do I get to the senior level?
Stop Being a Junior
Go down to level up
EpicReact.dev
Build React Hooks
I'm a React dev... What now?

How to keep Type-Safety when defering data from a Remix loader
While using the defer utility on a loader, the result useLoaderData hook on the component, does not have proper types any more, and im looking a effective way to keep my types chilling
How to keep Type-Safety when defering data from a Remix loader

Good open source projects implementing frontend testing strategy
What are good examples of open source projects implementing extensive automated testing strategy for frontend?
Epic Stack
Skill Recordings Products
TestingJavaScript.com
Testing Fundamentals Workshop
Web Application Testing Workshop
Good open source projects implementing frontend testing strategy

Should I learn GraphQL or just stick with REST?
When we have to learn GraphQL? Is it worth to learn it or REST APIs are enough?
Should I learn GraphQL or just stick with REST?

React Components vs Progressive Enhancement
Hi, Kent, my name is Alex. On one hand, you advocate for implementing Progressive Enhancement technique for applications. On the other hand, even in Epic Stack, the use of custom React components is justified, even for a simple checkbox, which essentially makes the application non-functional without JavaScript. So, I'm struggling to decide whether it's worth trying to develop a Progressiv

Test Cleanup: in the test or in afterEach
My coworker were in an argument about where test cleanup should go (afterEach, or in the test?), and I thought you might have some great insights!
Avoid Nesting when you're Testing
AHA Testing
Test Cleanup: in the test or in afterEach

How many hours do you spend coding?
simple question on time commitments to coding.How many hours do you spend coding?

Remix Vite: Debugging Production issues
My Remix Vite App Has Slow Initial Requests that takes up to 10 minutes loading the page then it will serve pages faster after that event if change devicesconsole.time and console.timeEndpatch-packageRemix Vite In Production

Inspired by Your Work
Hi Kent,My name is Mahdi Nazari, and I've admired your work for the past year. Your website has been a wellspring of inspiration, particularly your unique lifestyle and the impactful way you're shaping the world. To sum up, I really love it.As a graduate Geographic Information Systems (GIS) graduate student, I've had the pleasure of utilizing your JS libraries in my projects. They've prov

When to add a CSP (Content Security Policy)
Should one consider CSP at the very early stage of starting a new website or under what conditions should one consider implementing CSP.
CSP on MDN
Content-Security-Policy-Report-Only
When to add a CSP (Content Security Policy)

Do generated types from OpenAPI spec change testing?
Hey Kent! I've been thinking about something lately. I've worked at a number of different sass companies and something that is always an interesting problem is how we end-to-end test a software application that has a UI.
I love the idea of testing for confidence and, to that end, I've been wondering how we might begin to shift our thinking about confidence testing when we use some communi

Prevent revalidation of remix loaders after mutation
Hello Kent, here is a transcription of my message, if you did not catch something. Thanks! I have a component that im importing in a dashboard folder in an index.js file. I'm using fetcher.form to submit a form with the Post method. the request is succesful, but when I click on sumbit, this reloads all of the requests of my loaders from different components that are being rendered in the

Design the React component library
How to develop component library which can easily adapt multiple design languagesMux Player: Customize the look and feelReact AriaReact SpectrumDesign the React component library

SEO Optimization and Hosting
Seeking advice on optimizing website hosting for SEO with Remix.Search Engine Optimization on EpicWeb.devHow I built a modern website in 2021I Migrated from a Postgres Cluster to Distributed SQLite with LiteFSFly.ioPartyKit

Progress bar for mutations in Remix
Hi Kent!
How do you create a progress bar for actions in Remix?
Like if a request takes maybe 10 or 20 seconds to finish and you want to give your users some feedback that things are progressing?
Best regards,
Jan
useNavigation
kentcdodds.com progress
epic-stack progress
Progress bar for mutations in Remix

Mocking in the full stack metaframework Era
When we were building client side application mocking during e2e tests was a bit easier because you could just monkey patch fetch and call it a day. Today we also control the server so the line has a bit shifted. There are solutions, like MSW, to mock on the server side too but what if instead of an API call you query a db?
Mocking in the full stack metaframework Era

How do you create advanced content for developers
The content for new developers is everywhere, but finding quality insight that helps you level to senior and above is hard to come by. This is in part because such content is difficult and time consuming to make. What goes into making such content and is there a lack of it in our industry?
How do you create advanced content for developers

A Button Per form or One Form with Multiple Buttons
Hi Kent,
It's Jan 👋
When creating a dropdown menu (e.g. to pick a role in an organization), would you wrap the whole menu in a form tag and then render multiple buttons within that form (one for each role)? Or would you render multiple forms (one for each role) with each having their own submit button?
Thanks a ton if you answer!
Best regards,
Jan
A Button Per form or One Form with Multi

Toasts in Remix
Hi Kent,
It's Jan.
I'm currently working on implementing toasts in a Remix app. I was using the Epic Stack as a reference.
BTW, thank you for creating it, it's so nice to take some features and functionalities from it when you need them!
Anyways, it looks like the implementation of the toast in the Epic Stack does NOT work with JavaScript disabled. But theoretically, you could make toasts

Unpaid internships and indentured servitude
So, recently I started looking for my first software job. The first offer I received was from a company looking for an intern. The internship had the following conditions: 1) the first 3 months of it are unpaid 2) you have to sign a contract after the 1st month of it that obligates you to stay at the company 2 years after the internship is ended. I rejected it because I felt like you neve

It's fine to re-render
My question is around the optimization techniques that a lot of people apply to React apps. I see very often how devs focus on executing their components only once or twice. What I think matters at the end is if there any changes in the actual DOM tree. If not they in theory should be ok to see your functional components fired many times.
One React mistake that's slowing you down
Improve

Data Structures and Algorithms
Is Data Structures and Algorithms is necessary to become a successful full-stack engineer?
Data Structures and Algorithms

Remix Flat Routes vs Remix v2 Router
What are the pros and cons of the flat routes vs the v2 router? Are you planning to switch at some point?
New File System Route Conventions by Ryan
Remix Flat Routes vs Remix v2 Router

Generating CSS with Remix Resource Routes
Hi Kent. I am building an app where product sellers can add their products and they by default get a website listing their products.
On the app can make some basic customizations for their store website such as color, border radius etc. And each store owner's website is a subdomain. e.g kentstore.xyz.com
I am using remix for the stores. On page load, I want to fetch the styling config for

Using Downshift with Conform to manage an input
Hi Kent ! I'm Virgile, big fan of your work, and I have a question regarding your article 'Full Stack Component'.
I am currently using a combobox, managed by useCombobox from the downshift library.
But I would like conform to take over the input props management, while still getting the autocomplete features.
I'm curious how you would implement it.
Turn Progressive Enhancement up to 11

Jake Lazaroff’s article on Web Components
Curious about your thoughts on this article Web Components Will Outlive Your JavaScript Framework
Why I don't use web components
Jake Lazaroff’s article on Web Components

Code Organization in Full Stack Apps
Do you have some best practices for scale Remix applications with Prisma regarding testability, reusability, and separation of concerns? When do you decide to move functions and business logic from loaders and actions to a .server file? Do you have functions like getUsers in a user.server file or do you call the database directly in the loaders?
Code Organization in Full Stack Apps

Client Hints and profiling
Can home made client hints like the one you are using in Epic Web Stack be seen as profiling?
Use Client Hints to Eliminate Content Layout Shift
Client Hints and profiling

Building and Testing an MDX-based Blog
What is a good way to test fs modules and why converting MDX on runtime is better than runtime.
Building and Testing an MDX-based Blog

EpicWeb.dev is now available!
Yes, this is Kent calling himself. I just wanted to let all subscribers to the podcast know that https://EpicWeb.dev is available today!
EpicWeb.dev is now available!

What is full stack for EpicWeb.dev?
What do you consider full stack? E.g. some people think that full-stack should include devOps, some don't. What do you think? And does EpicWeb consider devOps to be apart full stack?
Deploy Web Applications All Over the World
What is full stack for EpicWeb.dev?

Improving as a software engineer
Foundational knowledge needed to build complex systems in software
Improving as a software engineer

Why didn't you break root.tsx into smaller components?
root.tsx is over 300 lines. Is there a reason for keeping all the functions in one file? Why don't you split each function in separate a file and import it?
When to break up a component into multiple components
Why didn't you break root.tsx into smaller components?

Am I stuck in tutorial heck?
Recently I quit my job as frontend development instructor and I'm aiming to get a job as frontend developer. Before I apply for job openings I'm planning to go through several courses, create complex projects for my portfolio and only then apply for the job.
My friends are saying I'm overcomplicating the process and I may get into the flow after I got the work. But as I'm aiming at middle

Scaling Epic-Stack in a single region
Hi Kent, my name is Tim,
I have a few questions regarding scaling the Epic Stack within a single region.
With the assumption that we are having huge amount of users in one region, my question is would you recommend switching to other database technologies or would you have multiple SQLite replicas in the same region, with each of them being connected to remix apps in a 1-1 manner
My secon

React Lazy initializers Call Order
I am seeing Lazy initializers are not calling first, but in the diagram it motioned it calls first
React Lazy initializers Call Order

How do you approach major project updates
I would love to hear your thoughts on approaching major project refactors. We all have been in that situation where you want to use the newest things available, but the codebase is really old. Do you create a new project? Do you try to update component by component? Is there a "don't go that route"?
How do you approach major project updates

Organizing your first workshop
I was approached recently to give a full-day workshop at a conference I'm excited about. But... how hard is it to organize a curriculum? What questions should I ask the organizers ahead-of-time before saying yes?
How I Teach
Organizing your first workshop

Conform sets novalidate & validation attributes?
Hey, Kent! I'm trying out @conform-to/react, specifically the useForm hook. I noticed that it sets novalidate: true on the form even if JavaScript is disabled. I'm wondering: Why does it add validation attributes to the inputs then if they're not being used for validation anyway, regardless of whether JavaScript is enabled or not?
Conform sets novalidate & validation attributes?

My skill stuck at current job, should I quit?
I have been in current team for couple years, and feel my skills are kind of stuck because I have spent too much time fighting with the team refusing to get better. I have learned only from myself, but not much from the others, and can't really fix everything by myself.
Business and Engineering alignment
My time has been spent inefficiently to be honest in the past few years because lot

How do you host your videos?
Hi Kent!
I was wondering, how do you host your videos?
Such as: https://www.epicweb.dev/tips/quickly-determine-whether-a-module-is-bundled
It looks like they're custom hosted, so I was wondering how you do that.
The Epic Stack shows how you save images, and it would be interesting to learn how you host videos, too.
Thank you and best regards,
Jan
Skill Recordings
Mux
How do you host yo

How are you still productive!?
What's changed from 2018 in regards to how you're able to achieve such high levels of productivity? Do you still spend more time producing than ingesting courses?
How I am so productive
How are you still productive!?

Best practice for using localStorage in React
Lots of examples demonstrate wrapping localStorage setters and getters in hook, but no one ever explains why they don't just use localStorage directly.
Best practice for using localStorage in React

Remix Full-Stack Components (vs Server Components)
With React Server Components getting more traction, this idea of each component being able to fetch its own data seems to getting more popular rather than data-fetching being purely route-based.
In Remix-land, you’ve had a talk about “full-stack components” with a similar concept where a “resource route” can have no default exports but still export a loader and a React component in order

A 10 year old itch to make a switch (QA to dev)
For 10 years, I feel that I've been separated away from my true love, which was coding. I'm 35 now, married, and have a kid. Some people say that its too late to be a developer now. But, I want to give it just one shot so I wouldn't have any regrets later. This time, I'm following my heart! Away I sail, onto this pathless path.
How to get experience as a software engineer
The Beginner's

Should I go to college or not?
looking for directionShould I go to college or not?

Resources to learn senior development skills
As my career has progressed, the types of problems I face have also progressed - questions like "How should we architect this solution" and "How should we decide between these trade-offs". However, I've struggled to find resources to help me learn these skills. Are there any resources that you would recommend and, in general, how do you continue to learn and progress even as you reach mor

Passing state across components in RemixJS
If I was just using plain React, I would use the Context API or even global variables to keep track of the state of an application. Whats the best way to achieve this when using Remix?useOutletContextP.S. You can definitely still use context if you like!Passing state across components in RemixJS

How To Deal with Hiring Developers?
I have to manage my projects and outsource them, otherwise, I would never make enough money to keep my business afloat. I have this problem, where, when I start a project, the product owner will ask questions like, "What happens if you die?" and my best answer to that is, "That's why we have employees". But, when I go to hire employees, sometimes they completely just ignore the stack that

Why do you use the Express adapter for your app?
I've seen you're using the Express adapter for your Epic Stack and your personal website, as opposed to just running the Remix dev server. Why is that? Are there any performance implications?Why do you use the Express adapter for your app?

Minimum skills for a Frontend dev job?
What is the minimum skill set one need for a front end dev job. Do you need to know version control, testing, tooling etc or is js html css and a framework enough, also is typescript considered.Minimum skills for a Frontend dev job?
Recommended

TED Business

Dark Night Tales with Brian King

Fantasy Flex

زن بودن

Medicine with Meaning

Yours Truly Johnny Dollar Collection

Take Back Your Health®

CBS Radio Mystery Theater | Old Time Radio

Solved Murders - True Crime Stories

紐約鳥|New York Aperture

The Swerve Podcast: Obscure Topics | Conspiracy Theories

The Bread and Banter Podcast