All Episodes
Frontend First — 201 episodes
Creating a background gradient from an image
Exploring useActionState
Cloudflare Tunnel | React Compiler | refs during render
useAnimatedText | Events vs. State Changes | Catalyst
Can you self-host Next.js?
Tom Occhino on the future of React
Render props
Controlled and uncontrolled components
Unstyled React components
What is a framework?
Crossover: Declaring War Against the Frontend
Blog Post Club: Queueing - An interactive study of queueing strategies
SPAs in React 19
High floor, high ceiling
Technical Cost vs. Product Benefit
View Transitions in React
CodeMirror | Radix Themes
Throw is about control flow – not error handling
The Philosophy of Next.js
Beyond Data Fetching with RSCs
Blog Post Club: React Labs – What We’ve Been Working On
Instant URL search params in Next.js
React Deep Dive: useOptimistic
React Deep Dive: cache
Advanced Radix UI | Blog Post Club: React Server
The SQL Injection Slide
The Remix Architecture
Implementing RSC, Part 2: Server Actions
Implementing RSC, Part 1: Rendering
Should a navigation and a refresh show the same page?
Tim Neutkens on the Next.js App Router
Understanding prop passing from RSC to Client Components
Server-side rendering vs. Server Components
Reusable pending UI for forms with Server Actions
How Suspense led to Server Components (React Roundtable reaction)
Learning by copy-paste
What problems do React Server Components solve?
Implicit time zones and the TZ environment variable
React email previews and radial gradients
Blending modes and secure redirects
React Aria Components
JavaScript needs a model layer
Server Components and the React paradigm
HTML, HTTP, and React
Caching strategies
Saying goodbye to static generation
Building user search with React Server Components
Ship Small, Ship Fast
Lying in TypeScript
Animating a Stable Diffusion side project
Lessons from stitching GraphQL services with Hasura
How to solve a SSR/CSR mismatch using the DOM
Why we’re adding a CMS to Build UI
Testing is inescapable
Type safety from Hasura to SWR
Playing with Server Components in Vercel’s Edge Runtime
The problem with buttons on the web
Should you use merge commits or rebase when working on large codebases?
Read and discuss: Next.js Layouts RFC
All about useEvent
Strict Mode Behaviors in React 18
Reacting to Remix!
Client apps, server apps, and the real reason DX matters
Auth-based route guards in Next.js and debugging in production
What’s the link between Server Components and Suspense for Data Fetching?
Internal apps vs. public websites
How to bridge the gap from module scope to React rendering
Is Suspense “backwards compatible”, and thoughts on Remix & web standards
Transitions and Data Fetching with Suspense in React 18
Transitive Dependencies and Suspending After Initial Render
Suspense and the React 18 Keynote
Pages are new entry points
The benefits of smarter form components
Module side effects and import order
Mocking services
Shared reactive data without context or effects
The Costs of SSR in Next.js
Sync code, async UI
Using Suspense
Talkin’ Bout Suspense
Building headlessui.dev (fixed)
Should frontend development drive backend design?
Is Tailwind really an alternative to Bootstrap?
Does server-side generation make loading states more complex?
Best Practices for Imperative APIs in React
Auth: The Momentum Killer
Gestures and Animations with React Use Gesture and Framer Motion
Bundling client-server communication with packages for Next.js
Is GraphQL an implementation detail?
The convergence of frontend and backend frameworks
Key props vs. effects
How to test apps built on third-party services
Singleton components
Next.js vs. Gatsby, revisited
Adventures with Amplify
Does code splitting negate the benefits of building an SPA?
Stop Energy
Tech debt vs. platform risk
Safety and idempotence
Drew Powers on How Pika's Making the Web Faster
Tom Preston-Werner on Architecture Decisions in Redwood JS
Why the browser is the most complex runtime environment
Read and Discuss: "Second-guessing the modern web"
Everyone's sidestepping useEffect. Is everyone wrong, or is it React?
When APIs get misused, who's to blame?
WTF is the JAMstack?
Introducing: Frontend First
Coming soon: Frontend First
What's the fastest way to deliver an app?
What's been the primary driver of JavaScript adoption?
Does route-based code splitting make UX worse?
We can't stop talking about edge deploys
Yehuda Katz on Thinking Long Term about Experimentation vs. Fragmentation in OSS
Mike Perham on Sustaining Open Source with Sidekiq and Faktory
What's the best SPA architecture for edge deploys?
Declarative Code and DevOps
Launching Mirage JS!
When UI isn't a function of state
How should we style the stuff in between components?
Which concepts should a framework teach?
An ORM by any other name
When composability is not the answer
Yehuda Katz on Paradigms vs. Abstractions in UI Development
React is hard!
Does technology get popular for the right reasons?
Imports are not code – they're declarations
Server-side state means global resource identity
The Weekend Warrior Adoption Hypothesis
Side effects aren't declarative. What if they were?
What should be abstracted?
APIs are about Policy
Object references considered helpful
You gotta feel the pain
The burden of high-level APIs
Are staging environments an anti-pattern?
When libraries go unmaintained
Microscopic Frontends
Open source isn't free
Katie Gengler on the tech and processes that power the Ember community
Stateless development environments
Nathan Selikoff on Omnimodal's real-time tech stack
Frontend developers like us do things like this
Hark! The Halting problem sings
Edward Faulkner on Embroider, Ember CLI's modern build system
Derrick Reimer on SPA architecture with Elm and GraphQL
Do you trust your test suite?
Chris Garrett on Ember Octane
SPAs should do more than server-rendered apps, not less
You still have to build two apps
From build-time to run-time
Lenient libraries, strict applications
Mirage, meet Addon Docs!
There's a bug in my FastBoot
The forgotten middle class
Grab bag: Web vs Native, stale data, and build environments
Thoughts on tracked properties
Incremental Ember upgrades
The elephant in the room
Going all in on "outside in"
A less constrained environment
Recursive partial application
Compose wisely
A dropdown nest
Your frontend is ready for production
Scope down!
Can small libraries be conventional?
The Product Gap
80% done, 80% to go
Ember Octane
Melanie Sumner on empowering JavaScript engineers
I am a lighthouse
Jonathan Jackson on FastBoot Rehydration and Codemods
Provide this!
Jen Weber on imaginary bars
Mirage, meet Node
Let's be optimistic
A man can dream
Wrapping libraries reponsibly
Bugs vs. features
Toran Billups on Hot Reloading
Test before commit
Adam Wathan on Tailwind CSS
Robert Jackson and Tom Dale on Ember at LinkedIn
Concretions and abstractions
Sketch Prototyping and Amazon Workspaces
Alex Matchneer on Routing Patterns
Steelman vs. strawman
Making the impossible, impossible
Oli Griffiths on the Benefits of Static Typing and How Broccoli Works
JSONAPI Operations, Caching in FastBoot, and Ember's Strengths
Tom Dale on Static Analysis, Upstreaming Glimmer, and Ember in 2018
Babel Plugins, Compile-time Components, and Extending Integration Tests
Avoiding Imperative APIs and Expired Data
Breaking Production, Functional CSS and UI Components, and Testing Async Errors
Declarative Data Fetching, Disposable Code, Easier Upgrades, and the Upfront Cost of Ember
Photo Uploads, Server Errors in Ember Data, NPM Dependencies and Ember CLI Addon Docs
Async Relationships, Store Forking, and Batch Saving in Ember Data
Forms, Authentication, Ember 3.0, and Liquid Tether
Luke Melia on Styleguides
FastBoot, Structural Components and Ember Data Transactions
Glimmer, Ember's reputation and Tachyons