- Makers Make by SaaSykit
- Posts
- Detecting and Fixing Race Condition in Laravel, AI Doesn’t Reduce Work—It Intensifies It, Revenue addiction kills companies, Do AI-enabled companies need fewer people? & more
Detecting and Fixing Race Condition in Laravel, AI Doesn’t Reduce Work—It Intensifies It, Revenue addiction kills companies, Do AI-enabled companies need fewer people? & more
Hey Makers 👋
Building great software is like putting a 1000-piece puzzle together.
Showing up consistently. Shipping improvements. Fixing rough edges. Listening to users. Then doing it all over again the next week.
The best products aren’t built in giant leaps — they’re built through hundreds of small, thoughtful iterations. A smoother onboarding flow. A faster page. A clearer error message. A feature that removes one tiny bit of friction for your users.
Keep pushing forward. Keep building. Keep shipping.
And if you’d rather spend your time improving your product instead of rebuilding authentication, billing, teams, and dashboards from scratch (again), SaaSykit gives you a solid, production-ready foundation so you can focus on what actually makes your SaaS unique.
Get a SaaSykit license and start building your dream SaaS now!
Now, let’s take a look at what’s new in the Laravel & SaaS world 👇
Laravel 12.54 Highlights
Clone models without specific relations
Laravel now includesModel::withoutRelation(), which returns a cloned model instance with selected relations removed while leaving the original untouched. This is helpful when preparing models for serialization, reducing queue payloads, or avoiding circular references.
$copy = $post->withoutRelation('comments');
$slim = $post->withoutRelation(['comments', 'tags']);New
interval()helper for request data
TheInteractsWithDatatrait now provides aninterval()method that converts request input into aCarbonInterval. It accepts ISO-8601 duration strings or numeric values with a unit.
$duration = $request->interval('duration'); // e.g. "P2DT3H"
$timeout = $request->interval('timeout', 'seconds');
$delay = $request->interval('delay', Unit::Minute);Improved debugging with
Response::dump()
When using Laravel’s HTTP client,Response::dump()now shows the request method, URL, and status code along with the body, making it much easier to identify which request produced the output during chained calls.Assertions for
BinaryFileResponsein tests
Test responses returned fromresponse()->file()andresponse()->download()now support streamed content assertions, allowing tests to verify the actual file content.
$this->get('/files/report.pdf')
->assertOk()
->assertStreamedContent(file_get_contents('tests/fixtures/report.pdf'));Native
tsvectorcolumn support for PostgreSQL
The schema builder now supports thetsvectorcolumn type, making it easier to define PostgreSQL full-text search columns without raw SQL.
Schema::table('posts', function (Blueprint $table) {
$table->tsvector('search_index')->nullable();
});From the Community
Learn how to identify race conditions in your Laravel MongoDB applications and fix them using atomic operations, with a practical e-commerce checkout example that demonstrates why Eloquent's read-modify-write pattern fails under concurrent load.
I've been using Claude Code as my daily driver for coding tasks. Over time, I've built up a pretty specific configuration that makes the whole experience better. I keep everything in my dotfiles repo under config/claude/, so it's easy to sync across machines.
Our spatie/crawler. package is one of the first one I created. It allows you to crawl a website with PHP. It is used extensively in Oh Dear and our laravel-sitemap package.
Throughout the years, the API had accumulated some rough edges. With v9, we cleaned all of that up and added a bunch of features we've wanted for a long time.
Let me walk you through all of it!
Right now, many companies are worried about how to get more employees to use AI. After all, the promise of AI reducing the burden of some work—drafting routine documents, summarizing information, and debugging code—and allowing workers more time for high-value tasks is tantalizing.
All about SaaS
AI tools hit a true inflection point in late 2025. Building things got cheaper. AI tools got expensive. And the gap between good management and bad management got a whole lot wider.
Here’s how to think about management in 2026.
For twenty years, it didn't matter where your customers were. The hardest part of building a technology company was the development itself, and that required a kind of talent and operational experience concentrated almost entirely in the Bay Area. You needed engineers who'd scaled systems at Uber. Leaders who'd built teams at Reddit. Operators who'd seen hypergrowth at Palantir, DoorDash, Coinbase. The scarce resource was the people who knew how to build and scale technology, and they were in San Francisco.
The most common version of startup marketing I see is one where everything is disconnected. Content is over here, ads over there, brand somewhere in the middle, and none of it maps back to revenue.
I’ve been having a lot of conversations with founders lately, and I have discovered that most startups structurally treat marketing as an afterthought.
I love revenue. Who doesn’t love revenue? But some (and I mean MANY) companies aren’t just pursuing revenue. They’re absolutely addicted to it. I’m talking full foaming-at-the-mouth, short-term dopamine hit, sell-your-future-for-this-quarter kind of addicted.
I live in two realities.
In one, founders are swapping tools by the week. They max out token limits before lunch and feel anxious about it. A solo engineer is now shipping what took a team of five last year. People refactor workflows every quarter and still feel behind. Everyone around me has welcomed AI into every part of their workflow (thinking AND shipping).
About a year ago I made some predictions about the effect of AI on programming jobs. Block laid off 40% of its staff claiming AI made them more efficient. Is that really true or did they just over-hire? Let's look at some data and see what's really happening.
Videos
Keep building, keep rocking! 🤘