Shift's first flat year
Main Thread • 4 min read
2025 was Shift's first flat year. In its first couple years, Shift had 200% growth. Then 100% growth. This was mostly initial adoption. Then evolving the pricing. After that, it grew roughly 50% before settling between 20%-30% growth in recent years.
Given the power law, I don't expect to see a 50% growth rate ever again. Honestly, I don't expect to see 30%. But no growth scares me.
There are reasons Shift was flat in 2025. First and foremost, the Laravel 12 release was really a maintenance release. Essentially a version number bump to satisfy upstream dependencies. It was touted as "no breaking changes". While there were changes, they were considered optional.
That's the crux of it. Since Laravel 10, most changes have been deemed optional. If you're willing to reference the old documentation, and don't care about new features, there are no breaking changes.
Of course, you're acquiring technical debt. But, true as that may be, it falls on deaf ears coming from the guy who built Shift.
In the end, I think this string of releases with optional changes decreased Shift's usage. Users may have used Shift for Laravel 10, then maybe for Laravel 11. But maybe not for Laravel 12.
AI may also lend to Shift's decline. Developers might be prompting AI to do the upgrade. Given all the optional changes, there's a lower, minimal bar to upgrade. But I don't think AI is at a place where it does better than the curated upgrade Shift performs. Again, this coming from the guy who built Shift.
Anyway, that's my theory. Shift has been around 10 years. It may simply be Shift reached market saturation. It's possible I've seen peak Shift. It's possible we've seen peak Laravel. Or some combination therein. All things considered, flat is pretty good. Well, maybe not good. But I'm okay with it. So long as 2026 isn't down.
Growth probably would've been down 10% in 2025 had I not pulled a few levers.
First, as mentioned, I've evolved pricing over the years. Specifically with the pricing tiers. But also being more strict about moving Shifts through their pricing cycle. For example, when Laravel versions become unsupported, they move to the higher pricing tier. Similarly, the latest Laravel Shift is only offered for the nostalgic $9 prior to the official release. Then it moves to the middle pricing tier after 30 days. Once the version is unsupported, it moves to the highest pricing tier.
Another pricing evolution made recently was local pricing. Shift has always had relative pricing. I like offering it for "20 bucks". But "20 bucks" may be more or less depending on where you are in the world. For example, if you are in India, $20 may be a lot. For countries with less than 50% of the buying power of the United States, I offer purchasing power parity.
I realized if I offer relative pricing one direction, it seems only fair to do relative pricing in the other direction. USD floats around the 10th highest value currency. Shift has a large audience in 4 higher value currencies markets. For example, the British Pound (GBP) and Euro (EUR).
So in June 2025, I increased local pricing. Not only broadening purchasing power, but also introducing relative pricing in local currencies. I also enabled adaptive pricing. This was a one-click setting in Stripe which allows customers to pay in their local currency. This unlocks more payment methods based on locale, and avoids currency conversion fees.
In the end, this change benefits both sides. Shift makes a bit more from markets where their currency is higher than USD. But customers also have more payment options. Plus, paying in their local currency avoids currency conversion fees. So, in some cases, the price difference is a wash. While a few customers inquired about the change, I only remember one complaint. To me that's proof Shift remains an incredible value.
Another level I continued to pull in 2025 was culling Shift's additional services. Over the years I have tried to broaden Shift's offering into other categories - PHP, Tailwind, Pest. None of these really increased revenue. Which has deterred me from trying other markets, such as Livewire. I think this has proven to be the right choice given most of these submarkets have their own upgrade helpers.
I've also tried to make Shift more of an everyday tool with things like the Workbench and Shift CLI. These never really took off. I have kept the Workbench as it does have usage. It also has no cost as its individual tasks reuse automation from other Shifts. But the desktop app and Shift CLI have been removed.
After 10 years I think it's obvious that Shift's focus is automating Laravel upgrades. As much as I want to also focus on refactoring, developers may use other tools for that. Likely AI (if you've established a strong ruleset), but also community tools like PHPStan or Rector.
I think Shift still has a spot in the Laravel developer toolbox. Nothing beats Shift's experience when it comes to curating a set of Laravel changes. My goal in 2026 is to find more ways to demonstrate. Doing so not only keeps Shift top of mind for developers, but derisks future Laravel releases being optional. In fact, starting January 1, subscribers to a Shifty Plan will receive the first Monthly Shift. This will be an automated pull request containing curated refactors to keep your Laravel application aligned with the latest conventions and features.