Shift's first flat year

Main Thread 4 min read

2025 was Shift's first flat year. Over its 10 years, Shift averaged roughly 30% growth per year. In the first couple years, it had 200% growth. Then 100% growth. This was mostly due to 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 50% growth rate ever again. Honestly, I don't expect to see 30%. But no growth scares me.

There are logic 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 indeed changes, they were deemed optional.

That's the crux of it. Since Laravel 10, most changes have been deemed optional. So long as 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 that falls on deaf ears coming from the guy who built Shift (although objectively true).

In the end, I think this string of releases with optional changes decreased Shift's usage. That is to say you may have used Shift for Laravel 10, then maybe Laravel 11. But maybe not for Laravel 12.

AI may also lend to my theory. Developers might be prompting AI to do the upgrade. This may be fine for these optional upgrades. But I don't think AI is at a place where it does better than the curated upgrade Shift performs. Again, 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 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 introduced in 2025 was local pricing. Shift has always been a sort of relative pricing. I like offering it for "20 bucks". But $20 might be more or less depending on where you live 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. There are 4 higher value currencies in large Shift markets. For example, the British Pound (GBP) and Euro (EUR).

So in June, I rolled out local pricing, not only for a broader purchasing power, but also 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. It also unlocks more payment methods based on locale.

In the end, this change benefits both side. Shift makes a bit more from markets where their currency is higher than the dollar. But customers also have more payment options. Plus, paying in their local currency pay avoid 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 real 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.