Is your team still hand-chiseling code?
Geocodio shares practical advice on getting engineering teams to adopt AI tools like Claude Code, addressing the growing gap between eager adopters and skeptical engineers.
Read more [www.geocod.io]
Geocodio shares practical advice on getting engineering teams to adopt AI tools like Claude Code, addressing the growing gap between eager adopters and skeptical engineers.
Read more [www.geocod.io]
The title is a tad hyperbolic, but this blogpost provides a nice overview of how the Laravel PDF package works under the hood.
Read more [jpcaparas.medium.com]
Join 9,500+ smart developers
Every month I share what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.
No spam. Unsubscribe anytime. You can also follow me on X.
We just published a new package called Laravel OpenAPI CLI that turns any OpenAPI spec into dedicated Laravel artisan commands. Each endpoint gets its own command with typed options for path parameters, query parameters and request bodies.
Let me walk you through what the package can do.
Hafiz Riaz walks through building a document analyzer agent with the Laravel AI SDK. The tutorial covers structured output, streaming responses, and tool use, all in about 30 minutes.
Read more [hafiz.dev]
What if you could write your terminal prompt and shell commands with a language you're already familiar with?
We just published a new package called Laravel Markdown Response that lets your Laravel app serve markdown versions of your HTML pages. Your existing controllers and views stay exactly the same.
Let me walk you through what the package can do.
My Oh Dear co-founder Mattias Geniar was a guest on the WP Legends podcast. They talked about how we built Oh Dear over the past eight years, common misconceptions about monitoring, and how AI is changing developer workflows.
I only switched to Zed last week (you can see my full setup on my uses page), so I'm still learning the ropes. One thing I ran into is that its external formatter configuration is global. You configure one formatter command for PHP, and that's what gets used in every project you open.
The problem is that not all of my projects use the same formatter. Some use Pint, some use PHP-CS-Fixer directly. My Zed config originally pointed to ./vendor/bin/pint, which meant it silently did nothing in projects that don't have Pint installed.
Let me walk you through how I solved this.
Our laravel-responsecache package speeds up your app by caching entire responses on the server. When the same page is requested again, the cached response is served without hitting your controller at all.
We just released v8, a new major version with a powerful new feature: flexible caching. It uses a stale-while-revalidate strategy, so that every visitor gets a fast response, even when the cache is being refreshed.
Let me walk you through it.
Dan Hollick created a beautifully illustrated reference manual that explains how the technology behind software actually works.
Read more [www.makingsoftware.com]
After posting a screenshot, I often get questions about which editor, font or tools I'm using. Instead of replying to those questions individually I've decided to just write down the settings and apps that I'm using.
We just released laravel-screenshot, a new package to take screenshots of web pages in Laravel apps.
It uses a driver-based architecture, so you can choose between Browsershot (which requires you to install Chromium) and Cloudflare Browser Rendering (which can be used on environments like Laravel Cloud).
Let me walk you through the package.
Pete Koomen argues that most AI apps are "horseless carriages," bolting AI onto old paradigms instead of letting users shape the prompts that drive them. He makes the case that the best AI apps should be agent builders, not just agents.
Read more [koomen.dev]
– x.com - submitted by Aaron Francis
Aaron Francis shares how he used Claude to create an entire launch video for his new app, without using any traditional motion graphics software. No Remotion, no MCPs — just clever prompting and iteration.
Read more [x.com]
Laravel's built-in authorization is great when permissions are defined in code. With gates and policies, you can write logic like this:
// Defined in code, requires a deploy to change
Gate::define('edit-posts', function (User $user) {
return $user->is_admin;
});
But in some projects roles and permissions are dynamic: created by users, managed through an admin panel, or changed at runtime without deploying code. Our Laravel Permission package can help you dynamically create roles and permissions.
We just released v7 which doesn't bring any new features, but cleans up the internal code and modernizes it. Let me walk you through what the package can do.
Laravel Fuse is a circuit breaker package for Laravel queue jobs. When an external service like Stripe or Mailgun goes down, instead of letting thousands of jobs timeout (30s each), the circuit opens after a configurable failure threshold and jobs fail instantly. It supports three-state circuit breaking (closed/open/half-open), intelligent failure classification (429s and auth errors do not trip the circuit), peak hours config, and a built-in status page.
Read more [github.com]
Amit Merchant walks through practical use cases for the Laravel AI SDK: mining user data with Eloquent models as context, building a code review bot that comments on PRs, and creating adaptive quiz systems for EdTech apps. Nice examples of agents, structured output, and conversation memory beyond the typical chatbot demo.
Read more [www.amitmerchant.com]
A fascinating deep dive into the very first commit of Laravel, made by Taylor Otwell on June 9, 2011. The article explores the original directory structure, the early Eloquent ORM, the session system with its clever flash data prefixing, and the authentication basics that are still recognizable in today's framework.
Read more [laravelnepal.com]
A while ago, we released laravel-pdf, a package to generate PDFs in Laravel apps.
Under the hood, it used Browsershot (and therefore Puppeteer/Chrome) to convert HTML to PDF. That approach works great, but it does require Node.js and a headless Chrome binary on your server.
Last week, my buddy Dries shared on X how to generate PDFs using Cloudflare services. This way doesn’t require Node or any binaries. Very neat! This unlocks PDF generation for environments where Node or Chrome cannot be installed easily, like Laravel Cloud.
To support this way of rendering a PDF, we’ve released a new major release (v2) of Laravel PDF. The package now ships with three drivers: Browsershot, Cloudflare Browser Rendering, and DOMPDF. You can also create your own driver. On top of that, we've added queued PDF generation and the ability to set PDF metadata. And to let your AI understand our package, we've added a Laravel Boost skill.
Let me walk you through all of it.
Martin Fowler on the overuse of bold in technical writing — and how LLMs have picked up and spread this practice. The more you emphasize, the less power it has.
Read more [martinfowler.com]