Player FM - Internet Radio Done Right
17 subscribers
Checked 15d ago
Added four years ago
Content provided by Kent C. Dodds. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kent C. Dodds or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
Player FM - Podcast App
Go offline with the Player FM app!
Go offline with the Player FM app!
Podcasts Worth a Listen
SPONSORED
<
<div class="span index">1</div> <span><a class="" data-remote="true" data-type="html" href="/series/lost-cultures-living-legacies">Lost Cultures: Living Legacies</a></span>


What can we discover about a place by exploring the histories of those who once lived there–and those who live there still ? In what ways do cultures build upon each other as populations come and go? How do they complement each other, interact, and leave their marks on the people that come after them? And are cultures truly ever lost, even if the people move on or evolve and adapt? Lost Cultures: Living Legacies—the award-winning podcast from Travel + Leisure—returns for Season 2. This season, we’re diving into the stories of vibrant communities around the globe, including the Kānaka Maoli of Hawai‘i, the Sámi of Norway, the Baghdadi Jewish community of India, and more!
How to keep Type-Safety when defering data from a Remix loader
Manage episode 439155555 series 2982717
Content provided by Kent C. Dodds. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kent C. Dodds or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
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 loader214 episodes
Manage episode 439155555 series 2982717
Content provided by Kent C. Dodds. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Kent C. Dodds or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ppacc.player.fm/legal.
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 loader214 episodes
All episodes
×T
The Call Kent Podcast

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-rounded developer? I’d appreciate any guidance on which path might be more beneficial at this point in my learning journey. What should I learn next?…
T
The Call Kent Podcast

1 Does MCP make sense confined to a single app to rethink UX? 4:53
4:53
Play Later
Play Later
Lists
Like
Liked4:53
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?
T
The Call Kent Podcast

1 Stuck in Stack Switching: How Do You Commit to One? 5:14
5:14
Play Later
Play Later
Lists
Like
Liked5:14
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 with confidence without always second-guessing my choices. Stuck in Stack Switching: How Do You Commit to One?…
T
The Call Kent Podcast

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

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 action on each route, or is there a global solution like Fastify’s onRequest hook? React Router v7.3.0 changelog which introduces middleware support Securing Routes in React Router Framework…
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
T
The Call Kent Podcast

1 Running audio in background while still offline 2:41
2:41
Play Later
Play Later
Lists
Like
Liked2:41
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
T
The Call Kent Podcast

1 What do you think about mutation testing applied to components? 6:23
6:23
Play Later
Play Later
Lists
Like
Liked6:23
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 test or fix a bug? What do you think about mutation testing applied to components?…
T
The Call Kent Podcast

1 When is a Promise not good enough, and I need a Web Worker? 5:40
5:40
Play Later
Play Later
Lists
Like
Liked5:40
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?…
T
The Call Kent Podcast

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

1 What are your thoughts about Qwik and hydration? 7:20
7:20
Play Later
Play Later
Lists
Like
Liked7:20
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 Astro today or wait for something like resumability to be added to React? 𝕏 Post What are your thoughts about Qwik and hydration?…
T
The Call Kent Podcast

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 using the best tools to get the best benefits. Check out this Epic Programming Principle: Adapt to and adopt productive tools Dependent driven motivation and embracing AI…
T
The Call Kent Podcast

1 Does the testing trophy need updating for 2025? 10:17
10:17
Play Later
Play Later
Lists
Like
Liked10:17
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 starting to make more and more sense to me as e2e tests are becoming as cheap to execute as integration tests, whilst integration tests are more complex to write in a SSR application without mocking client side or server side code. The Testing Trophy and Testing Classifications Vitest Browser Mode @epic-web/app-launcher Does the testing trophy need updating for 2025?…
T
The Call Kent Podcast

1 Balancing Conventions and Flexibility in Large Codebases 6:54
6:54
Play Later
Play Later
Lists
Like
Liked6:54
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…
T
The Call Kent Podcast

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?
T
The Call Kent Podcast

1 How do you create advanced content for developers 9:54
9:54
Play Later
Play Later
Lists
Like
Liked9:54
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…
T
The Call Kent Podcast

1 A Button Per form or One Form with Multiple Buttons 4:50
4:50
Play Later
Play Later
Lists
Like
Liked4:50
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 Multiple Buttons…
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 in Remix progressively enhanced by giving the close button a form and prevent default when JavaScript is enabled. It looks like the library you're using in the Epic Stack - Sonner - does NOT expose the close button, so you can't progressively enhance it. Was it a conscious decision to make the toast JavaScript only? Or let me ask the decision more openly, what are your thoughts on this? As always, thanks a ton! Toasts in Remix…
T
The Call Kent Podcast

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 never know what that company may turn out to be. For example, it may try to exploit you and pay you the bare minimum for the job you're doing preventing your career growth and your only option may be to wait for that contract to expire and then start looking for a higher position at another company. I'd like to ask your opinion about: unpaid internships internships that obligate you to stay at the company for 1 or 2 years once the internship is ended companies that follow both of these practices Unpaid internships and indentured servitude…
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 the Performance of your React Forms Fix the slow render before you fix the re-render One simple trick to optimize React re-renders It's fine to re-render…
T
The Call Kent Podcast

Is Data Structures and Algorithms is necessary to become a successful full-stack engineer? Data Structures and Algorithms
T
The Call Kent Podcast

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
T
The Call Kent Podcast

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 the website from the db. What would be the best approach for this ?. Your insight would be very valuable to me I look forward to your response. PS: I am totally loving the epic-web course. You're simply amazing. Remix Resource Routes docs Epic Web Resource Routes Exercise Generating CSS with Remix Resource Routes…
T
The Call Kent Podcast

1 Using Downshift with Conform to manage an input 6:22
6:22
Play Later
Play Later
Lists
Like
Liked6:22
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 Using Downshift with Conform to manage an input…
T
The Call Kent Podcast

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
T
The Call Kent Podcast

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…
T
The Call Kent Podcast

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
T
The Call Kent Podcast

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
T
The Call Kent Podcast

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!
T
The Call Kent Podcast

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?
T
The Call Kent Podcast

1 How to keep Type-Safety when defering data from a Remix loader 4:21
4:21
Play Later
Play Later
Lists
Like
Liked4:21
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
T
The Call Kent Podcast

1 Good open source projects implementing frontend testing strategy 3:43
3:43
Play Later
Play Later
Lists
Like
Liked3:43
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
T
The Call Kent Podcast

1 Should I learn GraphQL or just stick with REST? 2:50
2:50
Play Later
Play Later
Lists
Like
Liked2:50
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?
T
The Call Kent Podcast

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 Progressive Enhancement UX at this time or if it's still an unattainable ideal. Kent Dodds - Bringing Back Progressive Enhancement - RenderATL 2022 React Components vs Progressive Enhancement…
T
The Call Kent Podcast

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
T
The Call Kent Podcast

simple question on time commitments to coding. How many hours do you spend coding?
T
The Call Kent Podcast

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 devices console.time and console.timeEnd patch-package Remix Vite In Production
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 proven to be invaluable tools. Currently, I'm embarking on a journey to build my brand, a platform to share my mission, passions, and more. Your approach resonates deeply with me – it offers a compelling way to communicate my values and ignite a spark in others. If you were starting your brand from scratch today, what pearls of wisdom would you offer someone embarking on a similar path? Is there any course or book or someone who can help me in this path? Any insights you could provide would be immensely valuable. Thank you for your time and for the constant inspiration you provide, Mahdi Nazari Kent's Appearances 2010s Decade in Review Tribes: We Need You to Lead Us by Seth Godin Inspired by Your Work…
T
The Call Kent Podcast

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)
T
The Call Kent Podcast

1 Do generated types from OpenAPI spec change testing? 6:50
6:50
Play Later
Play Later
Lists
Like
Liked6:50
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 communication protocol, like GRPc or OpenAPI to and use those protocols to generate things like static types. If a backend and frontend are both very well integration tested and the both use auto-generated types from the same spec file, how much e2e testing do we really need? It seems like the spec file would help bridge that confidence gap a lot for us. I worked at a relatively large sass company once and we had about 300 e2e tests that ran on every PR. It took way too long, but we had a very high level of confidence when we shipped code. We had integration tests too, but I wonder as I reflect on that experience, should we have focused way more on integration tests and integration testing larger features of the software knowing that we had type safety from the communication protocols we used. Really hoping to hear back from you! I respect your thoughts on testing a lot and I'm a long time consumer of your open source libraries and ideas. Do generated types from OpenAPI spec change testing?…
T
The Call Kent Podcast

1 Prevent revalidation of remix loaders after mutation 4:05
4:05
Play Later
Play Later
Lists
Like
Liked4:05
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 dashboard folder. how can I avoid the reload of unrelated loaders in the same folder (dashboard)? shouldRevalidate Unwanted loader reloading using fetcher.form in shared folder.…
T
The Call Kent Podcast

How to develop component library which can easily adapt multiple design languages Mux Player: Customize the look and feel React Aria React Spectrum Design the React component library
T
The Call Kent Podcast

Seeking advice on optimizing website hosting for SEO with Remix. Search Engine Optimization on EpicWeb.dev How I built a modern website in 2021 I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS Fly.io PartyKit
T
The Call Kent Podcast

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…
T
The Call Kent Podcast

1 Mocking in the full stack metaframework Era 10:14
10:14
Play Later
Play Later
Lists
Like
Liked10:14
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…
Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.