I've been going back and forth on this for weeks and I don't have a clear answer. I'm putting it in writing to see if organizing my thoughts helps me find something, or at least to see if someone in the same situation can tell me how they're handling it.
I'm a freelancer, I've been selling hour packs to clients and agencies for a few years now, and the model is breaking down. Not suddenly, but little by little. And it has to do with how AI is changing the speed at which I work.
How I operate
My model is simple. The client needs a feature, I give a rough estimate of how many hours it might take, and they buy packs of X hours. When a pack runs out, they renew another one. And so on until the task is done.
The estimate is rough on purpose. It's very hard to estimate a development project precisely: if I set the price high to cover myself, the client overpays; if I set it too low, I'm the one who gets burned. With this system we can see as the hours get used up whether we're hitting the real estimate or going over. Also because the client keeps requesting changes to the initial requirements, so the estimate shifts.
I like to be transparent. If a task gets done quickly, I bill few hours. If things get complicated and the estimate doesn't hold, I let the client know the reasons, and from there we negotiate: extend the hour pack, close the feature with only part of the requirements met, or find another solution.
This model worked well for years. The client compared with other providers, looked at the hourly rate, looked at experience, and decided.
What's broken
With the AI agent setup and tools I've built (I explained it in detail in the previous article about OpenCode and DDEV), there are tasks I solve in a fraction of the time they used to take. A task that used to be 40 hours worth of packs can now be under 10. And I bill the actual hours I've spent, not what it would've taken me before.
The client's thrilled because it costs them less. But I'm earning less for the same result. On top of that, I now have expenses I didn't have before: between €200 and €300 a month on AI subscriptions and APIs, plus the time I spend on training, keeping up with models that come out every few weeks, and optimizing my processes and tools. I don't bill any of that to clients.
I've raised my rates a little, but the increase barely covers the new costs. In the end I'm billing slightly more than before, but honestly I'm not sure the effort is worth it.
Three alternatives, none convincing
I've thought about it and I see three paths to compensate for the fact that I now take less time to do the same work.
Raise the hourly rate significantly. The most straightforward. If I used to take 40 hours and now I take 10, I charge more per hour. It makes sense: I'm delivering more value in less time. The problem is that in the market I operate in, there's a ceiling. I've already had a hard time raising rates with some clients who'd had them frozen for over a year. If I go much higher, they simply stop hiring me.
Pad the hours. It's what I know many agencies do: don't tell the client you took so few hours, lower the rate a bit so it looks more competitive, but bill far more hours than you actually spent. I don't like it. It's not my style and it's not how I want to work. Transparency with my clients is the foundation of how I operate. Lying about hours to make the numbers work isn't an option for me.
Fixed-price quotes. Stop selling hours and give a flat price per feature. If I get it done in less time, I keep the margin. The problem is that estimating a development project accurately was already hard before AI. It still is, but for different reasons: there are tasks where the agents handle 80% of the work in no time, and others where the AI gets stuck and I end up taking just as long as before. That variability makes a fixed price risky.
The real issue: perception
If it were just a numbers problem, maybe there'd be an easy fix. But there's something deeper that makes it worse: how clients perceive the value of what I do in a world where "AI already codes".
I've received emails from clients (who aren't programmers) with ChatGPT-generated code snippets, saying things like "look, here's a possible solution". And I have to spend time reviewing that code and explaining that yes, the AI identified the problem more or less correctly, but the solution it's proposing isn't right for this, this, and this other reason. A clear example: code that didn't account for timezones or Drupal's time functions, so date calculations weren't working properly. Does it work? Yes, it looks like it works. Does it work well? Not so much. These are functions the AI makes up or implements with bad practices that shouldn't be used for technical reasons.
Those conversations, on one hand, help the client understand that you can't blindly trust what AI says. But on the other hand they reinforce that feeling of "if ChatGPT already does it, why am I paying you?".
And it's not just with direct clients. It's also with the competition. One case I ran into: an agency that was using ChatGPT and other AIs on free tiers, jumping from one to another when the limits ran out. For a fairly specific and simple feature, instead of looking for a contributed module that already existed and did exactly that, they spent hours building a custom module with AI. The result was a poorly designed module that didn't follow Drupal best practices, that had no translation functions when the site was multilingual and the strings needed to be translatable. Months later, when the agency was gone, I was the one who had to deal with it.
I've inherited enough projects like this to know what I'm talking about. Code with no tests, no static analysis, no security reviews. But this is very hard to explain to a non-technical client. For them, the feature works and that's that.
I have 16 agents specialized in Drupal, with automatic quality gates, tests, security analysis. And even so there are things the agents make up, things they get wrong, architecture decisions they can't make on their own. I'm on top of every line that goes to production because I have a responsibility to the client. If something breaks, I'm the one who has to answer for it, not ChatGPT.
But there are clients who don't understand this. Who think AI does all the work and I just copy and paste. And after over a decade working with Drupal, investing months in building a full infrastructure of agents and tools, that's hard to hear.
Where I am now
Since none of the alternatives convince me, I'm sticking with what I've been doing: hour packs, full transparency, rates very similar to before. I'm not short on work. I'm pretty swamped and I end up filling all the hours I have available each month.
But scaling isn't an option. I'm already at max hours. I can take on more projects, sure, because what used to be a 40-hour project is now a 10-hour one. But my income can't grow because the available hours are what they are. I'm billing roughly the same as before, with higher costs, and spending time on training and optimization that I don't charge anyone for.
What worries me about the future
This is what I think about the most. If all developers are getting more work done than before because AI lets us finish projects faster, that's good in principle. But the Drupal market is what it is. For better or worse, it's a bit stagnant. Drupal is for complex websites, it's not a massive ecosystem like WordPress where there are millions of sites. There are relatively few Drupal sites, and the volume of new projects isn't growing at the rate developer productivity is.
If more and more people can do the same work in less time, there are going to be too many developers and not enough sites that need that many hours of development. I don't know if I'm being pessimistic or realistic, but I get the feeling that in the not-too-distant future there'll be a shortage of work and a surplus of people.
A possible way out: stop selling hours
There's something I'm trying right now. I don't know if it's the answer, but it's a path I want to explore: stop selling my hours and start selling a product. I'm building a SaaS within the Drupal niche, and I hope to have news sooner rather than later.
The idea is that a product is scalable in a way that hours aren't. It costs me roughly the same to sell it to ten people as to a thousand. Infrastructure costs are what they are, but they don't depend on how many hours I have available per month. That's exactly what's limiting me now with hour packs: I'm already maxed out, I can't scale further.
I don't know if it's the definitive answer. It's something I want to explore, I'm about to launch the service, and I'll keep you posted on how it goes. But at the very least it's a path that doesn't have the ceiling of hours.
I'm not going to close this article with a clear answer because I don't have one. What I do refuse to do is compete by lowering my price. I've invested years specializing in Drupal and months building an AI development environment that works. The quality of what I deliver is what it is. If a client wants the cheapest option, there are options out there. But cheapest and most cost-effective aren't usually the same thing.
If you're in a similar situation, I'd love to know how you're handling it. Because for now, I'm sick of going round in circles on the same problem without finding an answer that convinces me.