Introduction
Over Christmas and New Year, I took a 2-week break from work to recharge my batteries. I wanted to take some time away from my laptop and avoid anything web development-related so I could have a proper mental reset. So on Monday morning last week, when I opened up my laptop and went to X for the first time in 2 weeks, I was curious to see what I’d been missing in the web development world.
The first 10 or so posts that I saw on my feed were all about AI in some way. I mainly saw screenshots of agents running and people sharing that they’d managed to get the AI to build something cool for them in a short time.
Then, as the week progressed, I saw that there had been layoffs (including at Laracasts and Tailwind, which was a huge shock), which were in part due to the impact of AI on the web development industry. Layoffs are the type of thing which is always sad to see. It’s hard for the employees who’ve just lost their jobs, and it’s hard for the business owners who have to make those tough decisions. I felt for everyone involved, and I don’t envy the business owners who had to make those decisions because I’m sure they weigh heavily on their minds. My heart goes out to everyone involved in those situations.
But all this got me thinking about how AI will impact me as a freelance web developer in 2026, and I wanted to share my thoughts.
Before we dive in, I want to say that I’m by no means an expert on AI. So there might be things in here that I get wrong, and maybe some things that I haven’t even considered. But I want to put these thoughts on paper (or screen) so that I can reflect on them later. I’d be really interested to come back to this post in a year’s time and see how my thoughts have changed (if at all).
My Initial Thoughts
I’ll be completely honest, my first thoughts after reading the posts on X and seeing the layoffs were “Uh oh! Am I going to start losing work because of AI?”. I got that sinking feeling in my stomach along with a crushing wave of anxiety. After all, I need to sell my web development services to make a living and pay my bills.
But after thinking about it more, I realised that AI is just another tool. And rather than seeing it as a threat, I should see it as an opportunity. After all, I’ve been using it for the past couple of years, and it’s only helped me be more productive and efficient.
How I’ve Been Using AI
I’ve been using AI in various ways over the past couple of years to help with my workload:
Writing Code with GitHub Copilot
As you’d expect, as a web developer, the most obvious way I’ve been using AI is to help me write code. Now that doesn’t mean I’ve been using it to write entire applications for me. Instead, I’ve been using GitHub Copilot in PhpStorm to help me write short code snippets. I treat it like an autocomplete-on-steroids tool.
I’ll typically get halfway through writing a line of code, and Copilot will suggest the rest of the line for me.
When I first started using Copilot a few years ago, I’d say less than 50% of its suggestions were useful. I usually ignored them and just wrote the code myself. But over time, as it’s improved, I’ve found that these suggestions are exactly what I wanted to write most of the time. So now I accept the suggestions more often than not.
I’ve found that when it generates entire blocks of code, the results are a bit more hit-or-miss. Sometimes it gets it right, but other times it misses the mark completely, producing bloated, over-engineered, or just plain incorrect code. But even when this happens, it still helps me because it gives me alternative approaches to solving a problem that I might not have thought of myself, which can then inspire me to come up with a better solution.
Generating Code with Agents
I can’t give too many details away since this is related to a client’s project, but at the end of 2025, I was asked to build a new feature for a client’s application. It was the type of feature that makes you think, “Oh man! How am I going to build this?”. I kept avoiding the work and just kept picking other tasks off the to-do list instead. It’s not that I didn’t think I could build it; it’s just that I knew it would be a difficult task with a ton of edge cases to consider. I’m not sure exactly how long it would have taken me to build it myself, but I expected it would be at least a few days.
But as an experiment, as a team, we used Cursor to build the feature to see how well it would perform. We gave it a detailed brief of what we wanted the feature to do and left it to run. About 9 minutes later, it came back with a near-perfect implementation of the feature. It had even considered edge cases which we hadn’t mentioned to it ourselves.
Just let me reiterate that: It built a complex feature in under 10 minutes that would have taken me days to build myself.
It’s incredible!
And this is what amazes me most about AI tools. I’d been feeling the dread (dread might be too strong a word, but I’m sure you get the point I’m trying to make) and anxiety of having to build this feature. I’d been thinking about different ways I could tackle it while outside of work hours, such as when taking the dog out for a walk, cooking food, or going for a run. And this AI tool just built it for us in minutes. No emotion, no stress, no anxiety. To me, I find that absolutely mind-blowing.
Debugging and Fixing Issues
In the pre-AI days, when I encountered a bug, my workflow typically involved Googling the error message or problem I was facing. I’d then sift through the search results to find a solution. Sometimes I’d be able to find a solution quickly, but other times it would take a while to find something that fit my specific situation. As you’ll probably have experienced yourself, this can lead to a ton of open tabs in your browser as you sift through different blog posts and Stack Overflow answers trying to find the right solution.
But my workflow has changed. Now, when I encounter a bug, the first thing I do is try to figure out the issue myself (just like I did before). I’ll only spend about 5 minutes on this, but I might spend more time if it means diving into vendor code (I find this particularly useful for learning how things work under the hood). If I can’t find the issue myself, I’ll then ask an AI tool, such as Junie (the AI assistant built into PHPStorm) or ChatGPT. Finally, if neither of them can help me diagnose the issue, I’ll then Google the issue and see if I can find a solution that way on blog posts or videos.
It blows my mind how much my debugging workflow has changed and how much faster I can now diagnose issues compared to before AI tools were available. I’d make a guess that at least three-quarters of the bugs I encounter these days are solved by the AI tools, so I never even make it to the Google search stage.
I can’t give too many details, but I was recently trying to fix a tricky bug on a client’s application. I spent a bit of time trying to figure out what was causing it, but couldn’t seem to get to the bottom of it. So I asked Junie for help and explained what the problem was and what I expected the desired outcome to be. Within a minute or so, Junie had identified the root cause of the issue, written a full explanation of the problem (turns out it was some magic methods hidden deep in a third-party package that were interfering with the expected behaviour), and even provided a code snippet to fix the issue. I was blown away by how quickly it helped me diagnose and fix the problem.
I then tested the fix, and it worked perfectly. In fact, it was so perfect that when I opened the PR to fix the issue, I copied and pasted Junie's explanation because it was so clear and concise (don’t worry, I didn’t try to claim it as my own work!). I hadn’t written a single line of code to fix the issue myself. I still think that’s crazy!
Another great example of how I’ve used AI was when I was recently setting up some new app servers for my websites. I won’t bore you with the details, but I ran into a few issues related to Node and NPM versions. I explained the issue to ChatGPT, and after a bit of back-and-forth, it helped me solve the problems. It gave me the exact commands to write (including explanations of what each command did) to get everything working perfectly. Before you read that thinking “Ash, you shouldn’t be blindly copying and pasting commands from AI tools into your terminal”, don’t worry, I completely agree with you! I would have eventually figured out the commands myself if I’d written them manually, but ChatGPT just sped up the process for me. So they were completely safe.
Writing Articles and my Books
I tend to write my blog articles in PhpStorm, and I also wrote my three books (Battle Ready Laravel, Consuming APIs in Laravel, and The Web Dev's Guide to Freelancing) using it. Now, that might seem like a weird choice, but let me explain why.
The content of my articles and books is all written as Markdown files. I then copy the contents of the Markdown files into my blog’s backend or use external tools to convert them into PDFs and EPUBs for my books.
I start by writing my code examples, then add bullet points in each section outlining what I want to cover. Once I’ve got that rough outline, I go through the sections one by one and expand the bullet points to turn them into full paragraphs. This is the approach I’ve used for doing any writing, going all the way back to when I was 15-16 years old in school. It’s an approach that works well for me because it allows me to get my main talking points down quickly without getting bogged down in the details of writing full sentences and paragraphs.
However, I’ve found that AI tools have helped me improve this process even more. For example, let’s say I have a bullet point but don’t know how to turn it into a full sentence or paragraph (sometimes finding the right way to start a sentence is the hardest part!). Since I’m writing in PhpStorm, I can let Copilot auto-suggest the beginning of the sentence for me. For me, this is a huge win because it helps me overcome writer’s block and get the words flowing more easily.
By no means would I ever use it to write entire articles or books for myself. I still want to be the one writing the content because I want it to be my voice and my style. Heck, I feel like a “cheater” and a “fake” when I let it write just a couple of words to start a sentence. But having AI tools help me with the small bits of writing here and there (such as helping me to start a tricky sentence) has made the process much smoother and more enjoyable. This means I can produce more content in less time, which is a win-win for both my readers and me.
How My Job Might Change in 2026 and Beyond
As I said at the beginning of this article, my initial thoughts at the beginning of this year were ones of anxiety and fear about how AI might impact my job as a freelance web developer.
But after spending time reflecting on it, I’ve realised that AI is just another tool for me to use. I strongly believe that the type of work I do (or at least the workflow I use) will change significantly over the next few years as AI tools become more advanced and capable. And, to be honest, I find it quite exciting!
As a Freelance Web Developer
Whenever I speak to developers who were writing code in the early 2000s or late 90s, I hear things like “Back then, we had to do [SOMETHING SERIOUSLY LONG WINDED AND TEDIOUS] manually”. Then I’d reply saying, “Wow, that sounds awful! Now we can do it with a single line of code”.
I have a strong feeling that, in a few years' time, developers will be saying the same thing about AI. They’ll look back and think, “I can’t believe we used to write all that code ourselves manually. What a waste of time!”.
To what extent this will happen, I don’t know. Maybe I’ll continue using AI tools as an autocomplete tool, or maybe I’ll start using agents that can build entire features for me. But either way, I have a feeling that my role as a web developer is going to shift quite a bit.
Pricing My Work
As I’ve mentioned, I’ve already played around with using Junie for writing code and debugging issues, and it’s felt like it’s given me superpowers. I’ve been able to deliver features faster and fix bugs more quickly than ever before. This is absolutely fantastic for my clients and me because it means I can take on more work and deliver it faster.
But this introduces a minor business issue for me. At the time of writing this article, I charge £60/hour for any new freelancing work I take on. Let’s say, for example, that I could build a feature in 8 hours without AI assistance; that would cost the client £480. But if I use an AI agent to build the feature for me, and it only takes me 2 hours to review and test the code, that would only cost the client £120. This is a huge saving for the client (which is awesome for them!), but it also means that my revenue from that work has dropped significantly.
Every freelance developer hits these issues as they get more efficient at what they do. We raise our prices as we get faster over time to compensate for the fact that we spend less time doing the same amount of work. It’s actually something I talk about in the “How Much Should I Charge?” section of The Web Dev’s Guide to Freelancing, where I talk about making sure you get paid a fair amount. But with AI, the speed increases will be exponential. Rather than being able to build a feature twice as fast, I might be able to build it 4x or even 10x faster. Does this mean I’d need to increase my hourly rate to £600/hour to maintain the same revenue? Absolutely not, that’s crazy!
So this is where I’m probably going to need to rethink my pricing and business model. For long-term contracts where I’ve been hired to provide a given number of hours per week/month and pick issues/features off a Trello/Linear board to implement, I can likely continue charging by the hour. It just means I’ll get through the work faster than before and can move on to the next feature sooner. So nothing really changes there.
But for fixed-price projects, I might need to tweak my pricing strategy. Usually, I’d take a rough estimate of how long I think it will take me to build a feature, then multiply that by my hourly rate to get a fixed price for the client. I’ll then make any tweaks to the price based on the “value” that the work is providing for the client. We need to remember, when pricing, that we’re not just selling our time; we’re selling the value our work provides to the client.
But with AI assistance, since I’ll be building them faster than before, I might need to adjust how I price these types of projects. Maybe I’ll need to reduce the weight my time has in the overall price and increase the weight the value has. This way, even if I build the feature in a quarter of the time, I can still charge a fair price that reflects the value the feature provides to the client. You could argue that I should already be pricing this way in the first place, but it’s an approach that’s worked for me so far, so I haven’t felt the need to change it until now because it provides me with a predictable, consistent flow of work and income.
Switching from Code Writer to Code Reviewer
As I’ve already mentioned, AI tools can generate some pretty good code. But I’ve also seen it produce bloated, over-engineered code that needs significant refactoring. I’ve also seen it produce code that looks fine on the surface but misses some edge cases that could lead to bugs later. It’d be easy for someone to blindly accept the AI-generated code without fully reviewing it (or understanding what it’s doing) and miss these issues. But as an experienced developer, I know what to look for and can catch these issues before they reach production. And it’s easy to miss these types of edge cases when you’re reviewing AI-generated code because you’re not as deeply immersed in the problem as you would be if you were writing the code yourself.
I used Junie this week to generate the boilerplate code for a new feature I was building for a client’s project. It wrote 331 lines of code for me, and I’d say it got the feature 50% of the way there. I’d guess it saved me roughly 2-3 hours of development time. I then manually wrote the final 50% of the code and tweaked the generated code. I noticed that, of the 331 lines, around 40-50 were unnecessary and could be removed and simplified. These lines weren’t necessarily wrong, and they did achieve the desired outcome when run, but they were just completely overcomplicated. So if we were to imagine a scenario where we blindly accepted the suggestions, and we added 10 new features, that’d result in 400-500 unneeded lines of code. That’s extra code to maintain, extra code to write tests for, and extra code which could introduce potential bugs or vulnerabilities.
So I think the value I can provide is knowing how to use AI tools effectively. Mainly by knowing what to ask the AI, how to review the generated code and ensure that it actually meets the requirements without introducing bugs or security issues, and how to test the code properly to ensure that it works as expected.
For these reasons, I have a feeling my workflow will change over the coming years, from being a code writer to more of a code reviewer. I’ll still be writing some code myself and building features, but just nowhere near as much as I do now.
I don’t know if that’s a good thing or a bad thing. I really enjoy writing code and solving problems. It’s such a good feeling when I’ve been spending hours trying to get a particular feature working exactly how I want it, and then it finally starts working perfectly. It gives me a huge sense of satisfaction and feels like an achievement.
But I don’t get that same feeling when I’m generating code. Don’t get me wrong, I’m still absolutely amazed when Junie writes some code for me in minutes that would have taken me hours to build myself. But I don’t get that same sense of achievement because I didn’t actually write the code myself. The AI did that for me.
At the end of the day, though, my goal is to deliver value to my clients. If using AI tools helps me deliver features faster and more efficiently, then I’m all for it. Clients don’t care how the code gets written; they just care that it works and meets their needs.
I just hope that I don’t “forget” how to write code manually because I’m relying on AI tools too much. I want to make sure I still have the skills and knowledge to write code myself if needed. I have a feeling I might keep writing code manually for my open-source packages and personal projects just so I can keep my skills sharp.
Fixing AI-Generated Issues
Currently, I’m hired quite often by teams who get in touch and say, “We have a load of bugs in our code that we need fixing. Can you help?”. These are usually bugs introduced over years of development and that have built up over time. I then join the project and get to work with fixing the issues, writing tests, and improving the overall code quality.
I’m wondering whether AI will increase these types of enquiries for me. As I mentioned, it’s really easy to generate bad code if you don’t know what you’re looking for. So I wonder whether more projects will start to see an increase in bugs, issues, and spaghetti code because of poorly implemented AI-generated code. If this happens, I could see more teams reaching out to me to help them fix these issues.
Of course, this might not happen if the AI tools get better at generating high-quality code or fixing issues themselves. But I have a feeling that there will always be a need for experienced developers who can review and fix AI-generated code.
As a Content Creator
As I’ve mentioned, my workflow for solving issues has changed significantly because of AI tools. Blogs, videos, and Stack Overflow posts used to be my go-to resources for finding solutions to problems. But now, I turn to AI tools first because they can provide tailored solutions specific to my situation without leaving my IDE. And I suspect I’m not the only one doing this.
I’ve seen a huge decrease in the visitors to my blog over the past year or so. Of course, this could be down to many different factors, such as changes in search engine algorithms. But from reading online, it seems many other content creators are seeing similar drops in traffic. And the general consensus is that AI tools are a major reason.
So I think the type of content I create will need to change over the coming years. Rather than writing blog posts that provide solutions to specific problems, I might need to focus more on creating content that shows readers new things. For example, let’s say you want to add some JSON Web Tokens (JWT) to your application. You could likely ask an AI tool to generate the code for you. But to be able to ask the AI, you need to know in the first place that JWTs are even a thing. After all, you don’t know what you don’t know.
For this reason, I think my content will need to focus more on introducing readers to new concepts and ideas they might not have heard of before. Then they can take that knowledge and use AI tools to help them implement those concepts in their own projects. Or, maybe I’ll write more opinion pieces if that’s something that people find valuable.
Just like with code, I really enjoy writing articles and content, so even if the traffic completely dries up, I don’t think I’ll stop writing. I like writing about things I’ve just learnt so I can refer back to them later. I just might need to adjust my expectations about how much traffic my content will get in the future.
Final Thoughts
If you’ve made it this far, thank you for sticking with me and my rambling thoughts. I’d be really interested to hear your thoughts on how AI is going to impact your job in 2026 and beyond. Do you think it’s going to be a big change, or do you think things will stay relatively the same?
As I say, I’m by no means an expert on AI, so there might be things that I’ve missed or got wrong. But I wanted to make sure I jotted down my thoughts because I think 2026 is going to be a scary but exciting year for web developers like us.
Top comments (0)