Software engineer with 15 years’ experience building projects and leading teams.

Built and maintained world-class projects for brands used by millions everyday. Proven experience building applications at-scale on cloud platforms using numerous frameworks and systems. Well-versed in leading teams of developers towards a goal, or executing based on desired goals for a project.

Notable projects and organizations

The New York Times Starbucks PBS Greenhouse Broadway

Claude Skills are lazy-loaded context

Anthropic announced a new feature yesterday: ‘Skills’, a new method to add ‘abilities’ to their models. I think it’s a step toward something more reasonable than the Model Context Protocol. MCP can easily dump tens of thousands of tokens into your context—GitHub’s official MCP is famous for doing so. Combine that with the Lost in the Middle problem, and it’s easy to see why many have struggled to effectively integrate MCPs into their workflows. ...

October 17, 2025 · Taylor Daughtry

Applying Single Responsibility in Python

One of the most immediately-beneficial principles of writing SOLID code is the Single Responsibility Principle. The official definition is “Any ’entity’ (i.e. a class, method, function, arguably module, etc.) should have only one reason to change.” One interpretation of this is that any ’entity’ should ‘depend’ on just one layer. If you’re writing logic in a PHP framework like Laravel, your controller should “officially” only interact with the HTTP layer: the request and its data. ...

October 13, 2025 · Taylor Daughtry

Quickly Debug Laravel's PendingRequest Class

Trying to debug a request being sent by Laravel’s Http facade? Check this out: the PendingRequest class has two methods you probably haven’t noticed before: dd() and dump() . These are incredibly useful when you’re quickly trying to debug a request issue—specifically, being able to avoid sending extraneous requests to 3rd-parties while you’re debugging: Http::baseUrl('https://service.com/api')->dd()->get('/profile'); The dd() method will dump the request without sending it. The dump() method will dump the request without stopping execution. This is especially useful when paired with something like Telescope, where you can see your dumps styled nicely in a separate tab.

October 13, 2025 · Taylor Daughtry

Incremental Reduction: Reducing Complexity in Large Legacy Projects

Legacy codebases usually have one of two problems (usually both): they’re larger than they need to be, or they’re over-engineered. Features were built to meet requirements, but never actually used in production, an eager engineer created a ‘system’ of classes and services for a feature that’s used by a small percentage of users, a list of providers that had to be supported was actually much shorter than initially thought… you’ve heard this story before. These situations are unavoidable; they are inherent in the nature of software development. ...

June 27, 2023 · Taylor Daughtry

Black Box: Efficiently Modernize Large, Legacy Projects

I recently published a piece in Cognition on handling large, legacy projects—specifically updating them in a sane manner without a the often-desired (by engineers) “throw-it-out-and-start-over” approach. I wrote this while updating a large scale Laravel project that served ~250 organizations across the US. When I was handed the project as Technical Lead, it was running Laravel 4, and had been built/maintained by multiple teams over the previous 7 years. It also had essentially no test coverage for the critical business logic. ...

October 21, 2021 · Taylor Daughtry