Skip to content
Full Stack Radio podcast artwork

PODCAST · technology

Full Stack Radio

by Adam Wathan

A podcast for developers interested in building great software products. Every episode, Adam Wathan is joined by a guest to talk about everything from product design and user experience to unit testing and system administration.

Publisher-supplied feed metadata · PodParley refreshed Mar 20, 2026 · Source feed

Episodes

  1. 153: DHH – Omarchy and Designing Your Own OS on Arch Linux

    I talk to DHH about Omarchy, the carefully curated distribution of Arch Linux he's been refining for the last few months. We talk about stuff like: How did he discover Arch + Hyprland in the first place? What even is Arch, what even is Hyprland, and how the fuck do you make the mouse show up in...

  2. 152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company

    Topics: Putting yourself in the shoes of the person reviewing your application Crafting a high quality application tailored to a specific position Standing out in a more traditional hiring process by doing something a little extra Showcasing very specific examples of your work instead of asking…

    more
  3. 151: DHH – Building HEY with Hotwire

    Links: Hotwire HEY Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to purchase one of my products: Tailwind UI, a collection of...

  4. 150: Secret Screencasting Tips & Behind the Scenes of Tailwind CSS 2.0

    Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to check out our products: Tailwind UI, a collection of professionally designed, fully...

  5. 149: Choosing a Payment Processor, Radical Icons & W3C Hype

    Links: Changes to Gumroad's PayPal support Radical icons Jack's hand-drawn avatars W3C's CMS Selection Report Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the...

  6. 148: Accessible Focus Styles, Tailwind Labs on YouTube, and Secret Projects

    Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to check out our products: Tailwind UI, a collection of professionally designed, fully...

  7. 147: Surviving GitHub Issues, the Statamic 3 Launch Aftermath, Tailwind 1.8, and Headless UI

    Supporting the show: I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them. If you do want to support the show, the best way to do it is to check out our products: Tailwind UI, a collection of professionally designed, fully...

  8. 146: Launching Statamic 3, GitHub Sponsors, Tailwind CSS v1.7, and Preparing for Laracon

    Adam and Jack talk about how the Statamic 3 launch went, and adding GitHub Sponsor tiers to the Statamic GitHub organization and what to give people in exchange for sponsoring. They also talk about the new Tailwind CSS v1.7 release, and the new features like gradient support. Finally, they work...

  9. 145: Statamic 3.0 and Tailwind CSS 2.0

    Links Statamic 3.0 Tailwind CSS v1.7.0 @90sWWE on Twitter

  10. 144: Gary Bernhardt - TypeScript and Testing

    Topics include: Why Gary decided to write Execute Program as a full-stack TypeScript application instead of using a Ruby or Python backend like he may have traditionally Do you actually have to write less tests if you have a good type system? What does a good type system give you that tests can't...

  11. 143: Rich Harris - Svelte and Defending the Modern Web

    Topics include: What is Svelte and how is it different than other JS frameworks in the space? What special behavior does the Svelte compiler layer on top of vanilla JS syntax and why? Why the lack of render functions in Svelte isn't a real problem in practice What are you giving up when you…

    more
  12. 142: Jason Cohen - Learning to Hire and Manage a Team

    Topics include: How do you decide what role to hire for? Why it's so important to figure out exactly what your biggest struggle is before hiring How to decide what the most important thing to focus on is when it feels like there's too much to do Why it's important to consider the impact of hiring...

  13. 141: Jason Fried - Running the Tailwind Business on Basecamp

    Topics include: How did Basecamp evolve from being a team/client communication tool to focusing on keeping your whole company organized, and is it really even that different? How exactly should we set up Basecamp on day one to support a small 3-5 person remote software team? What tools should we...

  14. 140: Evan You - Reimagining the Modern Dev Server with Vite

    Topics include: What is Vite and what makes it different than existing tools like Webpack? How do ES Modules actually work in the browser and what are the limitations? Will we ever be able to use ES Modules in production for large complex projects? How does Vite work under the hood, and how does…

    more
  15. 139: Alex DeBrie - DynamoDB for Relational Database Diehards

    Topics include: Does DynamoDB only make sense for things like your cache, or is it a good choice for a primary data store? An overview of the terminology used in DynamoDB and how the terminology compares to a relational database How primary keys work in DynamoDB What data types are available in...

  16. 138: Tom Preston-Werner - Building Full-Stack JS Apps with Redwood.js

    Topics include: What does it mean for Redwood to be a JAMStack framework? What does the React layer look like? What’s new, and what’s leveraging existing community tools? Why Redwood ships with it’s own routing layer What “cells” are in Redwood, and how they aim to provide a declarative…

    more
  17. 137: Tim Neutkens - Continuing to Innovate with Next.js 9.3

    Topics include: An overview of the new getStaticProps, getStaticPaths, and getServerSideProps APIs How Next.js helps you serve static pages from an edge CDN automatically, without affecting the actual authoring experience Using getStaticPaths to statically pregenerate dynamic routes How the...

  18. 136: Michael Chan - React Is Not a Rails Competitor

    Topics include: What do people actually mean when they say "I used to use Rails, but now I use React"? Why back-end development is still a crucial part of building any web application What third-party services people are using to try and replace custom back-end code Would you default to building…

    more
  19. 135: Lessons Learned Building Tailwind UI

    Topics include: What Tailwind UI is and why we decided to build it How odd numbers can wreak havoc on a user interface, and how to avoid them Crafting the perfect form control Unexpected benefits of working with CSS Grid Abusing single column grids just to use gap, and why we desperately need gap...

  20. 134: Mark Dalgleish - You Should Be Using Layout Components

    Topics include: What problems you run into when baking white space into components, and why your components should never contain any surrounding white space at all Layout challenges you run into due to the way the browser includes line-height in the size of text elements The trick Mark's team…

    more
  21. 133: Sam Selikoff - Building Production-Ready SPAs Fast with Mirage.js

    Topics What is Mirage and how does it work? What makes Mirage better than a dummy JSON server you run on another port? What makes Mirage better than running your actual API locally? Using Mirage for actual development, and not just for your test suite How Mirage's internal ORM works, and how it…

    more
  22. 132: Caleb Porzio - Just Enough JavaScript with Alpine.js

    Topics include: What is Alpine and what does it replace? How does Alpine compare to Vue? How does Alpine compare to Stimulus? “Why not just use vanilla JavaScript you dummy?” How Alpine works internally Patterns for extracting reusable behaviours with Alpine The Alpine roadmap Sponsors: Tuple…

    more
  23. 131: Ryan Singer - How Basecamp Builds Software

    Topics include: Why "fixed time, variable scope" is so important for actually getting things done Integrating development and design into a single process instead of design first, develop later What it means to "shape" work before deciding to work on it What it means to "bet" on a project, and…

    more
  24. 130: David Khourshid - Building Better UI Components with State Machines

    Topics include: What exactly is a finite state machine? Why trying to keep track of a component's status using boolean flags is leads to bugs and complex code Why it makes so much more sense to keep track of a component's state using some sort of label How simple it can actually be to implement…

    more
  25. 129: Evan You - What's Coming in Vue.js 3.0

    Topics include: What were the first feature/change ideas that got the wheels turning for Vue 3 How Vue's underlying VNode data structure is changing and how that affects users who work directly with render functions How the h function works in Vue 3 and how it helps you write code that's more...

  26. 128: Alasdair Monk - Scaling CSS at Heroku with Utility Classes

    Topics include: Why Heroku introduced BEM to try and solve their CSS issues and why it didn't work How custom tooling and Ember's component system alleviated any maintainability concerns about littering the HTML with presentational classes Why Heroku still uses some component classes like "btn"…

    more
  27. 127: Jonathan Reinink - Building Modern Monoliths with Inertia.js

    Topics include: What Inertia.js is and what problem it solves Why Inertia is more like a protocol than a framework How navigation works in Inertia How form submissions work in Inertia How Inertia automatically updates your assets for visitors when you update your code Handling flash messages and...

  28. 126: James Long - Building Distributed Local-First JavaScript Applications

    Topics include: How do you keep data synchronized between two different clients when all of the data is stored locally instead of in the cloud? Understanding conflict-free replicated data types and how they help when building distributed applications Diving deep into how messages are replayed...

  29. 125: Rob Walling - Choosing the Right Product Idea

    Topics include: Brainstorming ideas vs. paying attention to your own problems Why it's smart to start with a product that might never make a million dollars a year Should you avoid markets with competition? Why it's a good idea to build something for fewer people Strategies for figuring out how...

  30. 124: Leslie Cohn-Wein & Rafael Conde - Designing the User Interface at Netlify

    Topics include: Creating pixel-perfect mockups in advance vs. designing and implementing in tandem Working with existing JS libraries for interactive UI features vs. hand-rolling a custom implementation from scratch How design systems play into the design process at Netlify, and how mockups…

    more
  31. 123: Ian Landsman - Marketing and Positioning a New Tailwind CSS Product

    Topics include: Building website templates vs. a UI kit Should the product be positioned as a UI library or an educational resource? One-time purchase pricing vs. subscription pricing vs. some combination of the two Why marketing features can sometimes be better than marketing benefits "Dribbble...

  32. 122: Matt Biilmann - Architecting the Netlify Dashboard with React and Redux

    Topics include: Walking through how a single screen in the app is rendered in step-by-step detail How they separate container components and presentational components to make things easier to reason about How the Redux store is organized How they handle caching data on the client and deciding…

    more
  33. 121: Benedikt Deicke - Building Userlist.io

    Topics include: The risks and technical challenges of building client-side API integrations and why Benedikt decided to focus on a server-side integration for launch Building Userlist with Ember instead of trendier tools like React How the Ember app authenticates with the Rails API Strategies for...

  34. 120: Taylor Otwell - Serverless Laravel with Vapor

    Topics include: What is serverless? What AWS services Vapor manages and how they are billed Using a single RDS instance with multiple databases Understanding cold boots with Lambda and how to minimize the effect they have on your application's performance Performance on Vapor How queues work with...

  35. 119: Ryan Toronto - Why a Back-End Developer Made the Switch to SPAs

    Topics include: How modernizing a Flash app drove Ryan to start building SPAs How products are really just user interfaces to the end user, and why that means it makes sense to make the UI the core of your codebase Why the backend will continue to be commoditized and application developers will…

    more
  36. 118: Aaron Gustafson - Semantic HTML: The Hard Parts

    Topics include: Can you have more than one "h1" on page? How important is heading order? Why not everything that looks like a heading should necessarily be a heading Why you may want to include invisible headings in some situations What the document outline is and how your use of headings impacts...

  37. 117: Mitchell Hamilton - Writing CSS-in-JS with Emotion

    Topics include: What CSS-in-JS even is What Emotion does differently than other CSS-in-JS libraries How to actually use Emotion to style your projects How the JSX pragma works and what it's for How Emotion works under the hood Performance Adding global styles to your project Style re-use and...

  38. 116: Jerod Santo - Building the Changelog Platform with Elixir and Phoenix

    Topics include: How pattern matching works in Elixir and why it's more powerful than method overloading in other languages How Elixir's pipe operator makes the transition from OO to functional programming more natural Why you don't need to be intimidated by unfamiliar features like GenServers to...

  39. 115: Jason Lengstorf - Gatsby for Skeptics

    Topics include: How Gatsby is more than just a static site generator How you create pages with Gatsby and how it's more powerful than traditional static site generators The benefits of having a unified data access layer for all of your content How to build dynamic applications with Gatsby Why...

  40. 114: Sebastian De Deyne - React for Vue Developers

    Topics include: How Vue focuses on making things easy at the cost of a more complex API, while React focuses on keeping things simple at the cost of a steeper learning curve How to translate Vue's computed properties to React using the useMemo hook How to translate Vue's watchers to React using…

    more
  41. 113: Justin Jackson - Growing Transistor to $10,000/month

    Topics include: Why you need more than just a product, and what Justin brings to the table in his partnership with Jon How having an audience helped him get his first customers, even in a crowded market Why you should use every advantage you have to get people in the door, even though the only...

  42. 112: Guillermo Rauch - Building Serverless Applications with Now

    Topics include: How Now is trying to bring the CDN experience to your server-side code How the constraints of serverless can nudge you to build more robust solutions How to talk to a database in a stateless serverless environment Best practices for deploying serverless code when you have a...

  43. 111: Jeffrey Way - Building the New Laracasts with Tailwind CSS

    Topics include: How Jeffrey has written CSS historically, and what drew him to a utility-first approach Incrementally replacing Bulma with Tailwind The importance of solidifying your Tailwind configuration before beginning to implement a design The new Tailwind color system Why choosing a color...

  44. 110: Caleb Porzio - Embracing the Backend with Livewire

    Topics include: Pain points you run into when you are working in a JS based UI instead of a server-rendered UI What Livewire is and where the inspiration came from How Livewire lets you build interactive user interfaces with server-side code The challenges of stateful long-running processes in…

    more
  45. 109: The Road to Tailwind CSS v1.0

    🎉You can now pre-order Full Stack Radio shirts and stickers! Learn more → Topics include: Semantic versioning and why there hasn't been a v1.0 release already How v1.0 will be encouraging people to leverage the default design system Breaking changes and what the upgrade story will be like What's...

  46. 108: Jonathan Reinink - Client-Side Rendering, Server-Side Routing

    Topics include: Why the UI fidelity threshold for building an SPA feels so low How forcing yourself to prepare data for Vue helps avoid putting too much logic into your templates Why it's still worth building your app as a traditional server-based web app, even if you are using Vue for your…

    more
  47. 107: Sam Selikoff - Pushing Complexity to the Client-Side

    Topics include: Building an API without writing any controller code Thinking of your API like a database as much as possible Modeling everything on the server as a resource, including things like S3 upload signatures Using tools like Firebase to avoid writing an API entirely Sponsors: Rollbar…

    more
  48. 106: Sam Selikoff - Single Page Application Architecture

    Topics include: Why you should think of SPAs as desktop apps instead of web apps Strategies for pushing complexity out of your backend and on to the client Building optimistic UIs Best practices for storing and retrieving data Why you should design your SPAs with an "offline-first" mindset...

  49. 105: Strength Training for Nerds

    Topics include: What exercises you should focus on and why How to develop a system that will force you to make progress The importance of keeping a training journal Why full-body workouts are better than training a specific muscle group each day The importance of mobility for both training and…

    more
  50. 104: Jonathan Reinink - Pushing More Work to the Database

    Topics include: Issues you run into when you do too much work in code instead of in the database Why memory usage is just as important as query count How being smarter with your database usage can let you avoid hard problems like cache invalidation Denormalizing computable data to make it…

    more

Type above to search every episode's transcript for a word or phrase. Matches are scoped to this podcast.

Searching…

We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.

No matches for "" in this podcast's transcripts.

Showing of matches

No topics indexed yet for this podcast.

Loading reviews...

ABOUT THIS SHOW

A podcast for developers interested in building great software products. Every episode, Adam Wathan is joined by a guest to talk about everything from product design and user experience to unit testing and system administration.

HOSTED BY

Adam Wathan

CATEGORIES

Frequently Asked Questions

How many episodes does Full Stack Radio have?

Full Stack Radio currently has 153 episodes available on PodParley. New episodes are automatically indexed when they're published to the podcast feed.

What is Full Stack Radio about?

A podcast for developers interested in building great software products. Every episode, Adam Wathan is joined by a guest to talk about everything from product design and user experience to unit testing and system administration.

How often does Full Stack Radio release new episodes?

Full Stack Radio publishes regularly with 153 episodes available. Check the episode list for the typical release schedule.

Where can I listen to Full Stack Radio?

You can listen to Full Stack Radio on PodParley by clicking any episode. We provide an embedded audio player for direct listening, and you can also subscribe via your preferred podcast app using the RSS feed.

Who hosts Full Stack Radio?

Full Stack Radio is created and hosted by Adam Wathan.
URL copied to clipboard!