Laracon DB
Laracon DB
Adam Wathan Adam Wathan
Has spoken at:
And has done the following talks:
Designing a Component Library (2024)

Adam Wathan shares insights and techniques from his experience building component libraries, focusing on flexible and maintainable approaches using CSS and Tailwind. He demonstrates patterns for handling responsive layouts, touch targets, and complex styling challenges without relying on excessive JavaScript or props.

Building a Component Library with Tailwind CSS (2020)
No video available
Tailwind CSS Best Practice Patterns (2019)

Adam Wathan presents a comprehensive overview of Tailwind CSS, a utility-first CSS framework. He demonstrates how to effectively use Tailwind's utility classes, explains best practices for component extraction, and shows how to handle animations and responsive design. The talk includes practical examples of extending the framework and optimizing file size using PurgeCSS.

Tailwind CSS by Example (2019)
No video available
Resisting Complexity (2018)

In this talk, Adam Lavin discusses a common misunderstanding about object-oriented programming, specifically how methods should be thought of as affordances (properties that tell you what you can do with an object) rather than abilities. He demonstrates how this shift in thinking leads to cleaner, more maintainable code through real-world examples from his course platform, including how to eliminate agent nouns, break up God objects, and when to use simple functions instead of classes.

Resisting complexity (2018)

In this talk, Adam Whalen discusses how to simplify Laravel code by rethinking object-oriented programming patterns. He argues that methods should be viewed as affordances (things you can do with an object) rather than abilities (things an object can do to other things). Through practical examples from a course platform codebase, he demonstrates how this mindset leads to cleaner code by eliminating unnecessary service/manager classes, properly placing methods on the objects they operate on, and knowing when to use simple functions instead of classes.

Advanced Vue Component Design (2018)
No video available
Cruddy by Design (2017)

Adam Wathan presents strategies for simplifying Laravel controllers by following the 'Never Write Custom Actions' (NWCA) rule. He demonstrates how to break down large controllers with many custom actions into smaller, more focused controllers that only use standard CRUD/REST actions. Through examples from a podcast management application, he shows how to model seemingly custom operations as standard resource actions by thinking creatively about your domain models and resources.

Lies you've been told about Unit Testing (2017)

Adam Wathan presents a thought-provoking talk challenging common testing practices in Laravel applications. He argues against isolated unit testing as a default approach, instead advocating for feature/integration tests that verify behavior at the HTTP level. He demonstrates how isolated unit tests can make refactoring difficult and suggests using 'fake' implementations rather than mocks for external services like Stripe. The talk emphasizes writing tests that provide actual value rather than following testing dogma from the internet.

Test Driven Laravel (2016)

Adam Wathan presents a detailed walkthrough of test-driven development (TDD) in Laravel, demonstrating how to build features from scratch using both acceptance tests and unit tests. He builds a Twitter clone called 'Tweeter' and shows how to implement features like viewing user profiles and sending follower notification emails, while explaining best practices around using mocks, spies, and fakes in testing.

Curing the Common Loop (2016)

Adam Wathan presents a talk on improving code quality by eliminating loops, conditionals, and temporary variables using Laravel Collections and functional programming concepts. He demonstrates how to refactor complex nested loops into cleaner collection pipelines using methods like map, filter, flatMap, and contains. The talk includes practical examples ranging from data transformation to simple conditional checks, showing how collections can make code more expressive and maintainable.

Curing the common loop (2016)

Adam Wathan presents a talk on refactoring Laravel code to use collection pipelines and functional programming concepts. He demonstrates how to transform traditional imperative code with loops and temporary variables into more expressive, maintainable code using Laravel's collection methods like map, filter, flatMap, and reduce. The talk includes live coding examples refactoring real code from Laravel Valet and discusses practical applications of collections in day-to-day programming.

Chasing "Perfect" (2015)
No video available
Chasing "Perfect" (2015)

In this talk titled 'Chasing Perfect', Adam Wathan discusses how to improve code quality by focusing on fundamental object-oriented design principles rather than chasing complex architectural patterns. He demonstrates this through a practical example of implementing a coupon discount system, showing how to iteratively refactor the code to be cleaner and more maintainable using techniques like polymorphism and the null object pattern.