PLAY PODCASTS
Full Stack Radio

Full Stack Radio

A podcast for developers interested in building great software products.

Adam Wathan

153 episodesEN

Show overview

Full Stack Radio has been publishing since 2014, and across the 11 years since has built a catalogue of 153 episodes. That works out to roughly 150 hours of audio in total. Releases follow a monthly cadence.

Episodes typically run thirty-five to sixty minutes — most land between 50 min and 1h 6m — and the run-time is fairly consistent across the catalogue. It is catalogued as a EN-language Technology show.

There hasn’t been a new episode in the last ninety days; the most recent episode landed 10 months ago. The busiest year was 2015, with 27 episodes published. Published by Adam Wathan.

Episodes
153
Running
2014–2025 · 11y
Median length
58 min
Cadence
Monthly

From the publisher

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.

Latest Episodes

View all 153 episodes

Ep 153153: 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 Linux?Should you really be afraid of trying to maintain your own Linux installation?What are the main differences in workflow using Omarchy vs. something like macOS?What are the best options on Linux for the type of software where macOS has historically shined, like creative tools?What are the best hardware options for developers wanting to run Omarchy?Forgive the worse-than-usual audio quality, we recorded this last minute and spur of the moment with unfamiliar tools!

Aug 21, 20251h 16m

Ep 152152: 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 applicationCrafting a high quality application tailored to a specific positionStanding out in a more traditional hiring process by doing something a little extraShowcasing very specific examples of your work instead of asking the person reviewing your application to go hunting for itHaving good questions for the person interviewing youSharing your ideas and what you think the company should be focused onCreating a job for yourself that doesn’t even existProving that you can take ownership of projects and ship them by yourselfShowing off skills you have that aren’t directly related to the jobLinks:Ben on TwitterTupleTailwind Labs job postingsSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSS.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Jan 28, 202147 min

Ep 151151: DHH – Building HEY with Hotwire

Links:HotwireHEYSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSS.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Dec 28, 20201h 14m

Ep 150150: 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 responsive HTML components built with Tailwind CSS.Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Oct 21, 202059 min

Ep 149149: Choosing a Payment Processor, Radical Icons & W3C Hype

Links:Changes to Gumroad's PayPal supportRadical iconsJack's hand-drawn avatarsW3C's CMS Selection ReportSupporting 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 responsive HTML components built with Tailwind CSS.Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Oct 7, 202056 min

Ep 148148: 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 responsive HTML components built with Tailwind CSS.Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Sep 29, 202059 min

Ep 147147: 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 responsive HTML components built with Tailwind CSS.Statamic 3, Jack's full-featured flat-file CMS, designed for developers and clients alike.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Sep 23, 20201h 19m

Ep 146146: 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 through some ideas Adam is preparing for his Laracon talk on “Building component libraries with Tailwind CSS”.

Sep 4, 20201h 20m

Ep 145145: Statamic 3.0 and Tailwind CSS 2.0

LinksStatamic 3.0Tailwind CSS v1.7.0@90sWWE on Twitter

Aug 20, 20201h 15m

Ep 144144: 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 traditionallyDo 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 give you?Using io-ts to type check incoming dataHow to think about structuring your code to best take advantage of the benefits your type system gives you and minimize the need to write testsPushing conditional logic to the core of your system to reduce the number of tests you need to write at the edgesThe correlation between type errors and behavioral bugs, and how a type system can help you catch mistakes you don't think to test forDo type errors signal that you're missing a test?Structural vs. nominal type systems, and the benefits of structural type systems like used by TypeScript and GoBest practices for type-checking within a function in a structural type system like TypeScriptThe power of supporting literal types like true or "active" in addition to traditional typesLinks:Destroy All SoftwareExecute ProgramTypeScript"Are tests necessary in TypeScript?"io-tsTypeScript course on Execute ProgramGary's tweet about unions with literal typesSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSS.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Aug 5, 20201h 24m

Ep 143143: 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 practiceWhat are you giving up when you choose to build your application with something like Rails instead of JavaScript?Why should we be trying to write our applications in a single language, and why should it be JS?What's wrong with striving to write an application entirely in a language like Ruby instead of entirely in JS?Why HEY doesn't really make a good argument against the modern webThoughts on bundle sizes, code-splitting, and why aggressive code-splitting is still better than frequent round trips to a server-rendered appHow Svelte and Sapper handle SSRWhy page transitions are the killer argument for building SPAs if we want to be able to compete with native experiencesShould we be thinking about JavaScript applications as native applications in terms of offline-support and eventual consistency, or should we keep thinking of them as webpages that depend on the network?Links:SvelteSapper"Second-guessing the modern web""In defense of the modern web"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 professionally designed, fully responsive HTML components built with Tailwind CSS.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Jul 22, 20201h 15m

Ep 142142: 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 hiringHow to decide what the most important thing to focus on is when it feels like there's too much to doWhy it's important to consider the impact of hiring for a specific role on your own happiness vs. just the company's bottom lineComing to terms with the fact that you can't do everything, and why it's important to focus on something instead of spreading yourself thin across everythingMistakes people make when they start managing a team for the first timeLinks:Jason's blog, one of the greatest treasure troves of startup advice on the internetDesigning the Ideal Bootstrapped Business, one of Jason's MicroConf talksSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSS.Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Jul 1, 202055 min

Ep 141141: 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 use and which ones should we ignore for now?Finding the balance between being organized enough and splitting things up too muchHow big should projects be? Is "HEY v1" a project, or is a project something more like "HEY File Attachments"?What tools do you normally enable for regular projects, and how do you use them?How are you normally using chat at the individual project level?Why todo lists should be created by the individuals doing the work, and not the people assigning the workHow should we use the company HQ project? What are some less obvious ideas we can apply there that can make a big difference?Using a "what we're working on" project to keep everyone on the team in the loop and feeling connectedUsing "heartbeats" to summarize the work a team has been doing over a period of time for the rest of the companyAdvice on bringing on new employees and how to assign them their first projectWhen you're such a writing-driven company, how do you make sure decisions get written down when they are made in real-time instead of naturally occurring within Basecamp?Screenshots:Example of a "what did I work on?" check-inExample of a heartbeatExample of the "What Works" projectExample of an announcement in the HQ projectExample of a conversation on a todoLinks:BasecampShape Up, Basecamp's recent book on how they workGoing Remote: Basecamp Walkthrough, a livestream where Jason and DHH go over their real Basecamp accountSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSSRefactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Jun 10, 20201h 6m

Ep 140140: 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 it support non-JS files like Vue files, or CSS files?How hot module replacement is implemented under the hood in ViteOptimizing modules with many dependencies to keep the development experience fastWhat is VitePress and how does it compare to VuePress?Bundling sites for production with ViteWhat's the roadmap for Vite 1.0?Links:ViteVitePressRollupSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSSRefactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

May 28, 202048 min

Ep 139139: 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 databaseHow primary keys work in DynamoDBWhat data types are available in DynamoDBHow DynamoDB is a schemaless databaseWhy it's important to understand your access patterns in advance with DynamoDB, unlike in a relational databaseUnderstanding why and how you usually have multiple record types in a single DynamoDB tableWhat "index overloading" is in DynamoDBUnderstanding partition keys and sort keysHow to structure your data in DynamoDB to make it possible to query related data, and how those queries workHow secondary indexes work, allowing you to access the same data in different waysHow to accommodate access patterns you didn't know about before you designed your schemaWhen to flatten relationships vs. nest themShould you use DynamoDB if you aren't "web-scale"?How local development works with DynamoDBLinks:DynamoDB HomepageAlex's blog, loaded with great DynamoDB contentThe DynamoDB Book, Alex's recent bookDynamoDB GuideSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSSRefactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

May 8, 202058 min

Ep 138138: 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 layerWhat “cells” are in Redwood, and how they aim to provide a declarative abstraction on top of data fetchingHow Redwood tries to provide clear decoupling behind the front-end and back-end, even though it is providing a full-stack solutionWhat “services” are in RedwoodUsing Prisma 2 to fetch data from your database in your servicesWhat database solutions exist today that work well with Redwood in a serverless environment?Links:Redwood.js homepagePredictCovid.com, a Redwood app in productionExample blog application built with RedwoodPrismaSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSSRefactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Apr 22, 20201h 13m

Ep 137137: Tim Neutkens - Continuing to Innovate with Next.js 9.3

Topics include:An overview of the new getStaticProps, getStaticPaths, and getServerSideProps APIsHow Next.js helps you serve static pages from an edge CDN automatically, without affecting the actual authoring experienceUsing getStaticPaths to statically pregenerate dynamic routesHow the fallback feature of getStaticPaths works and lets you statically render pages on-demand to avoid long build timesHow the upcoming incremental static generation feature will work in Next.jsDeploying Next.js to a platform other than Zeit, and how you retain all of Next’s benefits automaticallyHow getServerSideProps is different from getInitialPropsWhy getServerSideProps actually improves performance, even though it introduces another hopHow getServerSideProps results in smaller bundle sizes vs. getInitialPropsUsing getServerSideProps to safely talk directly to a database, skipping the need for an APIWhy Zeit as a company has started to favor client-side data fetching with SWR over getInitialProps/getServerSideProps, and how they are combining that with statically pregenerated “shells” for incredibly fast feeling experiencesWhat’s coming next in future releasesLinks:Next.jsNext.js 9.3 AnnouncementIncremental Static Generation RFCNext.js Code Elimination DemoSWR, ZEIT's data fetching librarySupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSSRefactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Apr 8, 20201h 23m

Ep 136136: 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 applicationWhat third-party services people are using to try and replace custom back-end codeWould you default to building a Rails back-end for a React side project, or is your instinct to try and use third-party services only?How far do you think front-end-first frameworks like Next.js are going to get their hands dirty in the back-end?Are new developers missing out by starting with React and not realizing how important tools like Rails and Laravel are for building complete production-ready applications?Are relational databases legacy tech or are they underappreciated?Links:Ruby on RailsReactAWS AmplifyFirebaseHasuraGraphQL: The DocumentaryOneGraphNext.jsSupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSSRefactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Mar 25, 20201h 8m

Ep 135135: Lessons Learned Building Tailwind UI

Topics include:What Tailwind UI is and why we decided to build itHow odd numbers can wreak havoc on a user interface, and how to avoid themCrafting the perfect form controlUnexpected benefits of working with CSS GridAbusing single column grids just to use gap, and why we desperately need gap support in FlexboxLinks:Tailwind UISupporting 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 professionally designed, fully responsive HTML components built with Tailwind CSSRefactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Mar 4, 20201h 38m

Ep 134134: 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 allLayout challenges you run into due to the way the browser includes line-height in the size of text elementsThe trick Mark's team uses to remove surrounding white space from text elements, without removing the space between wrapping linesUsing a "stack" component to specify the space between sibling elementsIssues with naively just using margin on one side of an element to space elementsThe upcoming "gap" property in CSS and how it proves layout components are a good ideaUsing a "content block" component for horizontal spacing/sizing at the page levelTricks for maintaining vertical rhythm despite 1px borders trying to ruin it all for youWhy tools like React are so important for being able to implement designs in a way that matches how designers thinkLinks:"Rethinking Design Best Practices", Mark's talk at ReactiveConf 2019Braid, the design system Mark works onPlayroomSupporting 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 pick up one of my books or courses:Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.

Feb 12, 202056 min
© 2025 Adam Wathan